Showing error 1190

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-ds3232.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 6303
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 29 "include/asm-generic/int-ll64.h"
  17typedef long long __s64;
  18#line 30 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long __u64;
  20#line 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 31 "include/asm-generic/posix_types.h"
  39typedef int __kernel_pid_t;
  40#line 52 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_uid32_t;
  42#line 53 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_gid32_t;
  44#line 75 "include/asm-generic/posix_types.h"
  45typedef __kernel_ulong_t __kernel_size_t;
  46#line 76 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_ssize_t;
  48#line 91 "include/asm-generic/posix_types.h"
  49typedef long long __kernel_loff_t;
  50#line 92 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_time_t;
  52#line 93 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_clock_t;
  54#line 94 "include/asm-generic/posix_types.h"
  55typedef int __kernel_timer_t;
  56#line 95 "include/asm-generic/posix_types.h"
  57typedef int __kernel_clockid_t;
  58#line 21 "include/linux/types.h"
  59typedef __u32 __kernel_dev_t;
  60#line 24 "include/linux/types.h"
  61typedef __kernel_dev_t dev_t;
  62#line 27 "include/linux/types.h"
  63typedef unsigned short umode_t;
  64#line 30 "include/linux/types.h"
  65typedef __kernel_pid_t pid_t;
  66#line 35 "include/linux/types.h"
  67typedef __kernel_clockid_t clockid_t;
  68#line 38 "include/linux/types.h"
  69typedef _Bool bool;
  70#line 40 "include/linux/types.h"
  71typedef __kernel_uid32_t uid_t;
  72#line 41 "include/linux/types.h"
  73typedef __kernel_gid32_t gid_t;
  74#line 54 "include/linux/types.h"
  75typedef __kernel_loff_t loff_t;
  76#line 63 "include/linux/types.h"
  77typedef __kernel_size_t size_t;
  78#line 68 "include/linux/types.h"
  79typedef __kernel_ssize_t ssize_t;
  80#line 78 "include/linux/types.h"
  81typedef __kernel_time_t time_t;
  82#line 111 "include/linux/types.h"
  83typedef __s32 int32_t;
  84#line 117 "include/linux/types.h"
  85typedef __u32 uint32_t;
  86#line 142 "include/linux/types.h"
  87typedef unsigned long sector_t;
  88#line 143 "include/linux/types.h"
  89typedef unsigned long blkcnt_t;
  90#line 202 "include/linux/types.h"
  91typedef unsigned int gfp_t;
  92#line 203 "include/linux/types.h"
  93typedef unsigned int fmode_t;
  94#line 221 "include/linux/types.h"
  95struct __anonstruct_atomic_t_6 {
  96   int counter ;
  97};
  98#line 221 "include/linux/types.h"
  99typedef struct __anonstruct_atomic_t_6 atomic_t;
 100#line 226 "include/linux/types.h"
 101struct __anonstruct_atomic64_t_7 {
 102   long counter ;
 103};
 104#line 226 "include/linux/types.h"
 105typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 106#line 227 "include/linux/types.h"
 107struct list_head {
 108   struct list_head *next ;
 109   struct list_head *prev ;
 110};
 111#line 232
 112struct hlist_node;
 113#line 232 "include/linux/types.h"
 114struct hlist_head {
 115   struct hlist_node *first ;
 116};
 117#line 236 "include/linux/types.h"
 118struct hlist_node {
 119   struct hlist_node *next ;
 120   struct hlist_node **pprev ;
 121};
 122#line 247 "include/linux/types.h"
 123struct rcu_head {
 124   struct rcu_head *next ;
 125   void (*func)(struct rcu_head * ) ;
 126};
 127#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 128struct module;
 129#line 55
 130struct module;
 131#line 146 "include/linux/init.h"
 132typedef void (*ctor_fn_t)(void);
 133#line 46 "include/linux/dynamic_debug.h"
 134struct device;
 135#line 46
 136struct device;
 137#line 57
 138struct completion;
 139#line 57
 140struct completion;
 141#line 58
 142struct pt_regs;
 143#line 58
 144struct pt_regs;
 145#line 348 "include/linux/kernel.h"
 146struct pid;
 147#line 348
 148struct pid;
 149#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 150struct timespec;
 151#line 112
 152struct timespec;
 153#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 154struct page;
 155#line 58
 156struct page;
 157#line 26 "include/asm-generic/getorder.h"
 158struct task_struct;
 159#line 26
 160struct task_struct;
 161#line 28
 162struct mm_struct;
 163#line 28
 164struct mm_struct;
 165#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 166struct pt_regs {
 167   unsigned long r15 ;
 168   unsigned long r14 ;
 169   unsigned long r13 ;
 170   unsigned long r12 ;
 171   unsigned long bp ;
 172   unsigned long bx ;
 173   unsigned long r11 ;
 174   unsigned long r10 ;
 175   unsigned long r9 ;
 176   unsigned long r8 ;
 177   unsigned long ax ;
 178   unsigned long cx ;
 179   unsigned long dx ;
 180   unsigned long si ;
 181   unsigned long di ;
 182   unsigned long orig_ax ;
 183   unsigned long ip ;
 184   unsigned long cs ;
 185   unsigned long flags ;
 186   unsigned long sp ;
 187   unsigned long ss ;
 188};
 189#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 190struct __anonstruct_ldv_2180_13 {
 191   unsigned int a ;
 192   unsigned int b ;
 193};
 194#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 195struct __anonstruct_ldv_2195_14 {
 196   u16 limit0 ;
 197   u16 base0 ;
 198   unsigned char base1 ;
 199   unsigned char type : 4 ;
 200   unsigned char s : 1 ;
 201   unsigned char dpl : 2 ;
 202   unsigned char p : 1 ;
 203   unsigned char limit : 4 ;
 204   unsigned char avl : 1 ;
 205   unsigned char l : 1 ;
 206   unsigned char d : 1 ;
 207   unsigned char g : 1 ;
 208   unsigned char base2 ;
 209};
 210#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 211union __anonunion_ldv_2196_12 {
 212   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 213   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 214};
 215#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 216struct desc_struct {
 217   union __anonunion_ldv_2196_12 ldv_2196 ;
 218};
 219#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 220typedef unsigned long pgdval_t;
 221#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 222typedef unsigned long pgprotval_t;
 223#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 224struct pgprot {
 225   pgprotval_t pgprot ;
 226};
 227#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 228typedef struct pgprot pgprot_t;
 229#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 230struct __anonstruct_pgd_t_16 {
 231   pgdval_t pgd ;
 232};
 233#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 234typedef struct __anonstruct_pgd_t_16 pgd_t;
 235#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 236typedef struct page *pgtable_t;
 237#line 290
 238struct file;
 239#line 290
 240struct file;
 241#line 305
 242struct seq_file;
 243#line 305
 244struct seq_file;
 245#line 337
 246struct thread_struct;
 247#line 337
 248struct thread_struct;
 249#line 339
 250struct cpumask;
 251#line 339
 252struct cpumask;
 253#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 254struct arch_spinlock;
 255#line 327
 256struct arch_spinlock;
 257#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 258struct kernel_vm86_regs {
 259   struct pt_regs pt ;
 260   unsigned short es ;
 261   unsigned short __esh ;
 262   unsigned short ds ;
 263   unsigned short __dsh ;
 264   unsigned short fs ;
 265   unsigned short __fsh ;
 266   unsigned short gs ;
 267   unsigned short __gsh ;
 268};
 269#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 270union __anonunion_ldv_2824_19 {
 271   struct pt_regs *regs ;
 272   struct kernel_vm86_regs *vm86 ;
 273};
 274#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 275struct math_emu_info {
 276   long ___orig_eip ;
 277   union __anonunion_ldv_2824_19 ldv_2824 ;
 278};
 279#line 306 "include/linux/bitmap.h"
 280struct bug_entry {
 281   int bug_addr_disp ;
 282   int file_disp ;
 283   unsigned short line ;
 284   unsigned short flags ;
 285};
 286#line 89 "include/linux/bug.h"
 287struct cpumask {
 288   unsigned long bits[64U] ;
 289};
 290#line 14 "include/linux/cpumask.h"
 291typedef struct cpumask cpumask_t;
 292#line 637 "include/linux/cpumask.h"
 293typedef struct cpumask *cpumask_var_t;
 294#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 295struct static_key;
 296#line 234
 297struct static_key;
 298#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 299struct seq_operations;
 300#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 301struct i387_fsave_struct {
 302   u32 cwd ;
 303   u32 swd ;
 304   u32 twd ;
 305   u32 fip ;
 306   u32 fcs ;
 307   u32 foo ;
 308   u32 fos ;
 309   u32 st_space[20U] ;
 310   u32 status ;
 311};
 312#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 313struct __anonstruct_ldv_5180_24 {
 314   u64 rip ;
 315   u64 rdp ;
 316};
 317#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 318struct __anonstruct_ldv_5186_25 {
 319   u32 fip ;
 320   u32 fcs ;
 321   u32 foo ;
 322   u32 fos ;
 323};
 324#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 325union __anonunion_ldv_5187_23 {
 326   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 327   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 328};
 329#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 330union __anonunion_ldv_5196_26 {
 331   u32 padding1[12U] ;
 332   u32 sw_reserved[12U] ;
 333};
 334#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335struct i387_fxsave_struct {
 336   u16 cwd ;
 337   u16 swd ;
 338   u16 twd ;
 339   u16 fop ;
 340   union __anonunion_ldv_5187_23 ldv_5187 ;
 341   u32 mxcsr ;
 342   u32 mxcsr_mask ;
 343   u32 st_space[32U] ;
 344   u32 xmm_space[64U] ;
 345   u32 padding[12U] ;
 346   union __anonunion_ldv_5196_26 ldv_5196 ;
 347};
 348#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 349struct i387_soft_struct {
 350   u32 cwd ;
 351   u32 swd ;
 352   u32 twd ;
 353   u32 fip ;
 354   u32 fcs ;
 355   u32 foo ;
 356   u32 fos ;
 357   u32 st_space[20U] ;
 358   u8 ftop ;
 359   u8 changed ;
 360   u8 lookahead ;
 361   u8 no_update ;
 362   u8 rm ;
 363   u8 alimit ;
 364   struct math_emu_info *info ;
 365   u32 entry_eip ;
 366};
 367#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 368struct ymmh_struct {
 369   u32 ymmh_space[64U] ;
 370};
 371#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 372struct xsave_hdr_struct {
 373   u64 xstate_bv ;
 374   u64 reserved1[2U] ;
 375   u64 reserved2[5U] ;
 376};
 377#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 378struct xsave_struct {
 379   struct i387_fxsave_struct i387 ;
 380   struct xsave_hdr_struct xsave_hdr ;
 381   struct ymmh_struct ymmh ;
 382};
 383#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384union thread_xstate {
 385   struct i387_fsave_struct fsave ;
 386   struct i387_fxsave_struct fxsave ;
 387   struct i387_soft_struct soft ;
 388   struct xsave_struct xsave ;
 389};
 390#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 391struct fpu {
 392   unsigned int last_cpu ;
 393   unsigned int has_fpu ;
 394   union thread_xstate *state ;
 395};
 396#line 433
 397struct kmem_cache;
 398#line 434
 399struct perf_event;
 400#line 434
 401struct perf_event;
 402#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 403struct thread_struct {
 404   struct desc_struct tls_array[3U] ;
 405   unsigned long sp0 ;
 406   unsigned long sp ;
 407   unsigned long usersp ;
 408   unsigned short es ;
 409   unsigned short ds ;
 410   unsigned short fsindex ;
 411   unsigned short gsindex ;
 412   unsigned long fs ;
 413   unsigned long gs ;
 414   struct perf_event *ptrace_bps[4U] ;
 415   unsigned long debugreg6 ;
 416   unsigned long ptrace_dr7 ;
 417   unsigned long cr2 ;
 418   unsigned long trap_nr ;
 419   unsigned long error_code ;
 420   struct fpu fpu ;
 421   unsigned long *io_bitmap_ptr ;
 422   unsigned long iopl ;
 423   unsigned int io_bitmap_max ;
 424};
 425#line 23 "include/asm-generic/atomic-long.h"
 426typedef atomic64_t atomic_long_t;
 427#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 428typedef u16 __ticket_t;
 429#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 430typedef u32 __ticketpair_t;
 431#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 432struct __raw_tickets {
 433   __ticket_t head ;
 434   __ticket_t tail ;
 435};
 436#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 437union __anonunion_ldv_5907_29 {
 438   __ticketpair_t head_tail ;
 439   struct __raw_tickets tickets ;
 440};
 441#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442struct arch_spinlock {
 443   union __anonunion_ldv_5907_29 ldv_5907 ;
 444};
 445#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 446typedef struct arch_spinlock arch_spinlock_t;
 447#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 448struct __anonstruct_ldv_5914_31 {
 449   u32 read ;
 450   s32 write ;
 451};
 452#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 453union __anonunion_arch_rwlock_t_30 {
 454   s64 lock ;
 455   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 456};
 457#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 458typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 459#line 34
 460struct lockdep_map;
 461#line 34
 462struct lockdep_map;
 463#line 55 "include/linux/debug_locks.h"
 464struct stack_trace {
 465   unsigned int nr_entries ;
 466   unsigned int max_entries ;
 467   unsigned long *entries ;
 468   int skip ;
 469};
 470#line 26 "include/linux/stacktrace.h"
 471struct lockdep_subclass_key {
 472   char __one_byte ;
 473};
 474#line 53 "include/linux/lockdep.h"
 475struct lock_class_key {
 476   struct lockdep_subclass_key subkeys[8U] ;
 477};
 478#line 59 "include/linux/lockdep.h"
 479struct lock_class {
 480   struct list_head hash_entry ;
 481   struct list_head lock_entry ;
 482   struct lockdep_subclass_key *key ;
 483   unsigned int subclass ;
 484   unsigned int dep_gen_id ;
 485   unsigned long usage_mask ;
 486   struct stack_trace usage_traces[13U] ;
 487   struct list_head locks_after ;
 488   struct list_head locks_before ;
 489   unsigned int version ;
 490   unsigned long ops ;
 491   char const   *name ;
 492   int name_version ;
 493   unsigned long contention_point[4U] ;
 494   unsigned long contending_point[4U] ;
 495};
 496#line 144 "include/linux/lockdep.h"
 497struct lockdep_map {
 498   struct lock_class_key *key ;
 499   struct lock_class *class_cache[2U] ;
 500   char const   *name ;
 501   int cpu ;
 502   unsigned long ip ;
 503};
 504#line 187 "include/linux/lockdep.h"
 505struct held_lock {
 506   u64 prev_chain_key ;
 507   unsigned long acquire_ip ;
 508   struct lockdep_map *instance ;
 509   struct lockdep_map *nest_lock ;
 510   u64 waittime_stamp ;
 511   u64 holdtime_stamp ;
 512   unsigned short class_idx : 13 ;
 513   unsigned char irq_context : 2 ;
 514   unsigned char trylock : 1 ;
 515   unsigned char read : 2 ;
 516   unsigned char check : 2 ;
 517   unsigned char hardirqs_off : 1 ;
 518   unsigned short references : 11 ;
 519};
 520#line 556 "include/linux/lockdep.h"
 521struct raw_spinlock {
 522   arch_spinlock_t raw_lock ;
 523   unsigned int magic ;
 524   unsigned int owner_cpu ;
 525   void *owner ;
 526   struct lockdep_map dep_map ;
 527};
 528#line 32 "include/linux/spinlock_types.h"
 529typedef struct raw_spinlock raw_spinlock_t;
 530#line 33 "include/linux/spinlock_types.h"
 531struct __anonstruct_ldv_6122_33 {
 532   u8 __padding[24U] ;
 533   struct lockdep_map dep_map ;
 534};
 535#line 33 "include/linux/spinlock_types.h"
 536union __anonunion_ldv_6123_32 {
 537   struct raw_spinlock rlock ;
 538   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 539};
 540#line 33 "include/linux/spinlock_types.h"
 541struct spinlock {
 542   union __anonunion_ldv_6123_32 ldv_6123 ;
 543};
 544#line 76 "include/linux/spinlock_types.h"
 545typedef struct spinlock spinlock_t;
 546#line 23 "include/linux/rwlock_types.h"
 547struct __anonstruct_rwlock_t_34 {
 548   arch_rwlock_t raw_lock ;
 549   unsigned int magic ;
 550   unsigned int owner_cpu ;
 551   void *owner ;
 552   struct lockdep_map dep_map ;
 553};
 554#line 23 "include/linux/rwlock_types.h"
 555typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 556#line 110 "include/linux/seqlock.h"
 557struct seqcount {
 558   unsigned int sequence ;
 559};
 560#line 121 "include/linux/seqlock.h"
 561typedef struct seqcount seqcount_t;
 562#line 254 "include/linux/seqlock.h"
 563struct timespec {
 564   __kernel_time_t tv_sec ;
 565   long tv_nsec ;
 566};
 567#line 286 "include/linux/time.h"
 568struct kstat {
 569   u64 ino ;
 570   dev_t dev ;
 571   umode_t mode ;
 572   unsigned int nlink ;
 573   uid_t uid ;
 574   gid_t gid ;
 575   dev_t rdev ;
 576   loff_t size ;
 577   struct timespec atime ;
 578   struct timespec mtime ;
 579   struct timespec ctime ;
 580   unsigned long blksize ;
 581   unsigned long long blocks ;
 582};
 583#line 48 "include/linux/wait.h"
 584struct __wait_queue_head {
 585   spinlock_t lock ;
 586   struct list_head task_list ;
 587};
 588#line 53 "include/linux/wait.h"
 589typedef struct __wait_queue_head wait_queue_head_t;
 590#line 98 "include/linux/nodemask.h"
 591struct __anonstruct_nodemask_t_36 {
 592   unsigned long bits[16U] ;
 593};
 594#line 98 "include/linux/nodemask.h"
 595typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 596#line 670 "include/linux/mmzone.h"
 597struct mutex {
 598   atomic_t count ;
 599   spinlock_t wait_lock ;
 600   struct list_head wait_list ;
 601   struct task_struct *owner ;
 602   char const   *name ;
 603   void *magic ;
 604   struct lockdep_map dep_map ;
 605};
 606#line 63 "include/linux/mutex.h"
 607struct mutex_waiter {
 608   struct list_head list ;
 609   struct task_struct *task ;
 610   void *magic ;
 611};
 612#line 171
 613struct rw_semaphore;
 614#line 171
 615struct rw_semaphore;
 616#line 172 "include/linux/mutex.h"
 617struct rw_semaphore {
 618   long count ;
 619   raw_spinlock_t wait_lock ;
 620   struct list_head wait_list ;
 621   struct lockdep_map dep_map ;
 622};
 623#line 128 "include/linux/rwsem.h"
 624struct completion {
 625   unsigned int done ;
 626   wait_queue_head_t wait ;
 627};
 628#line 312 "include/linux/jiffies.h"
 629union ktime {
 630   s64 tv64 ;
 631};
 632#line 59 "include/linux/ktime.h"
 633typedef union ktime ktime_t;
 634#line 341
 635struct tvec_base;
 636#line 341
 637struct tvec_base;
 638#line 342 "include/linux/ktime.h"
 639struct timer_list {
 640   struct list_head entry ;
 641   unsigned long expires ;
 642   struct tvec_base *base ;
 643   void (*function)(unsigned long  ) ;
 644   unsigned long data ;
 645   int slack ;
 646   int start_pid ;
 647   void *start_site ;
 648   char start_comm[16U] ;
 649   struct lockdep_map lockdep_map ;
 650};
 651#line 289 "include/linux/timer.h"
 652struct hrtimer;
 653#line 289
 654struct hrtimer;
 655#line 290
 656enum hrtimer_restart;
 657#line 302
 658struct work_struct;
 659#line 302
 660struct work_struct;
 661#line 45 "include/linux/workqueue.h"
 662struct work_struct {
 663   atomic_long_t data ;
 664   struct list_head entry ;
 665   void (*func)(struct work_struct * ) ;
 666   struct lockdep_map lockdep_map ;
 667};
 668#line 86 "include/linux/workqueue.h"
 669struct delayed_work {
 670   struct work_struct work ;
 671   struct timer_list timer ;
 672};
 673#line 46 "include/linux/pm.h"
 674struct pm_message {
 675   int event ;
 676};
 677#line 52 "include/linux/pm.h"
 678typedef struct pm_message pm_message_t;
 679#line 53 "include/linux/pm.h"
 680struct dev_pm_ops {
 681   int (*prepare)(struct device * ) ;
 682   void (*complete)(struct device * ) ;
 683   int (*suspend)(struct device * ) ;
 684   int (*resume)(struct device * ) ;
 685   int (*freeze)(struct device * ) ;
 686   int (*thaw)(struct device * ) ;
 687   int (*poweroff)(struct device * ) ;
 688   int (*restore)(struct device * ) ;
 689   int (*suspend_late)(struct device * ) ;
 690   int (*resume_early)(struct device * ) ;
 691   int (*freeze_late)(struct device * ) ;
 692   int (*thaw_early)(struct device * ) ;
 693   int (*poweroff_late)(struct device * ) ;
 694   int (*restore_early)(struct device * ) ;
 695   int (*suspend_noirq)(struct device * ) ;
 696   int (*resume_noirq)(struct device * ) ;
 697   int (*freeze_noirq)(struct device * ) ;
 698   int (*thaw_noirq)(struct device * ) ;
 699   int (*poweroff_noirq)(struct device * ) ;
 700   int (*restore_noirq)(struct device * ) ;
 701   int (*runtime_suspend)(struct device * ) ;
 702   int (*runtime_resume)(struct device * ) ;
 703   int (*runtime_idle)(struct device * ) ;
 704};
 705#line 289
 706enum rpm_status {
 707    RPM_ACTIVE = 0,
 708    RPM_RESUMING = 1,
 709    RPM_SUSPENDED = 2,
 710    RPM_SUSPENDING = 3
 711} ;
 712#line 296
 713enum rpm_request {
 714    RPM_REQ_NONE = 0,
 715    RPM_REQ_IDLE = 1,
 716    RPM_REQ_SUSPEND = 2,
 717    RPM_REQ_AUTOSUSPEND = 3,
 718    RPM_REQ_RESUME = 4
 719} ;
 720#line 304
 721struct wakeup_source;
 722#line 304
 723struct wakeup_source;
 724#line 494 "include/linux/pm.h"
 725struct pm_subsys_data {
 726   spinlock_t lock ;
 727   unsigned int refcount ;
 728};
 729#line 499
 730struct dev_pm_qos_request;
 731#line 499
 732struct pm_qos_constraints;
 733#line 499 "include/linux/pm.h"
 734struct dev_pm_info {
 735   pm_message_t power_state ;
 736   unsigned char can_wakeup : 1 ;
 737   unsigned char async_suspend : 1 ;
 738   bool is_prepared ;
 739   bool is_suspended ;
 740   bool ignore_children ;
 741   spinlock_t lock ;
 742   struct list_head entry ;
 743   struct completion completion ;
 744   struct wakeup_source *wakeup ;
 745   bool wakeup_path ;
 746   struct timer_list suspend_timer ;
 747   unsigned long timer_expires ;
 748   struct work_struct work ;
 749   wait_queue_head_t wait_queue ;
 750   atomic_t usage_count ;
 751   atomic_t child_count ;
 752   unsigned char disable_depth : 3 ;
 753   unsigned char idle_notification : 1 ;
 754   unsigned char request_pending : 1 ;
 755   unsigned char deferred_resume : 1 ;
 756   unsigned char run_wake : 1 ;
 757   unsigned char runtime_auto : 1 ;
 758   unsigned char no_callbacks : 1 ;
 759   unsigned char irq_safe : 1 ;
 760   unsigned char use_autosuspend : 1 ;
 761   unsigned char timer_autosuspends : 1 ;
 762   enum rpm_request request ;
 763   enum rpm_status runtime_status ;
 764   int runtime_error ;
 765   int autosuspend_delay ;
 766   unsigned long last_busy ;
 767   unsigned long active_jiffies ;
 768   unsigned long suspended_jiffies ;
 769   unsigned long accounting_timestamp ;
 770   ktime_t suspend_time ;
 771   s64 max_time_suspended_ns ;
 772   struct dev_pm_qos_request *pq_req ;
 773   struct pm_subsys_data *subsys_data ;
 774   struct pm_qos_constraints *constraints ;
 775};
 776#line 558 "include/linux/pm.h"
 777struct dev_pm_domain {
 778   struct dev_pm_ops ops ;
 779};
 780#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 781struct __anonstruct_mm_context_t_101 {
 782   void *ldt ;
 783   int size ;
 784   unsigned short ia32_compat ;
 785   struct mutex lock ;
 786   void *vdso ;
 787};
 788#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 789typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 790#line 18 "include/asm-generic/pci_iomap.h"
 791struct vm_area_struct;
 792#line 18
 793struct vm_area_struct;
 794#line 835 "include/linux/sysctl.h"
 795struct rb_node {
 796   unsigned long rb_parent_color ;
 797   struct rb_node *rb_right ;
 798   struct rb_node *rb_left ;
 799};
 800#line 108 "include/linux/rbtree.h"
 801struct rb_root {
 802   struct rb_node *rb_node ;
 803};
 804#line 176
 805struct nsproxy;
 806#line 176
 807struct nsproxy;
 808#line 37 "include/linux/kmod.h"
 809struct cred;
 810#line 37
 811struct cred;
 812#line 18 "include/linux/elf.h"
 813typedef __u64 Elf64_Addr;
 814#line 19 "include/linux/elf.h"
 815typedef __u16 Elf64_Half;
 816#line 23 "include/linux/elf.h"
 817typedef __u32 Elf64_Word;
 818#line 24 "include/linux/elf.h"
 819typedef __u64 Elf64_Xword;
 820#line 193 "include/linux/elf.h"
 821struct elf64_sym {
 822   Elf64_Word st_name ;
 823   unsigned char st_info ;
 824   unsigned char st_other ;
 825   Elf64_Half st_shndx ;
 826   Elf64_Addr st_value ;
 827   Elf64_Xword st_size ;
 828};
 829#line 201 "include/linux/elf.h"
 830typedef struct elf64_sym Elf64_Sym;
 831#line 445
 832struct sock;
 833#line 445
 834struct sock;
 835#line 446
 836struct kobject;
 837#line 446
 838struct kobject;
 839#line 447
 840enum kobj_ns_type {
 841    KOBJ_NS_TYPE_NONE = 0,
 842    KOBJ_NS_TYPE_NET = 1,
 843    KOBJ_NS_TYPES = 2
 844} ;
 845#line 453 "include/linux/elf.h"
 846struct kobj_ns_type_operations {
 847   enum kobj_ns_type type ;
 848   void *(*grab_current_ns)(void) ;
 849   void const   *(*netlink_ns)(struct sock * ) ;
 850   void const   *(*initial_ns)(void) ;
 851   void (*drop_ns)(void * ) ;
 852};
 853#line 57 "include/linux/kobject_ns.h"
 854struct attribute {
 855   char const   *name ;
 856   umode_t mode ;
 857   struct lock_class_key *key ;
 858   struct lock_class_key skey ;
 859};
 860#line 33 "include/linux/sysfs.h"
 861struct attribute_group {
 862   char const   *name ;
 863   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 864   struct attribute **attrs ;
 865};
 866#line 62 "include/linux/sysfs.h"
 867struct bin_attribute {
 868   struct attribute attr ;
 869   size_t size ;
 870   void *private ;
 871   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 872                   loff_t  , size_t  ) ;
 873   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 874                    loff_t  , size_t  ) ;
 875   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 876};
 877#line 98 "include/linux/sysfs.h"
 878struct sysfs_ops {
 879   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 880   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 881   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 882};
 883#line 117
 884struct sysfs_dirent;
 885#line 117
 886struct sysfs_dirent;
 887#line 182 "include/linux/sysfs.h"
 888struct kref {
 889   atomic_t refcount ;
 890};
 891#line 49 "include/linux/kobject.h"
 892struct kset;
 893#line 49
 894struct kobj_type;
 895#line 49 "include/linux/kobject.h"
 896struct kobject {
 897   char const   *name ;
 898   struct list_head entry ;
 899   struct kobject *parent ;
 900   struct kset *kset ;
 901   struct kobj_type *ktype ;
 902   struct sysfs_dirent *sd ;
 903   struct kref kref ;
 904   unsigned char state_initialized : 1 ;
 905   unsigned char state_in_sysfs : 1 ;
 906   unsigned char state_add_uevent_sent : 1 ;
 907   unsigned char state_remove_uevent_sent : 1 ;
 908   unsigned char uevent_suppress : 1 ;
 909};
 910#line 107 "include/linux/kobject.h"
 911struct kobj_type {
 912   void (*release)(struct kobject * ) ;
 913   struct sysfs_ops  const  *sysfs_ops ;
 914   struct attribute **default_attrs ;
 915   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 916   void const   *(*namespace)(struct kobject * ) ;
 917};
 918#line 115 "include/linux/kobject.h"
 919struct kobj_uevent_env {
 920   char *envp[32U] ;
 921   int envp_idx ;
 922   char buf[2048U] ;
 923   int buflen ;
 924};
 925#line 122 "include/linux/kobject.h"
 926struct kset_uevent_ops {
 927   int (* const  filter)(struct kset * , struct kobject * ) ;
 928   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 929   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 930};
 931#line 139 "include/linux/kobject.h"
 932struct kset {
 933   struct list_head list ;
 934   spinlock_t list_lock ;
 935   struct kobject kobj ;
 936   struct kset_uevent_ops  const  *uevent_ops ;
 937};
 938#line 215
 939struct kernel_param;
 940#line 215
 941struct kernel_param;
 942#line 216 "include/linux/kobject.h"
 943struct kernel_param_ops {
 944   int (*set)(char const   * , struct kernel_param  const  * ) ;
 945   int (*get)(char * , struct kernel_param  const  * ) ;
 946   void (*free)(void * ) ;
 947};
 948#line 49 "include/linux/moduleparam.h"
 949struct kparam_string;
 950#line 49
 951struct kparam_array;
 952#line 49 "include/linux/moduleparam.h"
 953union __anonunion_ldv_13363_134 {
 954   void *arg ;
 955   struct kparam_string  const  *str ;
 956   struct kparam_array  const  *arr ;
 957};
 958#line 49 "include/linux/moduleparam.h"
 959struct kernel_param {
 960   char const   *name ;
 961   struct kernel_param_ops  const  *ops ;
 962   u16 perm ;
 963   s16 level ;
 964   union __anonunion_ldv_13363_134 ldv_13363 ;
 965};
 966#line 61 "include/linux/moduleparam.h"
 967struct kparam_string {
 968   unsigned int maxlen ;
 969   char *string ;
 970};
 971#line 67 "include/linux/moduleparam.h"
 972struct kparam_array {
 973   unsigned int max ;
 974   unsigned int elemsize ;
 975   unsigned int *num ;
 976   struct kernel_param_ops  const  *ops ;
 977   void *elem ;
 978};
 979#line 458 "include/linux/moduleparam.h"
 980struct static_key {
 981   atomic_t enabled ;
 982};
 983#line 225 "include/linux/jump_label.h"
 984struct tracepoint;
 985#line 225
 986struct tracepoint;
 987#line 226 "include/linux/jump_label.h"
 988struct tracepoint_func {
 989   void *func ;
 990   void *data ;
 991};
 992#line 29 "include/linux/tracepoint.h"
 993struct tracepoint {
 994   char const   *name ;
 995   struct static_key key ;
 996   void (*regfunc)(void) ;
 997   void (*unregfunc)(void) ;
 998   struct tracepoint_func *funcs ;
 999};
1000#line 86 "include/linux/tracepoint.h"
1001struct kernel_symbol {
1002   unsigned long value ;
1003   char const   *name ;
1004};
1005#line 27 "include/linux/export.h"
1006struct mod_arch_specific {
1007
1008};
1009#line 34 "include/linux/module.h"
1010struct module_param_attrs;
1011#line 34 "include/linux/module.h"
1012struct module_kobject {
1013   struct kobject kobj ;
1014   struct module *mod ;
1015   struct kobject *drivers_dir ;
1016   struct module_param_attrs *mp ;
1017};
1018#line 43 "include/linux/module.h"
1019struct module_attribute {
1020   struct attribute attr ;
1021   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1022   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1023                    size_t  ) ;
1024   void (*setup)(struct module * , char const   * ) ;
1025   int (*test)(struct module * ) ;
1026   void (*free)(struct module * ) ;
1027};
1028#line 69
1029struct exception_table_entry;
1030#line 69
1031struct exception_table_entry;
1032#line 198
1033enum module_state {
1034    MODULE_STATE_LIVE = 0,
1035    MODULE_STATE_COMING = 1,
1036    MODULE_STATE_GOING = 2
1037} ;
1038#line 204 "include/linux/module.h"
1039struct module_ref {
1040   unsigned long incs ;
1041   unsigned long decs ;
1042};
1043#line 219
1044struct module_sect_attrs;
1045#line 219
1046struct module_notes_attrs;
1047#line 219
1048struct ftrace_event_call;
1049#line 219 "include/linux/module.h"
1050struct module {
1051   enum module_state state ;
1052   struct list_head list ;
1053   char name[56U] ;
1054   struct module_kobject mkobj ;
1055   struct module_attribute *modinfo_attrs ;
1056   char const   *version ;
1057   char const   *srcversion ;
1058   struct kobject *holders_dir ;
1059   struct kernel_symbol  const  *syms ;
1060   unsigned long const   *crcs ;
1061   unsigned int num_syms ;
1062   struct kernel_param *kp ;
1063   unsigned int num_kp ;
1064   unsigned int num_gpl_syms ;
1065   struct kernel_symbol  const  *gpl_syms ;
1066   unsigned long const   *gpl_crcs ;
1067   struct kernel_symbol  const  *unused_syms ;
1068   unsigned long const   *unused_crcs ;
1069   unsigned int num_unused_syms ;
1070   unsigned int num_unused_gpl_syms ;
1071   struct kernel_symbol  const  *unused_gpl_syms ;
1072   unsigned long const   *unused_gpl_crcs ;
1073   struct kernel_symbol  const  *gpl_future_syms ;
1074   unsigned long const   *gpl_future_crcs ;
1075   unsigned int num_gpl_future_syms ;
1076   unsigned int num_exentries ;
1077   struct exception_table_entry *extable ;
1078   int (*init)(void) ;
1079   void *module_init ;
1080   void *module_core ;
1081   unsigned int init_size ;
1082   unsigned int core_size ;
1083   unsigned int init_text_size ;
1084   unsigned int core_text_size ;
1085   unsigned int init_ro_size ;
1086   unsigned int core_ro_size ;
1087   struct mod_arch_specific arch ;
1088   unsigned int taints ;
1089   unsigned int num_bugs ;
1090   struct list_head bug_list ;
1091   struct bug_entry *bug_table ;
1092   Elf64_Sym *symtab ;
1093   Elf64_Sym *core_symtab ;
1094   unsigned int num_symtab ;
1095   unsigned int core_num_syms ;
1096   char *strtab ;
1097   char *core_strtab ;
1098   struct module_sect_attrs *sect_attrs ;
1099   struct module_notes_attrs *notes_attrs ;
1100   char *args ;
1101   void *percpu ;
1102   unsigned int percpu_size ;
1103   unsigned int num_tracepoints ;
1104   struct tracepoint * const  *tracepoints_ptrs ;
1105   unsigned int num_trace_bprintk_fmt ;
1106   char const   **trace_bprintk_fmt_start ;
1107   struct ftrace_event_call **trace_events ;
1108   unsigned int num_trace_events ;
1109   struct list_head source_list ;
1110   struct list_head target_list ;
1111   struct task_struct *waiter ;
1112   void (*exit)(void) ;
1113   struct module_ref *refptr ;
1114   ctor_fn_t (**ctors)(void) ;
1115   unsigned int num_ctors ;
1116};
1117#line 88 "include/linux/kmemleak.h"
1118struct kmem_cache_cpu {
1119   void **freelist ;
1120   unsigned long tid ;
1121   struct page *page ;
1122   struct page *partial ;
1123   int node ;
1124   unsigned int stat[26U] ;
1125};
1126#line 55 "include/linux/slub_def.h"
1127struct kmem_cache_node {
1128   spinlock_t list_lock ;
1129   unsigned long nr_partial ;
1130   struct list_head partial ;
1131   atomic_long_t nr_slabs ;
1132   atomic_long_t total_objects ;
1133   struct list_head full ;
1134};
1135#line 66 "include/linux/slub_def.h"
1136struct kmem_cache_order_objects {
1137   unsigned long x ;
1138};
1139#line 76 "include/linux/slub_def.h"
1140struct kmem_cache {
1141   struct kmem_cache_cpu *cpu_slab ;
1142   unsigned long flags ;
1143   unsigned long min_partial ;
1144   int size ;
1145   int objsize ;
1146   int offset ;
1147   int cpu_partial ;
1148   struct kmem_cache_order_objects oo ;
1149   struct kmem_cache_order_objects max ;
1150   struct kmem_cache_order_objects min ;
1151   gfp_t allocflags ;
1152   int refcount ;
1153   void (*ctor)(void * ) ;
1154   int inuse ;
1155   int align ;
1156   int reserved ;
1157   char const   *name ;
1158   struct list_head list ;
1159   struct kobject kobj ;
1160   int remote_node_defrag_ratio ;
1161   struct kmem_cache_node *node[1024U] ;
1162};
1163#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
1164enum irqreturn {
1165    IRQ_NONE = 0,
1166    IRQ_HANDLED = 1,
1167    IRQ_WAKE_THREAD = 2
1168} ;
1169#line 16 "include/linux/irqreturn.h"
1170typedef enum irqreturn irqreturn_t;
1171#line 348 "include/linux/irq.h"
1172struct proc_dir_entry;
1173#line 348
1174struct proc_dir_entry;
1175#line 41 "include/asm-generic/sections.h"
1176struct exception_table_entry {
1177   unsigned long insn ;
1178   unsigned long fixup ;
1179};
1180#line 189 "include/linux/hardirq.h"
1181struct timerqueue_node {
1182   struct rb_node node ;
1183   ktime_t expires ;
1184};
1185#line 12 "include/linux/timerqueue.h"
1186struct timerqueue_head {
1187   struct rb_root head ;
1188   struct timerqueue_node *next ;
1189};
1190#line 50
1191struct hrtimer_clock_base;
1192#line 50
1193struct hrtimer_clock_base;
1194#line 51
1195struct hrtimer_cpu_base;
1196#line 51
1197struct hrtimer_cpu_base;
1198#line 60
1199enum hrtimer_restart {
1200    HRTIMER_NORESTART = 0,
1201    HRTIMER_RESTART = 1
1202} ;
1203#line 65 "include/linux/timerqueue.h"
1204struct hrtimer {
1205   struct timerqueue_node node ;
1206   ktime_t _softexpires ;
1207   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1208   struct hrtimer_clock_base *base ;
1209   unsigned long state ;
1210   int start_pid ;
1211   void *start_site ;
1212   char start_comm[16U] ;
1213};
1214#line 132 "include/linux/hrtimer.h"
1215struct hrtimer_clock_base {
1216   struct hrtimer_cpu_base *cpu_base ;
1217   int index ;
1218   clockid_t clockid ;
1219   struct timerqueue_head active ;
1220   ktime_t resolution ;
1221   ktime_t (*get_time)(void) ;
1222   ktime_t softirq_time ;
1223   ktime_t offset ;
1224};
1225#line 162 "include/linux/hrtimer.h"
1226struct hrtimer_cpu_base {
1227   raw_spinlock_t lock ;
1228   unsigned long active_bases ;
1229   ktime_t expires_next ;
1230   int hres_active ;
1231   int hang_detected ;
1232   unsigned long nr_events ;
1233   unsigned long nr_retries ;
1234   unsigned long nr_hangs ;
1235   ktime_t max_hang_time ;
1236   struct hrtimer_clock_base clock_base[3U] ;
1237};
1238#line 12 "include/linux/mod_devicetable.h"
1239typedef unsigned long kernel_ulong_t;
1240#line 215 "include/linux/mod_devicetable.h"
1241struct of_device_id {
1242   char name[32U] ;
1243   char type[32U] ;
1244   char compatible[128U] ;
1245   void *data ;
1246};
1247#line 425 "include/linux/mod_devicetable.h"
1248struct i2c_device_id {
1249   char name[20U] ;
1250   kernel_ulong_t driver_data ;
1251};
1252#line 584
1253struct klist_node;
1254#line 584
1255struct klist_node;
1256#line 37 "include/linux/klist.h"
1257struct klist_node {
1258   void *n_klist ;
1259   struct list_head n_node ;
1260   struct kref n_ref ;
1261};
1262#line 67
1263struct dma_map_ops;
1264#line 67 "include/linux/klist.h"
1265struct dev_archdata {
1266   void *acpi_handle ;
1267   struct dma_map_ops *dma_ops ;
1268   void *iommu ;
1269};
1270#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1271struct device_private;
1272#line 17
1273struct device_private;
1274#line 18
1275struct device_driver;
1276#line 18
1277struct device_driver;
1278#line 19
1279struct driver_private;
1280#line 19
1281struct driver_private;
1282#line 20
1283struct class;
1284#line 20
1285struct class;
1286#line 21
1287struct subsys_private;
1288#line 21
1289struct subsys_private;
1290#line 22
1291struct bus_type;
1292#line 22
1293struct bus_type;
1294#line 23
1295struct device_node;
1296#line 23
1297struct device_node;
1298#line 24
1299struct iommu_ops;
1300#line 24
1301struct iommu_ops;
1302#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1303struct bus_attribute {
1304   struct attribute attr ;
1305   ssize_t (*show)(struct bus_type * , char * ) ;
1306   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1307};
1308#line 51 "include/linux/device.h"
1309struct device_attribute;
1310#line 51
1311struct driver_attribute;
1312#line 51 "include/linux/device.h"
1313struct bus_type {
1314   char const   *name ;
1315   char const   *dev_name ;
1316   struct device *dev_root ;
1317   struct bus_attribute *bus_attrs ;
1318   struct device_attribute *dev_attrs ;
1319   struct driver_attribute *drv_attrs ;
1320   int (*match)(struct device * , struct device_driver * ) ;
1321   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1322   int (*probe)(struct device * ) ;
1323   int (*remove)(struct device * ) ;
1324   void (*shutdown)(struct device * ) ;
1325   int (*suspend)(struct device * , pm_message_t  ) ;
1326   int (*resume)(struct device * ) ;
1327   struct dev_pm_ops  const  *pm ;
1328   struct iommu_ops *iommu_ops ;
1329   struct subsys_private *p ;
1330};
1331#line 125
1332struct device_type;
1333#line 182 "include/linux/device.h"
1334struct device_driver {
1335   char const   *name ;
1336   struct bus_type *bus ;
1337   struct module *owner ;
1338   char const   *mod_name ;
1339   bool suppress_bind_attrs ;
1340   struct of_device_id  const  *of_match_table ;
1341   int (*probe)(struct device * ) ;
1342   int (*remove)(struct device * ) ;
1343   void (*shutdown)(struct device * ) ;
1344   int (*suspend)(struct device * , pm_message_t  ) ;
1345   int (*resume)(struct device * ) ;
1346   struct attribute_group  const  **groups ;
1347   struct dev_pm_ops  const  *pm ;
1348   struct driver_private *p ;
1349};
1350#line 245 "include/linux/device.h"
1351struct driver_attribute {
1352   struct attribute attr ;
1353   ssize_t (*show)(struct device_driver * , char * ) ;
1354   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1355};
1356#line 299
1357struct class_attribute;
1358#line 299 "include/linux/device.h"
1359struct class {
1360   char const   *name ;
1361   struct module *owner ;
1362   struct class_attribute *class_attrs ;
1363   struct device_attribute *dev_attrs ;
1364   struct bin_attribute *dev_bin_attrs ;
1365   struct kobject *dev_kobj ;
1366   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1367   char *(*devnode)(struct device * , umode_t * ) ;
1368   void (*class_release)(struct class * ) ;
1369   void (*dev_release)(struct device * ) ;
1370   int (*suspend)(struct device * , pm_message_t  ) ;
1371   int (*resume)(struct device * ) ;
1372   struct kobj_ns_type_operations  const  *ns_type ;
1373   void const   *(*namespace)(struct device * ) ;
1374   struct dev_pm_ops  const  *pm ;
1375   struct subsys_private *p ;
1376};
1377#line 394 "include/linux/device.h"
1378struct class_attribute {
1379   struct attribute attr ;
1380   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1381   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1382   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1383};
1384#line 447 "include/linux/device.h"
1385struct device_type {
1386   char const   *name ;
1387   struct attribute_group  const  **groups ;
1388   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1389   char *(*devnode)(struct device * , umode_t * ) ;
1390   void (*release)(struct device * ) ;
1391   struct dev_pm_ops  const  *pm ;
1392};
1393#line 474 "include/linux/device.h"
1394struct device_attribute {
1395   struct attribute attr ;
1396   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1397   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1398                    size_t  ) ;
1399};
1400#line 557 "include/linux/device.h"
1401struct device_dma_parameters {
1402   unsigned int max_segment_size ;
1403   unsigned long segment_boundary_mask ;
1404};
1405#line 567
1406struct dma_coherent_mem;
1407#line 567 "include/linux/device.h"
1408struct device {
1409   struct device *parent ;
1410   struct device_private *p ;
1411   struct kobject kobj ;
1412   char const   *init_name ;
1413   struct device_type  const  *type ;
1414   struct mutex mutex ;
1415   struct bus_type *bus ;
1416   struct device_driver *driver ;
1417   void *platform_data ;
1418   struct dev_pm_info power ;
1419   struct dev_pm_domain *pm_domain ;
1420   int numa_node ;
1421   u64 *dma_mask ;
1422   u64 coherent_dma_mask ;
1423   struct device_dma_parameters *dma_parms ;
1424   struct list_head dma_pools ;
1425   struct dma_coherent_mem *dma_mem ;
1426   struct dev_archdata archdata ;
1427   struct device_node *of_node ;
1428   dev_t devt ;
1429   u32 id ;
1430   spinlock_t devres_lock ;
1431   struct list_head devres_head ;
1432   struct klist_node knode_class ;
1433   struct class *class ;
1434   struct attribute_group  const  **groups ;
1435   void (*release)(struct device * ) ;
1436};
1437#line 681 "include/linux/device.h"
1438struct wakeup_source {
1439   char const   *name ;
1440   struct list_head entry ;
1441   spinlock_t lock ;
1442   struct timer_list timer ;
1443   unsigned long timer_expires ;
1444   ktime_t total_time ;
1445   ktime_t max_time ;
1446   ktime_t last_time ;
1447   unsigned long event_count ;
1448   unsigned long active_count ;
1449   unsigned long relax_count ;
1450   unsigned long hit_count ;
1451   unsigned char active : 1 ;
1452};
1453#line 93 "include/linux/capability.h"
1454struct kernel_cap_struct {
1455   __u32 cap[2U] ;
1456};
1457#line 96 "include/linux/capability.h"
1458typedef struct kernel_cap_struct kernel_cap_t;
1459#line 104
1460struct dentry;
1461#line 104
1462struct dentry;
1463#line 105
1464struct user_namespace;
1465#line 105
1466struct user_namespace;
1467#line 554
1468struct prio_tree_node;
1469#line 554 "include/linux/capability.h"
1470struct raw_prio_tree_node {
1471   struct prio_tree_node *left ;
1472   struct prio_tree_node *right ;
1473   struct prio_tree_node *parent ;
1474};
1475#line 19 "include/linux/prio_tree.h"
1476struct prio_tree_node {
1477   struct prio_tree_node *left ;
1478   struct prio_tree_node *right ;
1479   struct prio_tree_node *parent ;
1480   unsigned long start ;
1481   unsigned long last ;
1482};
1483#line 27 "include/linux/prio_tree.h"
1484struct prio_tree_root {
1485   struct prio_tree_node *prio_tree_node ;
1486   unsigned short index_bits ;
1487   unsigned short raw ;
1488};
1489#line 116
1490struct address_space;
1491#line 116
1492struct address_space;
1493#line 117 "include/linux/prio_tree.h"
1494union __anonunion_ldv_16899_139 {
1495   unsigned long index ;
1496   void *freelist ;
1497};
1498#line 117 "include/linux/prio_tree.h"
1499struct __anonstruct_ldv_16909_143 {
1500   unsigned short inuse ;
1501   unsigned short objects : 15 ;
1502   unsigned char frozen : 1 ;
1503};
1504#line 117 "include/linux/prio_tree.h"
1505union __anonunion_ldv_16910_142 {
1506   atomic_t _mapcount ;
1507   struct __anonstruct_ldv_16909_143 ldv_16909 ;
1508};
1509#line 117 "include/linux/prio_tree.h"
1510struct __anonstruct_ldv_16912_141 {
1511   union __anonunion_ldv_16910_142 ldv_16910 ;
1512   atomic_t _count ;
1513};
1514#line 117 "include/linux/prio_tree.h"
1515union __anonunion_ldv_16913_140 {
1516   unsigned long counters ;
1517   struct __anonstruct_ldv_16912_141 ldv_16912 ;
1518};
1519#line 117 "include/linux/prio_tree.h"
1520struct __anonstruct_ldv_16914_138 {
1521   union __anonunion_ldv_16899_139 ldv_16899 ;
1522   union __anonunion_ldv_16913_140 ldv_16913 ;
1523};
1524#line 117 "include/linux/prio_tree.h"
1525struct __anonstruct_ldv_16921_145 {
1526   struct page *next ;
1527   int pages ;
1528   int pobjects ;
1529};
1530#line 117 "include/linux/prio_tree.h"
1531union __anonunion_ldv_16922_144 {
1532   struct list_head lru ;
1533   struct __anonstruct_ldv_16921_145 ldv_16921 ;
1534};
1535#line 117 "include/linux/prio_tree.h"
1536union __anonunion_ldv_16927_146 {
1537   unsigned long private ;
1538   struct kmem_cache *slab ;
1539   struct page *first_page ;
1540};
1541#line 117 "include/linux/prio_tree.h"
1542struct page {
1543   unsigned long flags ;
1544   struct address_space *mapping ;
1545   struct __anonstruct_ldv_16914_138 ldv_16914 ;
1546   union __anonunion_ldv_16922_144 ldv_16922 ;
1547   union __anonunion_ldv_16927_146 ldv_16927 ;
1548   unsigned long debug_flags ;
1549};
1550#line 192 "include/linux/mm_types.h"
1551struct __anonstruct_vm_set_148 {
1552   struct list_head list ;
1553   void *parent ;
1554   struct vm_area_struct *head ;
1555};
1556#line 192 "include/linux/mm_types.h"
1557union __anonunion_shared_147 {
1558   struct __anonstruct_vm_set_148 vm_set ;
1559   struct raw_prio_tree_node prio_tree_node ;
1560};
1561#line 192
1562struct anon_vma;
1563#line 192
1564struct vm_operations_struct;
1565#line 192
1566struct mempolicy;
1567#line 192 "include/linux/mm_types.h"
1568struct vm_area_struct {
1569   struct mm_struct *vm_mm ;
1570   unsigned long vm_start ;
1571   unsigned long vm_end ;
1572   struct vm_area_struct *vm_next ;
1573   struct vm_area_struct *vm_prev ;
1574   pgprot_t vm_page_prot ;
1575   unsigned long vm_flags ;
1576   struct rb_node vm_rb ;
1577   union __anonunion_shared_147 shared ;
1578   struct list_head anon_vma_chain ;
1579   struct anon_vma *anon_vma ;
1580   struct vm_operations_struct  const  *vm_ops ;
1581   unsigned long vm_pgoff ;
1582   struct file *vm_file ;
1583   void *vm_private_data ;
1584   struct mempolicy *vm_policy ;
1585};
1586#line 255 "include/linux/mm_types.h"
1587struct core_thread {
1588   struct task_struct *task ;
1589   struct core_thread *next ;
1590};
1591#line 261 "include/linux/mm_types.h"
1592struct core_state {
1593   atomic_t nr_threads ;
1594   struct core_thread dumper ;
1595   struct completion startup ;
1596};
1597#line 274 "include/linux/mm_types.h"
1598struct mm_rss_stat {
1599   atomic_long_t count[3U] ;
1600};
1601#line 287
1602struct linux_binfmt;
1603#line 287
1604struct mmu_notifier_mm;
1605#line 287 "include/linux/mm_types.h"
1606struct mm_struct {
1607   struct vm_area_struct *mmap ;
1608   struct rb_root mm_rb ;
1609   struct vm_area_struct *mmap_cache ;
1610   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1611                                      unsigned long  , unsigned long  ) ;
1612   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1613   unsigned long mmap_base ;
1614   unsigned long task_size ;
1615   unsigned long cached_hole_size ;
1616   unsigned long free_area_cache ;
1617   pgd_t *pgd ;
1618   atomic_t mm_users ;
1619   atomic_t mm_count ;
1620   int map_count ;
1621   spinlock_t page_table_lock ;
1622   struct rw_semaphore mmap_sem ;
1623   struct list_head mmlist ;
1624   unsigned long hiwater_rss ;
1625   unsigned long hiwater_vm ;
1626   unsigned long total_vm ;
1627   unsigned long locked_vm ;
1628   unsigned long pinned_vm ;
1629   unsigned long shared_vm ;
1630   unsigned long exec_vm ;
1631   unsigned long stack_vm ;
1632   unsigned long reserved_vm ;
1633   unsigned long def_flags ;
1634   unsigned long nr_ptes ;
1635   unsigned long start_code ;
1636   unsigned long end_code ;
1637   unsigned long start_data ;
1638   unsigned long end_data ;
1639   unsigned long start_brk ;
1640   unsigned long brk ;
1641   unsigned long start_stack ;
1642   unsigned long arg_start ;
1643   unsigned long arg_end ;
1644   unsigned long env_start ;
1645   unsigned long env_end ;
1646   unsigned long saved_auxv[44U] ;
1647   struct mm_rss_stat rss_stat ;
1648   struct linux_binfmt *binfmt ;
1649   cpumask_var_t cpu_vm_mask_var ;
1650   mm_context_t context ;
1651   unsigned int faultstamp ;
1652   unsigned int token_priority ;
1653   unsigned int last_interval ;
1654   unsigned long flags ;
1655   struct core_state *core_state ;
1656   spinlock_t ioctx_lock ;
1657   struct hlist_head ioctx_list ;
1658   struct task_struct *owner ;
1659   struct file *exe_file ;
1660   unsigned long num_exe_file_vmas ;
1661   struct mmu_notifier_mm *mmu_notifier_mm ;
1662   pgtable_t pmd_huge_pte ;
1663   struct cpumask cpumask_allocation ;
1664};
1665#line 7 "include/asm-generic/cputime.h"
1666typedef unsigned long cputime_t;
1667#line 98 "include/linux/sem.h"
1668struct sem_undo_list;
1669#line 98 "include/linux/sem.h"
1670struct sysv_sem {
1671   struct sem_undo_list *undo_list ;
1672};
1673#line 107
1674struct siginfo;
1675#line 107
1676struct siginfo;
1677#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1678struct __anonstruct_sigset_t_149 {
1679   unsigned long sig[1U] ;
1680};
1681#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1682typedef struct __anonstruct_sigset_t_149 sigset_t;
1683#line 17 "include/asm-generic/signal-defs.h"
1684typedef void __signalfn_t(int  );
1685#line 18 "include/asm-generic/signal-defs.h"
1686typedef __signalfn_t *__sighandler_t;
1687#line 20 "include/asm-generic/signal-defs.h"
1688typedef void __restorefn_t(void);
1689#line 21 "include/asm-generic/signal-defs.h"
1690typedef __restorefn_t *__sigrestore_t;
1691#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1692struct sigaction {
1693   __sighandler_t sa_handler ;
1694   unsigned long sa_flags ;
1695   __sigrestore_t sa_restorer ;
1696   sigset_t sa_mask ;
1697};
1698#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1699struct k_sigaction {
1700   struct sigaction sa ;
1701};
1702#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1703union sigval {
1704   int sival_int ;
1705   void *sival_ptr ;
1706};
1707#line 10 "include/asm-generic/siginfo.h"
1708typedef union sigval sigval_t;
1709#line 11 "include/asm-generic/siginfo.h"
1710struct __anonstruct__kill_151 {
1711   __kernel_pid_t _pid ;
1712   __kernel_uid32_t _uid ;
1713};
1714#line 11 "include/asm-generic/siginfo.h"
1715struct __anonstruct__timer_152 {
1716   __kernel_timer_t _tid ;
1717   int _overrun ;
1718   char _pad[0U] ;
1719   sigval_t _sigval ;
1720   int _sys_private ;
1721};
1722#line 11 "include/asm-generic/siginfo.h"
1723struct __anonstruct__rt_153 {
1724   __kernel_pid_t _pid ;
1725   __kernel_uid32_t _uid ;
1726   sigval_t _sigval ;
1727};
1728#line 11 "include/asm-generic/siginfo.h"
1729struct __anonstruct__sigchld_154 {
1730   __kernel_pid_t _pid ;
1731   __kernel_uid32_t _uid ;
1732   int _status ;
1733   __kernel_clock_t _utime ;
1734   __kernel_clock_t _stime ;
1735};
1736#line 11 "include/asm-generic/siginfo.h"
1737struct __anonstruct__sigfault_155 {
1738   void *_addr ;
1739   short _addr_lsb ;
1740};
1741#line 11 "include/asm-generic/siginfo.h"
1742struct __anonstruct__sigpoll_156 {
1743   long _band ;
1744   int _fd ;
1745};
1746#line 11 "include/asm-generic/siginfo.h"
1747union __anonunion__sifields_150 {
1748   int _pad[28U] ;
1749   struct __anonstruct__kill_151 _kill ;
1750   struct __anonstruct__timer_152 _timer ;
1751   struct __anonstruct__rt_153 _rt ;
1752   struct __anonstruct__sigchld_154 _sigchld ;
1753   struct __anonstruct__sigfault_155 _sigfault ;
1754   struct __anonstruct__sigpoll_156 _sigpoll ;
1755};
1756#line 11 "include/asm-generic/siginfo.h"
1757struct siginfo {
1758   int si_signo ;
1759   int si_errno ;
1760   int si_code ;
1761   union __anonunion__sifields_150 _sifields ;
1762};
1763#line 102 "include/asm-generic/siginfo.h"
1764typedef struct siginfo siginfo_t;
1765#line 14 "include/linux/signal.h"
1766struct user_struct;
1767#line 24 "include/linux/signal.h"
1768struct sigpending {
1769   struct list_head list ;
1770   sigset_t signal ;
1771};
1772#line 388
1773enum pid_type {
1774    PIDTYPE_PID = 0,
1775    PIDTYPE_PGID = 1,
1776    PIDTYPE_SID = 2,
1777    PIDTYPE_MAX = 3
1778} ;
1779#line 395
1780struct pid_namespace;
1781#line 395 "include/linux/signal.h"
1782struct upid {
1783   int nr ;
1784   struct pid_namespace *ns ;
1785   struct hlist_node pid_chain ;
1786};
1787#line 56 "include/linux/pid.h"
1788struct pid {
1789   atomic_t count ;
1790   unsigned int level ;
1791   struct hlist_head tasks[3U] ;
1792   struct rcu_head rcu ;
1793   struct upid numbers[1U] ;
1794};
1795#line 68 "include/linux/pid.h"
1796struct pid_link {
1797   struct hlist_node node ;
1798   struct pid *pid ;
1799};
1800#line 10 "include/linux/seccomp.h"
1801struct __anonstruct_seccomp_t_159 {
1802   int mode ;
1803};
1804#line 10 "include/linux/seccomp.h"
1805typedef struct __anonstruct_seccomp_t_159 seccomp_t;
1806#line 427 "include/linux/rculist.h"
1807struct plist_head {
1808   struct list_head node_list ;
1809};
1810#line 84 "include/linux/plist.h"
1811struct plist_node {
1812   int prio ;
1813   struct list_head prio_list ;
1814   struct list_head node_list ;
1815};
1816#line 20 "include/linux/rtmutex.h"
1817struct rt_mutex {
1818   raw_spinlock_t wait_lock ;
1819   struct plist_head wait_list ;
1820   struct task_struct *owner ;
1821   int save_state ;
1822   char const   *name ;
1823   char const   *file ;
1824   int line ;
1825   void *magic ;
1826};
1827#line 38
1828struct rt_mutex_waiter;
1829#line 38
1830struct rt_mutex_waiter;
1831#line 41 "include/linux/resource.h"
1832struct rlimit {
1833   unsigned long rlim_cur ;
1834   unsigned long rlim_max ;
1835};
1836#line 85 "include/linux/resource.h"
1837struct task_io_accounting {
1838   u64 rchar ;
1839   u64 wchar ;
1840   u64 syscr ;
1841   u64 syscw ;
1842   u64 read_bytes ;
1843   u64 write_bytes ;
1844   u64 cancelled_write_bytes ;
1845};
1846#line 45 "include/linux/task_io_accounting.h"
1847struct latency_record {
1848   unsigned long backtrace[12U] ;
1849   unsigned int count ;
1850   unsigned long time ;
1851   unsigned long max ;
1852};
1853#line 29 "include/linux/key.h"
1854typedef int32_t key_serial_t;
1855#line 32 "include/linux/key.h"
1856typedef uint32_t key_perm_t;
1857#line 33
1858struct key;
1859#line 33
1860struct key;
1861#line 34
1862struct signal_struct;
1863#line 34
1864struct signal_struct;
1865#line 35
1866struct key_type;
1867#line 35
1868struct key_type;
1869#line 37
1870struct keyring_list;
1871#line 37
1872struct keyring_list;
1873#line 115
1874struct key_user;
1875#line 115 "include/linux/key.h"
1876union __anonunion_ldv_17924_160 {
1877   time_t expiry ;
1878   time_t revoked_at ;
1879};
1880#line 115 "include/linux/key.h"
1881union __anonunion_type_data_161 {
1882   struct list_head link ;
1883   unsigned long x[2U] ;
1884   void *p[2U] ;
1885   int reject_error ;
1886};
1887#line 115 "include/linux/key.h"
1888union __anonunion_payload_162 {
1889   unsigned long value ;
1890   void *rcudata ;
1891   void *data ;
1892   struct keyring_list *subscriptions ;
1893};
1894#line 115 "include/linux/key.h"
1895struct key {
1896   atomic_t usage ;
1897   key_serial_t serial ;
1898   struct rb_node serial_node ;
1899   struct key_type *type ;
1900   struct rw_semaphore sem ;
1901   struct key_user *user ;
1902   void *security ;
1903   union __anonunion_ldv_17924_160 ldv_17924 ;
1904   uid_t uid ;
1905   gid_t gid ;
1906   key_perm_t perm ;
1907   unsigned short quotalen ;
1908   unsigned short datalen ;
1909   unsigned long flags ;
1910   char *description ;
1911   union __anonunion_type_data_161 type_data ;
1912   union __anonunion_payload_162 payload ;
1913};
1914#line 316
1915struct audit_context;
1916#line 316
1917struct audit_context;
1918#line 27 "include/linux/selinux.h"
1919struct inode;
1920#line 27
1921struct inode;
1922#line 28 "include/linux/selinux.h"
1923struct group_info {
1924   atomic_t usage ;
1925   int ngroups ;
1926   int nblocks ;
1927   gid_t small_block[32U] ;
1928   gid_t *blocks[0U] ;
1929};
1930#line 77 "include/linux/cred.h"
1931struct thread_group_cred {
1932   atomic_t usage ;
1933   pid_t tgid ;
1934   spinlock_t lock ;
1935   struct key *session_keyring ;
1936   struct key *process_keyring ;
1937   struct rcu_head rcu ;
1938};
1939#line 91 "include/linux/cred.h"
1940struct cred {
1941   atomic_t usage ;
1942   atomic_t subscribers ;
1943   void *put_addr ;
1944   unsigned int magic ;
1945   uid_t uid ;
1946   gid_t gid ;
1947   uid_t suid ;
1948   gid_t sgid ;
1949   uid_t euid ;
1950   gid_t egid ;
1951   uid_t fsuid ;
1952   gid_t fsgid ;
1953   unsigned int securebits ;
1954   kernel_cap_t cap_inheritable ;
1955   kernel_cap_t cap_permitted ;
1956   kernel_cap_t cap_effective ;
1957   kernel_cap_t cap_bset ;
1958   unsigned char jit_keyring ;
1959   struct key *thread_keyring ;
1960   struct key *request_key_auth ;
1961   struct thread_group_cred *tgcred ;
1962   void *security ;
1963   struct user_struct *user ;
1964   struct user_namespace *user_ns ;
1965   struct group_info *group_info ;
1966   struct rcu_head rcu ;
1967};
1968#line 264
1969struct llist_node;
1970#line 64 "include/linux/llist.h"
1971struct llist_node {
1972   struct llist_node *next ;
1973};
1974#line 185
1975struct futex_pi_state;
1976#line 185
1977struct futex_pi_state;
1978#line 186
1979struct robust_list_head;
1980#line 186
1981struct robust_list_head;
1982#line 187
1983struct bio_list;
1984#line 187
1985struct bio_list;
1986#line 188
1987struct fs_struct;
1988#line 188
1989struct fs_struct;
1990#line 189
1991struct perf_event_context;
1992#line 189
1993struct perf_event_context;
1994#line 190
1995struct blk_plug;
1996#line 190
1997struct blk_plug;
1998#line 149 "include/linux/sched.h"
1999struct cfs_rq;
2000#line 149
2001struct cfs_rq;
2002#line 44 "include/linux/aio_abi.h"
2003struct io_event {
2004   __u64 data ;
2005   __u64 obj ;
2006   __s64 res ;
2007   __s64 res2 ;
2008};
2009#line 106 "include/linux/aio_abi.h"
2010struct iovec {
2011   void *iov_base ;
2012   __kernel_size_t iov_len ;
2013};
2014#line 54 "include/linux/uio.h"
2015struct kioctx;
2016#line 54
2017struct kioctx;
2018#line 55 "include/linux/uio.h"
2019union __anonunion_ki_obj_163 {
2020   void *user ;
2021   struct task_struct *tsk ;
2022};
2023#line 55
2024struct eventfd_ctx;
2025#line 55 "include/linux/uio.h"
2026struct kiocb {
2027   struct list_head ki_run_list ;
2028   unsigned long ki_flags ;
2029   int ki_users ;
2030   unsigned int ki_key ;
2031   struct file *ki_filp ;
2032   struct kioctx *ki_ctx ;
2033   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2034   ssize_t (*ki_retry)(struct kiocb * ) ;
2035   void (*ki_dtor)(struct kiocb * ) ;
2036   union __anonunion_ki_obj_163 ki_obj ;
2037   __u64 ki_user_data ;
2038   loff_t ki_pos ;
2039   void *private ;
2040   unsigned short ki_opcode ;
2041   size_t ki_nbytes ;
2042   char *ki_buf ;
2043   size_t ki_left ;
2044   struct iovec ki_inline_vec ;
2045   struct iovec *ki_iovec ;
2046   unsigned long ki_nr_segs ;
2047   unsigned long ki_cur_seg ;
2048   struct list_head ki_list ;
2049   struct list_head ki_batch ;
2050   struct eventfd_ctx *ki_eventfd ;
2051};
2052#line 162 "include/linux/aio.h"
2053struct aio_ring_info {
2054   unsigned long mmap_base ;
2055   unsigned long mmap_size ;
2056   struct page **ring_pages ;
2057   spinlock_t ring_lock ;
2058   long nr_pages ;
2059   unsigned int nr ;
2060   unsigned int tail ;
2061   struct page *internal_pages[8U] ;
2062};
2063#line 178 "include/linux/aio.h"
2064struct kioctx {
2065   atomic_t users ;
2066   int dead ;
2067   struct mm_struct *mm ;
2068   unsigned long user_id ;
2069   struct hlist_node list ;
2070   wait_queue_head_t wait ;
2071   spinlock_t ctx_lock ;
2072   int reqs_active ;
2073   struct list_head active_reqs ;
2074   struct list_head run_list ;
2075   unsigned int max_reqs ;
2076   struct aio_ring_info ring_info ;
2077   struct delayed_work wq ;
2078   struct rcu_head rcu_head ;
2079};
2080#line 406 "include/linux/sched.h"
2081struct sighand_struct {
2082   atomic_t count ;
2083   struct k_sigaction action[64U] ;
2084   spinlock_t siglock ;
2085   wait_queue_head_t signalfd_wqh ;
2086};
2087#line 449 "include/linux/sched.h"
2088struct pacct_struct {
2089   int ac_flag ;
2090   long ac_exitcode ;
2091   unsigned long ac_mem ;
2092   cputime_t ac_utime ;
2093   cputime_t ac_stime ;
2094   unsigned long ac_minflt ;
2095   unsigned long ac_majflt ;
2096};
2097#line 457 "include/linux/sched.h"
2098struct cpu_itimer {
2099   cputime_t expires ;
2100   cputime_t incr ;
2101   u32 error ;
2102   u32 incr_error ;
2103};
2104#line 464 "include/linux/sched.h"
2105struct task_cputime {
2106   cputime_t utime ;
2107   cputime_t stime ;
2108   unsigned long long sum_exec_runtime ;
2109};
2110#line 481 "include/linux/sched.h"
2111struct thread_group_cputimer {
2112   struct task_cputime cputime ;
2113   int running ;
2114   raw_spinlock_t lock ;
2115};
2116#line 517
2117struct autogroup;
2118#line 517
2119struct autogroup;
2120#line 518
2121struct tty_struct;
2122#line 518
2123struct taskstats;
2124#line 518
2125struct tty_audit_buf;
2126#line 518 "include/linux/sched.h"
2127struct signal_struct {
2128   atomic_t sigcnt ;
2129   atomic_t live ;
2130   int nr_threads ;
2131   wait_queue_head_t wait_chldexit ;
2132   struct task_struct *curr_target ;
2133   struct sigpending shared_pending ;
2134   int group_exit_code ;
2135   int notify_count ;
2136   struct task_struct *group_exit_task ;
2137   int group_stop_count ;
2138   unsigned int flags ;
2139   unsigned char is_child_subreaper : 1 ;
2140   unsigned char has_child_subreaper : 1 ;
2141   struct list_head posix_timers ;
2142   struct hrtimer real_timer ;
2143   struct pid *leader_pid ;
2144   ktime_t it_real_incr ;
2145   struct cpu_itimer it[2U] ;
2146   struct thread_group_cputimer cputimer ;
2147   struct task_cputime cputime_expires ;
2148   struct list_head cpu_timers[3U] ;
2149   struct pid *tty_old_pgrp ;
2150   int leader ;
2151   struct tty_struct *tty ;
2152   struct autogroup *autogroup ;
2153   cputime_t utime ;
2154   cputime_t stime ;
2155   cputime_t cutime ;
2156   cputime_t cstime ;
2157   cputime_t gtime ;
2158   cputime_t cgtime ;
2159   cputime_t prev_utime ;
2160   cputime_t prev_stime ;
2161   unsigned long nvcsw ;
2162   unsigned long nivcsw ;
2163   unsigned long cnvcsw ;
2164   unsigned long cnivcsw ;
2165   unsigned long min_flt ;
2166   unsigned long maj_flt ;
2167   unsigned long cmin_flt ;
2168   unsigned long cmaj_flt ;
2169   unsigned long inblock ;
2170   unsigned long oublock ;
2171   unsigned long cinblock ;
2172   unsigned long coublock ;
2173   unsigned long maxrss ;
2174   unsigned long cmaxrss ;
2175   struct task_io_accounting ioac ;
2176   unsigned long long sum_sched_runtime ;
2177   struct rlimit rlim[16U] ;
2178   struct pacct_struct pacct ;
2179   struct taskstats *stats ;
2180   unsigned int audit_tty ;
2181   struct tty_audit_buf *tty_audit_buf ;
2182   struct rw_semaphore group_rwsem ;
2183   int oom_adj ;
2184   int oom_score_adj ;
2185   int oom_score_adj_min ;
2186   struct mutex cred_guard_mutex ;
2187};
2188#line 699 "include/linux/sched.h"
2189struct user_struct {
2190   atomic_t __count ;
2191   atomic_t processes ;
2192   atomic_t files ;
2193   atomic_t sigpending ;
2194   atomic_t inotify_watches ;
2195   atomic_t inotify_devs ;
2196   atomic_t fanotify_listeners ;
2197   atomic_long_t epoll_watches ;
2198   unsigned long mq_bytes ;
2199   unsigned long locked_shm ;
2200   struct key *uid_keyring ;
2201   struct key *session_keyring ;
2202   struct hlist_node uidhash_node ;
2203   uid_t uid ;
2204   struct user_namespace *user_ns ;
2205   atomic_long_t locked_vm ;
2206};
2207#line 744
2208struct backing_dev_info;
2209#line 744
2210struct backing_dev_info;
2211#line 745
2212struct reclaim_state;
2213#line 745
2214struct reclaim_state;
2215#line 746 "include/linux/sched.h"
2216struct sched_info {
2217   unsigned long pcount ;
2218   unsigned long long run_delay ;
2219   unsigned long long last_arrival ;
2220   unsigned long long last_queued ;
2221};
2222#line 760 "include/linux/sched.h"
2223struct task_delay_info {
2224   spinlock_t lock ;
2225   unsigned int flags ;
2226   struct timespec blkio_start ;
2227   struct timespec blkio_end ;
2228   u64 blkio_delay ;
2229   u64 swapin_delay ;
2230   u32 blkio_count ;
2231   u32 swapin_count ;
2232   struct timespec freepages_start ;
2233   struct timespec freepages_end ;
2234   u64 freepages_delay ;
2235   u32 freepages_count ;
2236};
2237#line 1069
2238struct io_context;
2239#line 1069
2240struct io_context;
2241#line 1097
2242struct pipe_inode_info;
2243#line 1097
2244struct pipe_inode_info;
2245#line 1099
2246struct rq;
2247#line 1099
2248struct rq;
2249#line 1100 "include/linux/sched.h"
2250struct sched_class {
2251   struct sched_class  const  *next ;
2252   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2253   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2254   void (*yield_task)(struct rq * ) ;
2255   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2256   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2257   struct task_struct *(*pick_next_task)(struct rq * ) ;
2258   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2259   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2260   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2261   void (*post_schedule)(struct rq * ) ;
2262   void (*task_waking)(struct task_struct * ) ;
2263   void (*task_woken)(struct rq * , struct task_struct * ) ;
2264   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2265   void (*rq_online)(struct rq * ) ;
2266   void (*rq_offline)(struct rq * ) ;
2267   void (*set_curr_task)(struct rq * ) ;
2268   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2269   void (*task_fork)(struct task_struct * ) ;
2270   void (*switched_from)(struct rq * , struct task_struct * ) ;
2271   void (*switched_to)(struct rq * , struct task_struct * ) ;
2272   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2273   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2274   void (*task_move_group)(struct task_struct * , int  ) ;
2275};
2276#line 1165 "include/linux/sched.h"
2277struct load_weight {
2278   unsigned long weight ;
2279   unsigned long inv_weight ;
2280};
2281#line 1170 "include/linux/sched.h"
2282struct sched_statistics {
2283   u64 wait_start ;
2284   u64 wait_max ;
2285   u64 wait_count ;
2286   u64 wait_sum ;
2287   u64 iowait_count ;
2288   u64 iowait_sum ;
2289   u64 sleep_start ;
2290   u64 sleep_max ;
2291   s64 sum_sleep_runtime ;
2292   u64 block_start ;
2293   u64 block_max ;
2294   u64 exec_max ;
2295   u64 slice_max ;
2296   u64 nr_migrations_cold ;
2297   u64 nr_failed_migrations_affine ;
2298   u64 nr_failed_migrations_running ;
2299   u64 nr_failed_migrations_hot ;
2300   u64 nr_forced_migrations ;
2301   u64 nr_wakeups ;
2302   u64 nr_wakeups_sync ;
2303   u64 nr_wakeups_migrate ;
2304   u64 nr_wakeups_local ;
2305   u64 nr_wakeups_remote ;
2306   u64 nr_wakeups_affine ;
2307   u64 nr_wakeups_affine_attempts ;
2308   u64 nr_wakeups_passive ;
2309   u64 nr_wakeups_idle ;
2310};
2311#line 1205 "include/linux/sched.h"
2312struct sched_entity {
2313   struct load_weight load ;
2314   struct rb_node run_node ;
2315   struct list_head group_node ;
2316   unsigned int on_rq ;
2317   u64 exec_start ;
2318   u64 sum_exec_runtime ;
2319   u64 vruntime ;
2320   u64 prev_sum_exec_runtime ;
2321   u64 nr_migrations ;
2322   struct sched_statistics statistics ;
2323   struct sched_entity *parent ;
2324   struct cfs_rq *cfs_rq ;
2325   struct cfs_rq *my_q ;
2326};
2327#line 1231
2328struct rt_rq;
2329#line 1231 "include/linux/sched.h"
2330struct sched_rt_entity {
2331   struct list_head run_list ;
2332   unsigned long timeout ;
2333   unsigned int time_slice ;
2334   int nr_cpus_allowed ;
2335   struct sched_rt_entity *back ;
2336   struct sched_rt_entity *parent ;
2337   struct rt_rq *rt_rq ;
2338   struct rt_rq *my_q ;
2339};
2340#line 1255
2341struct mem_cgroup;
2342#line 1255 "include/linux/sched.h"
2343struct memcg_batch_info {
2344   int do_batch ;
2345   struct mem_cgroup *memcg ;
2346   unsigned long nr_pages ;
2347   unsigned long memsw_nr_pages ;
2348};
2349#line 1616
2350struct files_struct;
2351#line 1616
2352struct css_set;
2353#line 1616
2354struct compat_robust_list_head;
2355#line 1616 "include/linux/sched.h"
2356struct task_struct {
2357   long volatile   state ;
2358   void *stack ;
2359   atomic_t usage ;
2360   unsigned int flags ;
2361   unsigned int ptrace ;
2362   struct llist_node wake_entry ;
2363   int on_cpu ;
2364   int on_rq ;
2365   int prio ;
2366   int static_prio ;
2367   int normal_prio ;
2368   unsigned int rt_priority ;
2369   struct sched_class  const  *sched_class ;
2370   struct sched_entity se ;
2371   struct sched_rt_entity rt ;
2372   struct hlist_head preempt_notifiers ;
2373   unsigned char fpu_counter ;
2374   unsigned int policy ;
2375   cpumask_t cpus_allowed ;
2376   struct sched_info sched_info ;
2377   struct list_head tasks ;
2378   struct plist_node pushable_tasks ;
2379   struct mm_struct *mm ;
2380   struct mm_struct *active_mm ;
2381   unsigned char brk_randomized : 1 ;
2382   int exit_state ;
2383   int exit_code ;
2384   int exit_signal ;
2385   int pdeath_signal ;
2386   unsigned int jobctl ;
2387   unsigned int personality ;
2388   unsigned char did_exec : 1 ;
2389   unsigned char in_execve : 1 ;
2390   unsigned char in_iowait : 1 ;
2391   unsigned char sched_reset_on_fork : 1 ;
2392   unsigned char sched_contributes_to_load : 1 ;
2393   unsigned char irq_thread : 1 ;
2394   pid_t pid ;
2395   pid_t tgid ;
2396   unsigned long stack_canary ;
2397   struct task_struct *real_parent ;
2398   struct task_struct *parent ;
2399   struct list_head children ;
2400   struct list_head sibling ;
2401   struct task_struct *group_leader ;
2402   struct list_head ptraced ;
2403   struct list_head ptrace_entry ;
2404   struct pid_link pids[3U] ;
2405   struct list_head thread_group ;
2406   struct completion *vfork_done ;
2407   int *set_child_tid ;
2408   int *clear_child_tid ;
2409   cputime_t utime ;
2410   cputime_t stime ;
2411   cputime_t utimescaled ;
2412   cputime_t stimescaled ;
2413   cputime_t gtime ;
2414   cputime_t prev_utime ;
2415   cputime_t prev_stime ;
2416   unsigned long nvcsw ;
2417   unsigned long nivcsw ;
2418   struct timespec start_time ;
2419   struct timespec real_start_time ;
2420   unsigned long min_flt ;
2421   unsigned long maj_flt ;
2422   struct task_cputime cputime_expires ;
2423   struct list_head cpu_timers[3U] ;
2424   struct cred  const  *real_cred ;
2425   struct cred  const  *cred ;
2426   struct cred *replacement_session_keyring ;
2427   char comm[16U] ;
2428   int link_count ;
2429   int total_link_count ;
2430   struct sysv_sem sysvsem ;
2431   unsigned long last_switch_count ;
2432   struct thread_struct thread ;
2433   struct fs_struct *fs ;
2434   struct files_struct *files ;
2435   struct nsproxy *nsproxy ;
2436   struct signal_struct *signal ;
2437   struct sighand_struct *sighand ;
2438   sigset_t blocked ;
2439   sigset_t real_blocked ;
2440   sigset_t saved_sigmask ;
2441   struct sigpending pending ;
2442   unsigned long sas_ss_sp ;
2443   size_t sas_ss_size ;
2444   int (*notifier)(void * ) ;
2445   void *notifier_data ;
2446   sigset_t *notifier_mask ;
2447   struct audit_context *audit_context ;
2448   uid_t loginuid ;
2449   unsigned int sessionid ;
2450   seccomp_t seccomp ;
2451   u32 parent_exec_id ;
2452   u32 self_exec_id ;
2453   spinlock_t alloc_lock ;
2454   raw_spinlock_t pi_lock ;
2455   struct plist_head pi_waiters ;
2456   struct rt_mutex_waiter *pi_blocked_on ;
2457   struct mutex_waiter *blocked_on ;
2458   unsigned int irq_events ;
2459   unsigned long hardirq_enable_ip ;
2460   unsigned long hardirq_disable_ip ;
2461   unsigned int hardirq_enable_event ;
2462   unsigned int hardirq_disable_event ;
2463   int hardirqs_enabled ;
2464   int hardirq_context ;
2465   unsigned long softirq_disable_ip ;
2466   unsigned long softirq_enable_ip ;
2467   unsigned int softirq_disable_event ;
2468   unsigned int softirq_enable_event ;
2469   int softirqs_enabled ;
2470   int softirq_context ;
2471   u64 curr_chain_key ;
2472   int lockdep_depth ;
2473   unsigned int lockdep_recursion ;
2474   struct held_lock held_locks[48U] ;
2475   gfp_t lockdep_reclaim_gfp ;
2476   void *journal_info ;
2477   struct bio_list *bio_list ;
2478   struct blk_plug *plug ;
2479   struct reclaim_state *reclaim_state ;
2480   struct backing_dev_info *backing_dev_info ;
2481   struct io_context *io_context ;
2482   unsigned long ptrace_message ;
2483   siginfo_t *last_siginfo ;
2484   struct task_io_accounting ioac ;
2485   u64 acct_rss_mem1 ;
2486   u64 acct_vm_mem1 ;
2487   cputime_t acct_timexpd ;
2488   nodemask_t mems_allowed ;
2489   seqcount_t mems_allowed_seq ;
2490   int cpuset_mem_spread_rotor ;
2491   int cpuset_slab_spread_rotor ;
2492   struct css_set *cgroups ;
2493   struct list_head cg_list ;
2494   struct robust_list_head *robust_list ;
2495   struct compat_robust_list_head *compat_robust_list ;
2496   struct list_head pi_state_list ;
2497   struct futex_pi_state *pi_state_cache ;
2498   struct perf_event_context *perf_event_ctxp[2U] ;
2499   struct mutex perf_event_mutex ;
2500   struct list_head perf_event_list ;
2501   struct mempolicy *mempolicy ;
2502   short il_next ;
2503   short pref_node_fork ;
2504   struct rcu_head rcu ;
2505   struct pipe_inode_info *splice_pipe ;
2506   struct task_delay_info *delays ;
2507   int make_it_fail ;
2508   int nr_dirtied ;
2509   int nr_dirtied_pause ;
2510   unsigned long dirty_paused_when ;
2511   int latency_record_count ;
2512   struct latency_record latency_record[32U] ;
2513   unsigned long timer_slack_ns ;
2514   unsigned long default_timer_slack_ns ;
2515   struct list_head *scm_work_list ;
2516   unsigned long trace ;
2517   unsigned long trace_recursion ;
2518   struct memcg_batch_info memcg_batch ;
2519   atomic_t ptrace_bp_refcnt ;
2520};
2521#line 28 "include/linux/of.h"
2522typedef u32 phandle;
2523#line 30 "include/linux/of.h"
2524struct property {
2525   char *name ;
2526   int length ;
2527   void *value ;
2528   struct property *next ;
2529   unsigned long _flags ;
2530   unsigned int unique_id ;
2531};
2532#line 39 "include/linux/of.h"
2533struct device_node {
2534   char const   *name ;
2535   char const   *type ;
2536   phandle phandle ;
2537   char *full_name ;
2538   struct property *properties ;
2539   struct property *deadprops ;
2540   struct device_node *parent ;
2541   struct device_node *child ;
2542   struct device_node *sibling ;
2543   struct device_node *next ;
2544   struct device_node *allnext ;
2545   struct proc_dir_entry *pde ;
2546   struct kref kref ;
2547   unsigned long _flags ;
2548   void *data ;
2549};
2550#line 41 "include/linux/i2c.h"
2551struct i2c_msg;
2552#line 41
2553struct i2c_msg;
2554#line 42
2555struct i2c_algorithm;
2556#line 42
2557struct i2c_algorithm;
2558#line 43
2559struct i2c_adapter;
2560#line 43
2561struct i2c_adapter;
2562#line 44
2563struct i2c_client;
2564#line 44
2565struct i2c_client;
2566#line 45
2567struct i2c_driver;
2568#line 45
2569struct i2c_driver;
2570#line 46
2571union i2c_smbus_data;
2572#line 46
2573union i2c_smbus_data;
2574#line 47
2575struct i2c_board_info;
2576#line 47
2577struct i2c_board_info;
2578#line 119 "include/linux/i2c.h"
2579struct i2c_driver {
2580   unsigned int class ;
2581   int (*attach_adapter)(struct i2c_adapter * ) ;
2582   int (*detach_adapter)(struct i2c_adapter * ) ;
2583   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
2584   int (*remove)(struct i2c_client * ) ;
2585   void (*shutdown)(struct i2c_client * ) ;
2586   int (*suspend)(struct i2c_client * , pm_message_t  ) ;
2587   int (*resume)(struct i2c_client * ) ;
2588   void (*alert)(struct i2c_client * , unsigned int  ) ;
2589   int (*command)(struct i2c_client * , unsigned int  , void * ) ;
2590   struct device_driver driver ;
2591   struct i2c_device_id  const  *id_table ;
2592   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2593   unsigned short const   *address_list ;
2594   struct list_head clients ;
2595};
2596#line 200 "include/linux/i2c.h"
2597struct i2c_client {
2598   unsigned short flags ;
2599   unsigned short addr ;
2600   char name[20U] ;
2601   struct i2c_adapter *adapter ;
2602   struct i2c_driver *driver ;
2603   struct device dev ;
2604   int irq ;
2605   struct list_head detected ;
2606};
2607#line 251 "include/linux/i2c.h"
2608struct i2c_board_info {
2609   char type[20U] ;
2610   unsigned short flags ;
2611   unsigned short addr ;
2612   void *platform_data ;
2613   struct dev_archdata *archdata ;
2614   struct device_node *of_node ;
2615   int irq ;
2616};
2617#line 336 "include/linux/i2c.h"
2618struct i2c_algorithm {
2619   int (*master_xfer)(struct i2c_adapter * , struct i2c_msg * , int  ) ;
2620   int (*smbus_xfer)(struct i2c_adapter * , u16  , unsigned short  , char  , u8  ,
2621                     int  , union i2c_smbus_data * ) ;
2622   u32 (*functionality)(struct i2c_adapter * ) ;
2623};
2624#line 368 "include/linux/i2c.h"
2625struct i2c_adapter {
2626   struct module *owner ;
2627   unsigned int class ;
2628   struct i2c_algorithm  const  *algo ;
2629   void *algo_data ;
2630   struct rt_mutex bus_lock ;
2631   int timeout ;
2632   int retries ;
2633   struct device dev ;
2634   int nr ;
2635   char name[48U] ;
2636   struct completion dev_released ;
2637   struct mutex userspace_clients_lock ;
2638   struct list_head userspace_clients ;
2639};
2640#line 486 "include/linux/i2c.h"
2641struct i2c_msg {
2642   __u16 addr ;
2643   __u16 flags ;
2644   __u16 len ;
2645   __u8 *buf ;
2646};
2647#line 551 "include/linux/i2c.h"
2648union i2c_smbus_data {
2649   __u8 byte ;
2650   __u16 word ;
2651   __u8 block[34U] ;
2652};
2653#line 601 "include/linux/i2c.h"
2654struct rtc_time {
2655   int tm_sec ;
2656   int tm_min ;
2657   int tm_hour ;
2658   int tm_mday ;
2659   int tm_mon ;
2660   int tm_year ;
2661   int tm_wday ;
2662   int tm_yday ;
2663   int tm_isdst ;
2664};
2665#line 31 "include/linux/rtc.h"
2666struct rtc_wkalrm {
2667   unsigned char enabled ;
2668   unsigned char pending ;
2669   struct rtc_time time ;
2670};
2671#line 115
2672struct path;
2673#line 115
2674struct path;
2675#line 116 "include/linux/rtc.h"
2676struct seq_file {
2677   char *buf ;
2678   size_t size ;
2679   size_t from ;
2680   size_t count ;
2681   loff_t index ;
2682   loff_t read_pos ;
2683   u64 version ;
2684   struct mutex lock ;
2685   struct seq_operations  const  *op ;
2686   int poll_event ;
2687   void *private ;
2688};
2689#line 30 "include/linux/seq_file.h"
2690struct seq_operations {
2691   void *(*start)(struct seq_file * , loff_t * ) ;
2692   void (*stop)(struct seq_file * , void * ) ;
2693   void *(*next)(struct seq_file * , void * , loff_t * ) ;
2694   int (*show)(struct seq_file * , void * ) ;
2695};
2696#line 89 "include/linux/kdev_t.h"
2697struct file_operations;
2698#line 89
2699struct file_operations;
2700#line 90 "include/linux/kdev_t.h"
2701struct cdev {
2702   struct kobject kobj ;
2703   struct module *owner ;
2704   struct file_operations  const  *ops ;
2705   struct list_head list ;
2706   dev_t dev ;
2707   unsigned int count ;
2708};
2709#line 41 "include/asm-generic/poll.h"
2710struct block_device;
2711#line 41
2712struct block_device;
2713#line 93 "include/linux/bit_spinlock.h"
2714struct hlist_bl_node;
2715#line 93 "include/linux/bit_spinlock.h"
2716struct hlist_bl_head {
2717   struct hlist_bl_node *first ;
2718};
2719#line 36 "include/linux/list_bl.h"
2720struct hlist_bl_node {
2721   struct hlist_bl_node *next ;
2722   struct hlist_bl_node **pprev ;
2723};
2724#line 114 "include/linux/rculist_bl.h"
2725struct nameidata;
2726#line 114
2727struct nameidata;
2728#line 115
2729struct vfsmount;
2730#line 115
2731struct vfsmount;
2732#line 116 "include/linux/rculist_bl.h"
2733struct qstr {
2734   unsigned int hash ;
2735   unsigned int len ;
2736   unsigned char const   *name ;
2737};
2738#line 72 "include/linux/dcache.h"
2739struct dentry_operations;
2740#line 72
2741struct super_block;
2742#line 72 "include/linux/dcache.h"
2743union __anonunion_d_u_165 {
2744   struct list_head d_child ;
2745   struct rcu_head d_rcu ;
2746};
2747#line 72 "include/linux/dcache.h"
2748struct dentry {
2749   unsigned int d_flags ;
2750   seqcount_t d_seq ;
2751   struct hlist_bl_node d_hash ;
2752   struct dentry *d_parent ;
2753   struct qstr d_name ;
2754   struct inode *d_inode ;
2755   unsigned char d_iname[32U] ;
2756   unsigned int d_count ;
2757   spinlock_t d_lock ;
2758   struct dentry_operations  const  *d_op ;
2759   struct super_block *d_sb ;
2760   unsigned long d_time ;
2761   void *d_fsdata ;
2762   struct list_head d_lru ;
2763   union __anonunion_d_u_165 d_u ;
2764   struct list_head d_subdirs ;
2765   struct list_head d_alias ;
2766};
2767#line 123 "include/linux/dcache.h"
2768struct dentry_operations {
2769   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2770   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2771   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2772                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2773   int (*d_delete)(struct dentry  const  * ) ;
2774   void (*d_release)(struct dentry * ) ;
2775   void (*d_prune)(struct dentry * ) ;
2776   void (*d_iput)(struct dentry * , struct inode * ) ;
2777   char *(*d_dname)(struct dentry * , char * , int  ) ;
2778   struct vfsmount *(*d_automount)(struct path * ) ;
2779   int (*d_manage)(struct dentry * , bool  ) ;
2780};
2781#line 402 "include/linux/dcache.h"
2782struct path {
2783   struct vfsmount *mnt ;
2784   struct dentry *dentry ;
2785};
2786#line 58 "include/linux/radix-tree.h"
2787struct radix_tree_node;
2788#line 58 "include/linux/radix-tree.h"
2789struct radix_tree_root {
2790   unsigned int height ;
2791   gfp_t gfp_mask ;
2792   struct radix_tree_node *rnode ;
2793};
2794#line 45 "include/linux/semaphore.h"
2795struct fiemap_extent {
2796   __u64 fe_logical ;
2797   __u64 fe_physical ;
2798   __u64 fe_length ;
2799   __u64 fe_reserved64[2U] ;
2800   __u32 fe_flags ;
2801   __u32 fe_reserved[3U] ;
2802};
2803#line 38 "include/linux/fiemap.h"
2804struct shrink_control {
2805   gfp_t gfp_mask ;
2806   unsigned long nr_to_scan ;
2807};
2808#line 14 "include/linux/shrinker.h"
2809struct shrinker {
2810   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
2811   int seeks ;
2812   long batch ;
2813   struct list_head list ;
2814   atomic_long_t nr_in_batch ;
2815};
2816#line 43
2817enum migrate_mode {
2818    MIGRATE_ASYNC = 0,
2819    MIGRATE_SYNC_LIGHT = 1,
2820    MIGRATE_SYNC = 2
2821} ;
2822#line 49
2823struct export_operations;
2824#line 49
2825struct export_operations;
2826#line 51
2827struct poll_table_struct;
2828#line 51
2829struct poll_table_struct;
2830#line 52
2831struct kstatfs;
2832#line 52
2833struct kstatfs;
2834#line 435 "include/linux/fs.h"
2835struct iattr {
2836   unsigned int ia_valid ;
2837   umode_t ia_mode ;
2838   uid_t ia_uid ;
2839   gid_t ia_gid ;
2840   loff_t ia_size ;
2841   struct timespec ia_atime ;
2842   struct timespec ia_mtime ;
2843   struct timespec ia_ctime ;
2844   struct file *ia_file ;
2845};
2846#line 119 "include/linux/quota.h"
2847struct if_dqinfo {
2848   __u64 dqi_bgrace ;
2849   __u64 dqi_igrace ;
2850   __u32 dqi_flags ;
2851   __u32 dqi_valid ;
2852};
2853#line 152 "include/linux/quota.h"
2854struct fs_disk_quota {
2855   __s8 d_version ;
2856   __s8 d_flags ;
2857   __u16 d_fieldmask ;
2858   __u32 d_id ;
2859   __u64 d_blk_hardlimit ;
2860   __u64 d_blk_softlimit ;
2861   __u64 d_ino_hardlimit ;
2862   __u64 d_ino_softlimit ;
2863   __u64 d_bcount ;
2864   __u64 d_icount ;
2865   __s32 d_itimer ;
2866   __s32 d_btimer ;
2867   __u16 d_iwarns ;
2868   __u16 d_bwarns ;
2869   __s32 d_padding2 ;
2870   __u64 d_rtb_hardlimit ;
2871   __u64 d_rtb_softlimit ;
2872   __u64 d_rtbcount ;
2873   __s32 d_rtbtimer ;
2874   __u16 d_rtbwarns ;
2875   __s16 d_padding3 ;
2876   char d_padding4[8U] ;
2877};
2878#line 75 "include/linux/dqblk_xfs.h"
2879struct fs_qfilestat {
2880   __u64 qfs_ino ;
2881   __u64 qfs_nblks ;
2882   __u32 qfs_nextents ;
2883};
2884#line 150 "include/linux/dqblk_xfs.h"
2885typedef struct fs_qfilestat fs_qfilestat_t;
2886#line 151 "include/linux/dqblk_xfs.h"
2887struct fs_quota_stat {
2888   __s8 qs_version ;
2889   __u16 qs_flags ;
2890   __s8 qs_pad ;
2891   fs_qfilestat_t qs_uquota ;
2892   fs_qfilestat_t qs_gquota ;
2893   __u32 qs_incoredqs ;
2894   __s32 qs_btimelimit ;
2895   __s32 qs_itimelimit ;
2896   __s32 qs_rtbtimelimit ;
2897   __u16 qs_bwarnlimit ;
2898   __u16 qs_iwarnlimit ;
2899};
2900#line 165
2901struct dquot;
2902#line 165
2903struct dquot;
2904#line 185 "include/linux/quota.h"
2905typedef __kernel_uid32_t qid_t;
2906#line 186 "include/linux/quota.h"
2907typedef long long qsize_t;
2908#line 189 "include/linux/quota.h"
2909struct mem_dqblk {
2910   qsize_t dqb_bhardlimit ;
2911   qsize_t dqb_bsoftlimit ;
2912   qsize_t dqb_curspace ;
2913   qsize_t dqb_rsvspace ;
2914   qsize_t dqb_ihardlimit ;
2915   qsize_t dqb_isoftlimit ;
2916   qsize_t dqb_curinodes ;
2917   time_t dqb_btime ;
2918   time_t dqb_itime ;
2919};
2920#line 211
2921struct quota_format_type;
2922#line 211
2923struct quota_format_type;
2924#line 212 "include/linux/quota.h"
2925struct mem_dqinfo {
2926   struct quota_format_type *dqi_format ;
2927   int dqi_fmt_id ;
2928   struct list_head dqi_dirty_list ;
2929   unsigned long dqi_flags ;
2930   unsigned int dqi_bgrace ;
2931   unsigned int dqi_igrace ;
2932   qsize_t dqi_maxblimit ;
2933   qsize_t dqi_maxilimit ;
2934   void *dqi_priv ;
2935};
2936#line 275 "include/linux/quota.h"
2937struct dquot {
2938   struct hlist_node dq_hash ;
2939   struct list_head dq_inuse ;
2940   struct list_head dq_free ;
2941   struct list_head dq_dirty ;
2942   struct mutex dq_lock ;
2943   atomic_t dq_count ;
2944   wait_queue_head_t dq_wait_unused ;
2945   struct super_block *dq_sb ;
2946   unsigned int dq_id ;
2947   loff_t dq_off ;
2948   unsigned long dq_flags ;
2949   short dq_type ;
2950   struct mem_dqblk dq_dqb ;
2951};
2952#line 303 "include/linux/quota.h"
2953struct quota_format_ops {
2954   int (*check_quota_file)(struct super_block * , int  ) ;
2955   int (*read_file_info)(struct super_block * , int  ) ;
2956   int (*write_file_info)(struct super_block * , int  ) ;
2957   int (*free_file_info)(struct super_block * , int  ) ;
2958   int (*read_dqblk)(struct dquot * ) ;
2959   int (*commit_dqblk)(struct dquot * ) ;
2960   int (*release_dqblk)(struct dquot * ) ;
2961};
2962#line 314 "include/linux/quota.h"
2963struct dquot_operations {
2964   int (*write_dquot)(struct dquot * ) ;
2965   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2966   void (*destroy_dquot)(struct dquot * ) ;
2967   int (*acquire_dquot)(struct dquot * ) ;
2968   int (*release_dquot)(struct dquot * ) ;
2969   int (*mark_dirty)(struct dquot * ) ;
2970   int (*write_info)(struct super_block * , int  ) ;
2971   qsize_t *(*get_reserved_space)(struct inode * ) ;
2972};
2973#line 328 "include/linux/quota.h"
2974struct quotactl_ops {
2975   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2976   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2977   int (*quota_off)(struct super_block * , int  ) ;
2978   int (*quota_sync)(struct super_block * , int  , int  ) ;
2979   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2980   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2981   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2982   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2983   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2984   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2985};
2986#line 344 "include/linux/quota.h"
2987struct quota_format_type {
2988   int qf_fmt_id ;
2989   struct quota_format_ops  const  *qf_ops ;
2990   struct module *qf_owner ;
2991   struct quota_format_type *qf_next ;
2992};
2993#line 390 "include/linux/quota.h"
2994struct quota_info {
2995   unsigned int flags ;
2996   struct mutex dqio_mutex ;
2997   struct mutex dqonoff_mutex ;
2998   struct rw_semaphore dqptr_sem ;
2999   struct inode *files[2U] ;
3000   struct mem_dqinfo info[2U] ;
3001   struct quota_format_ops  const  *ops[2U] ;
3002};
3003#line 421
3004struct writeback_control;
3005#line 421
3006struct writeback_control;
3007#line 585 "include/linux/fs.h"
3008union __anonunion_arg_167 {
3009   char *buf ;
3010   void *data ;
3011};
3012#line 585 "include/linux/fs.h"
3013struct __anonstruct_read_descriptor_t_166 {
3014   size_t written ;
3015   size_t count ;
3016   union __anonunion_arg_167 arg ;
3017   int error ;
3018};
3019#line 585 "include/linux/fs.h"
3020typedef struct __anonstruct_read_descriptor_t_166 read_descriptor_t;
3021#line 588 "include/linux/fs.h"
3022struct address_space_operations {
3023   int (*writepage)(struct page * , struct writeback_control * ) ;
3024   int (*readpage)(struct file * , struct page * ) ;
3025   int (*writepages)(struct address_space * , struct writeback_control * ) ;
3026   int (*set_page_dirty)(struct page * ) ;
3027   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
3028                    unsigned int  ) ;
3029   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
3030                      unsigned int  , struct page ** , void ** ) ;
3031   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
3032                    unsigned int  , struct page * , void * ) ;
3033   sector_t (*bmap)(struct address_space * , sector_t  ) ;
3034   void (*invalidatepage)(struct page * , unsigned long  ) ;
3035   int (*releasepage)(struct page * , gfp_t  ) ;
3036   void (*freepage)(struct page * ) ;
3037   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
3038                        unsigned long  ) ;
3039   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
3040   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
3041   int (*launder_page)(struct page * ) ;
3042   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
3043   int (*error_remove_page)(struct address_space * , struct page * ) ;
3044};
3045#line 642 "include/linux/fs.h"
3046struct address_space {
3047   struct inode *host ;
3048   struct radix_tree_root page_tree ;
3049   spinlock_t tree_lock ;
3050   unsigned int i_mmap_writable ;
3051   struct prio_tree_root i_mmap ;
3052   struct list_head i_mmap_nonlinear ;
3053   struct mutex i_mmap_mutex ;
3054   unsigned long nrpages ;
3055   unsigned long writeback_index ;
3056   struct address_space_operations  const  *a_ops ;
3057   unsigned long flags ;
3058   struct backing_dev_info *backing_dev_info ;
3059   spinlock_t private_lock ;
3060   struct list_head private_list ;
3061   struct address_space *assoc_mapping ;
3062};
3063#line 664
3064struct request_queue;
3065#line 664
3066struct request_queue;
3067#line 665
3068struct hd_struct;
3069#line 665
3070struct gendisk;
3071#line 665 "include/linux/fs.h"
3072struct block_device {
3073   dev_t bd_dev ;
3074   int bd_openers ;
3075   struct inode *bd_inode ;
3076   struct super_block *bd_super ;
3077   struct mutex bd_mutex ;
3078   struct list_head bd_inodes ;
3079   void *bd_claiming ;
3080   void *bd_holder ;
3081   int bd_holders ;
3082   bool bd_write_holder ;
3083   struct list_head bd_holder_disks ;
3084   struct block_device *bd_contains ;
3085   unsigned int bd_block_size ;
3086   struct hd_struct *bd_part ;
3087   unsigned int bd_part_count ;
3088   int bd_invalidated ;
3089   struct gendisk *bd_disk ;
3090   struct request_queue *bd_queue ;
3091   struct list_head bd_list ;
3092   unsigned long bd_private ;
3093   int bd_fsfreeze_count ;
3094   struct mutex bd_fsfreeze_mutex ;
3095};
3096#line 737
3097struct posix_acl;
3098#line 737
3099struct posix_acl;
3100#line 738
3101struct inode_operations;
3102#line 738 "include/linux/fs.h"
3103union __anonunion_ldv_21564_168 {
3104   unsigned int const   i_nlink ;
3105   unsigned int __i_nlink ;
3106};
3107#line 738 "include/linux/fs.h"
3108union __anonunion_ldv_21583_169 {
3109   struct list_head i_dentry ;
3110   struct rcu_head i_rcu ;
3111};
3112#line 738
3113struct file_lock;
3114#line 738 "include/linux/fs.h"
3115union __anonunion_ldv_21599_170 {
3116   struct pipe_inode_info *i_pipe ;
3117   struct block_device *i_bdev ;
3118   struct cdev *i_cdev ;
3119};
3120#line 738 "include/linux/fs.h"
3121struct inode {
3122   umode_t i_mode ;
3123   unsigned short i_opflags ;
3124   uid_t i_uid ;
3125   gid_t i_gid ;
3126   unsigned int i_flags ;
3127   struct posix_acl *i_acl ;
3128   struct posix_acl *i_default_acl ;
3129   struct inode_operations  const  *i_op ;
3130   struct super_block *i_sb ;
3131   struct address_space *i_mapping ;
3132   void *i_security ;
3133   unsigned long i_ino ;
3134   union __anonunion_ldv_21564_168 ldv_21564 ;
3135   dev_t i_rdev ;
3136   struct timespec i_atime ;
3137   struct timespec i_mtime ;
3138   struct timespec i_ctime ;
3139   spinlock_t i_lock ;
3140   unsigned short i_bytes ;
3141   blkcnt_t i_blocks ;
3142   loff_t i_size ;
3143   unsigned long i_state ;
3144   struct mutex i_mutex ;
3145   unsigned long dirtied_when ;
3146   struct hlist_node i_hash ;
3147   struct list_head i_wb_list ;
3148   struct list_head i_lru ;
3149   struct list_head i_sb_list ;
3150   union __anonunion_ldv_21583_169 ldv_21583 ;
3151   atomic_t i_count ;
3152   unsigned int i_blkbits ;
3153   u64 i_version ;
3154   atomic_t i_dio_count ;
3155   atomic_t i_writecount ;
3156   struct file_operations  const  *i_fop ;
3157   struct file_lock *i_flock ;
3158   struct address_space i_data ;
3159   struct dquot *i_dquot[2U] ;
3160   struct list_head i_devices ;
3161   union __anonunion_ldv_21599_170 ldv_21599 ;
3162   __u32 i_generation ;
3163   __u32 i_fsnotify_mask ;
3164   struct hlist_head i_fsnotify_marks ;
3165   atomic_t i_readcount ;
3166   void *i_private ;
3167};
3168#line 941 "include/linux/fs.h"
3169struct fown_struct {
3170   rwlock_t lock ;
3171   struct pid *pid ;
3172   enum pid_type pid_type ;
3173   uid_t uid ;
3174   uid_t euid ;
3175   int signum ;
3176};
3177#line 949 "include/linux/fs.h"
3178struct file_ra_state {
3179   unsigned long start ;
3180   unsigned int size ;
3181   unsigned int async_size ;
3182   unsigned int ra_pages ;
3183   unsigned int mmap_miss ;
3184   loff_t prev_pos ;
3185};
3186#line 972 "include/linux/fs.h"
3187union __anonunion_f_u_171 {
3188   struct list_head fu_list ;
3189   struct rcu_head fu_rcuhead ;
3190};
3191#line 972 "include/linux/fs.h"
3192struct file {
3193   union __anonunion_f_u_171 f_u ;
3194   struct path f_path ;
3195   struct file_operations  const  *f_op ;
3196   spinlock_t f_lock ;
3197   int f_sb_list_cpu ;
3198   atomic_long_t f_count ;
3199   unsigned int f_flags ;
3200   fmode_t f_mode ;
3201   loff_t f_pos ;
3202   struct fown_struct f_owner ;
3203   struct cred  const  *f_cred ;
3204   struct file_ra_state f_ra ;
3205   u64 f_version ;
3206   void *f_security ;
3207   void *private_data ;
3208   struct list_head f_ep_links ;
3209   struct list_head f_tfile_llink ;
3210   struct address_space *f_mapping ;
3211   unsigned long f_mnt_write_state ;
3212};
3213#line 1111 "include/linux/fs.h"
3214typedef struct files_struct *fl_owner_t;
3215#line 1112 "include/linux/fs.h"
3216struct file_lock_operations {
3217   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3218   void (*fl_release_private)(struct file_lock * ) ;
3219};
3220#line 1117 "include/linux/fs.h"
3221struct lock_manager_operations {
3222   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3223   void (*lm_notify)(struct file_lock * ) ;
3224   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
3225   void (*lm_release_private)(struct file_lock * ) ;
3226   void (*lm_break)(struct file_lock * ) ;
3227   int (*lm_change)(struct file_lock ** , int  ) ;
3228};
3229#line 1134
3230struct nlm_lockowner;
3231#line 1134
3232struct nlm_lockowner;
3233#line 1135 "include/linux/fs.h"
3234struct nfs_lock_info {
3235   u32 state ;
3236   struct nlm_lockowner *owner ;
3237   struct list_head list ;
3238};
3239#line 14 "include/linux/nfs_fs_i.h"
3240struct nfs4_lock_state;
3241#line 14
3242struct nfs4_lock_state;
3243#line 15 "include/linux/nfs_fs_i.h"
3244struct nfs4_lock_info {
3245   struct nfs4_lock_state *owner ;
3246};
3247#line 19
3248struct fasync_struct;
3249#line 19 "include/linux/nfs_fs_i.h"
3250struct __anonstruct_afs_173 {
3251   struct list_head link ;
3252   int state ;
3253};
3254#line 19 "include/linux/nfs_fs_i.h"
3255union __anonunion_fl_u_172 {
3256   struct nfs_lock_info nfs_fl ;
3257   struct nfs4_lock_info nfs4_fl ;
3258   struct __anonstruct_afs_173 afs ;
3259};
3260#line 19 "include/linux/nfs_fs_i.h"
3261struct file_lock {
3262   struct file_lock *fl_next ;
3263   struct list_head fl_link ;
3264   struct list_head fl_block ;
3265   fl_owner_t fl_owner ;
3266   unsigned int fl_flags ;
3267   unsigned char fl_type ;
3268   unsigned int fl_pid ;
3269   struct pid *fl_nspid ;
3270   wait_queue_head_t fl_wait ;
3271   struct file *fl_file ;
3272   loff_t fl_start ;
3273   loff_t fl_end ;
3274   struct fasync_struct *fl_fasync ;
3275   unsigned long fl_break_time ;
3276   unsigned long fl_downgrade_time ;
3277   struct file_lock_operations  const  *fl_ops ;
3278   struct lock_manager_operations  const  *fl_lmops ;
3279   union __anonunion_fl_u_172 fl_u ;
3280};
3281#line 1221 "include/linux/fs.h"
3282struct fasync_struct {
3283   spinlock_t fa_lock ;
3284   int magic ;
3285   int fa_fd ;
3286   struct fasync_struct *fa_next ;
3287   struct file *fa_file ;
3288   struct rcu_head fa_rcu ;
3289};
3290#line 1417
3291struct file_system_type;
3292#line 1417
3293struct super_operations;
3294#line 1417
3295struct xattr_handler;
3296#line 1417
3297struct mtd_info;
3298#line 1417 "include/linux/fs.h"
3299struct super_block {
3300   struct list_head s_list ;
3301   dev_t s_dev ;
3302   unsigned char s_dirt ;
3303   unsigned char s_blocksize_bits ;
3304   unsigned long s_blocksize ;
3305   loff_t s_maxbytes ;
3306   struct file_system_type *s_type ;
3307   struct super_operations  const  *s_op ;
3308   struct dquot_operations  const  *dq_op ;
3309   struct quotactl_ops  const  *s_qcop ;
3310   struct export_operations  const  *s_export_op ;
3311   unsigned long s_flags ;
3312   unsigned long s_magic ;
3313   struct dentry *s_root ;
3314   struct rw_semaphore s_umount ;
3315   struct mutex s_lock ;
3316   int s_count ;
3317   atomic_t s_active ;
3318   void *s_security ;
3319   struct xattr_handler  const  **s_xattr ;
3320   struct list_head s_inodes ;
3321   struct hlist_bl_head s_anon ;
3322   struct list_head *s_files ;
3323   struct list_head s_mounts ;
3324   struct list_head s_dentry_lru ;
3325   int s_nr_dentry_unused ;
3326   spinlock_t s_inode_lru_lock ;
3327   struct list_head s_inode_lru ;
3328   int s_nr_inodes_unused ;
3329   struct block_device *s_bdev ;
3330   struct backing_dev_info *s_bdi ;
3331   struct mtd_info *s_mtd ;
3332   struct hlist_node s_instances ;
3333   struct quota_info s_dquot ;
3334   int s_frozen ;
3335   wait_queue_head_t s_wait_unfrozen ;
3336   char s_id[32U] ;
3337   u8 s_uuid[16U] ;
3338   void *s_fs_info ;
3339   unsigned int s_max_links ;
3340   fmode_t s_mode ;
3341   u32 s_time_gran ;
3342   struct mutex s_vfs_rename_mutex ;
3343   char *s_subtype ;
3344   char *s_options ;
3345   struct dentry_operations  const  *s_d_op ;
3346   int cleancache_poolid ;
3347   struct shrinker s_shrink ;
3348   atomic_long_t s_remove_count ;
3349   int s_readonly_remount ;
3350};
3351#line 1563 "include/linux/fs.h"
3352struct fiemap_extent_info {
3353   unsigned int fi_flags ;
3354   unsigned int fi_extents_mapped ;
3355   unsigned int fi_extents_max ;
3356   struct fiemap_extent *fi_extents_start ;
3357};
3358#line 1602 "include/linux/fs.h"
3359struct file_operations {
3360   struct module *owner ;
3361   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
3362   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
3363   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
3364   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3365                       loff_t  ) ;
3366   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3367                        loff_t  ) ;
3368   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
3369                                                   loff_t  , u64  , unsigned int  ) ) ;
3370   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3371   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3372   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3373   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3374   int (*open)(struct inode * , struct file * ) ;
3375   int (*flush)(struct file * , fl_owner_t  ) ;
3376   int (*release)(struct inode * , struct file * ) ;
3377   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
3378   int (*aio_fsync)(struct kiocb * , int  ) ;
3379   int (*fasync)(int  , struct file * , int  ) ;
3380   int (*lock)(struct file * , int  , struct file_lock * ) ;
3381   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3382                       int  ) ;
3383   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3384                                      unsigned long  , unsigned long  ) ;
3385   int (*check_flags)(int  ) ;
3386   int (*flock)(struct file * , int  , struct file_lock * ) ;
3387   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3388                           unsigned int  ) ;
3389   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3390                          unsigned int  ) ;
3391   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3392   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
3393};
3394#line 1637 "include/linux/fs.h"
3395struct inode_operations {
3396   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3397   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3398   int (*permission)(struct inode * , int  ) ;
3399   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3400   int (*readlink)(struct dentry * , char * , int  ) ;
3401   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3402   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3403   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3404   int (*unlink)(struct inode * , struct dentry * ) ;
3405   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3406   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3407   int (*rmdir)(struct inode * , struct dentry * ) ;
3408   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3409   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3410   void (*truncate)(struct inode * ) ;
3411   int (*setattr)(struct dentry * , struct iattr * ) ;
3412   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3413   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3414   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3415   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3416   int (*removexattr)(struct dentry * , char const   * ) ;
3417   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3418   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
3419};
3420#line 1682 "include/linux/fs.h"
3421struct super_operations {
3422   struct inode *(*alloc_inode)(struct super_block * ) ;
3423   void (*destroy_inode)(struct inode * ) ;
3424   void (*dirty_inode)(struct inode * , int  ) ;
3425   int (*write_inode)(struct inode * , struct writeback_control * ) ;
3426   int (*drop_inode)(struct inode * ) ;
3427   void (*evict_inode)(struct inode * ) ;
3428   void (*put_super)(struct super_block * ) ;
3429   void (*write_super)(struct super_block * ) ;
3430   int (*sync_fs)(struct super_block * , int  ) ;
3431   int (*freeze_fs)(struct super_block * ) ;
3432   int (*unfreeze_fs)(struct super_block * ) ;
3433   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3434   int (*remount_fs)(struct super_block * , int * , char * ) ;
3435   void (*umount_begin)(struct super_block * ) ;
3436   int (*show_options)(struct seq_file * , struct dentry * ) ;
3437   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3438   int (*show_path)(struct seq_file * , struct dentry * ) ;
3439   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3440   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3441   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3442                          loff_t  ) ;
3443   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3444   int (*nr_cached_objects)(struct super_block * ) ;
3445   void (*free_cached_objects)(struct super_block * , int  ) ;
3446};
3447#line 1834 "include/linux/fs.h"
3448struct file_system_type {
3449   char const   *name ;
3450   int fs_flags ;
3451   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3452   void (*kill_sb)(struct super_block * ) ;
3453   struct module *owner ;
3454   struct file_system_type *next ;
3455   struct hlist_head fs_supers ;
3456   struct lock_class_key s_lock_key ;
3457   struct lock_class_key s_umount_key ;
3458   struct lock_class_key s_vfs_rename_key ;
3459   struct lock_class_key i_lock_key ;
3460   struct lock_class_key i_mutex_key ;
3461   struct lock_class_key i_mutex_dir_key ;
3462};
3463#line 34 "include/linux/poll.h"
3464struct poll_table_struct {
3465   void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
3466   unsigned long _key ;
3467};
3468#line 126 "include/linux/rtc.h"
3469struct rtc_class_ops {
3470   int (*open)(struct device * ) ;
3471   void (*release)(struct device * ) ;
3472   int (*ioctl)(struct device * , unsigned int  , unsigned long  ) ;
3473   int (*read_time)(struct device * , struct rtc_time * ) ;
3474   int (*set_time)(struct device * , struct rtc_time * ) ;
3475   int (*read_alarm)(struct device * , struct rtc_wkalrm * ) ;
3476   int (*set_alarm)(struct device * , struct rtc_wkalrm * ) ;
3477   int (*proc)(struct device * , struct seq_file * ) ;
3478   int (*set_mmss)(struct device * , unsigned long  ) ;
3479   int (*read_callback)(struct device * , int  ) ;
3480   int (*alarm_irq_enable)(struct device * , unsigned int  ) ;
3481};
3482#line 156 "include/linux/rtc.h"
3483struct rtc_task {
3484   void (*func)(void * ) ;
3485   void *private_data ;
3486};
3487#line 162 "include/linux/rtc.h"
3488struct rtc_timer {
3489   struct rtc_task task ;
3490   struct timerqueue_node node ;
3491   ktime_t period ;
3492   int enabled ;
3493};
3494#line 170 "include/linux/rtc.h"
3495struct rtc_device {
3496   struct device dev ;
3497   struct module *owner ;
3498   int id ;
3499   char name[20U] ;
3500   struct rtc_class_ops  const  *ops ;
3501   struct mutex ops_lock ;
3502   struct cdev char_dev ;
3503   unsigned long flags ;
3504   unsigned long irq_data ;
3505   spinlock_t irq_lock ;
3506   wait_queue_head_t irq_queue ;
3507   struct fasync_struct *async_queue ;
3508   struct rtc_task *irq_task ;
3509   spinlock_t irq_task_lock ;
3510   int irq_freq ;
3511   int max_user_freq ;
3512   struct timerqueue_head timerqueue ;
3513   struct rtc_timer aie_timer ;
3514   struct rtc_timer uie_rtctimer ;
3515   struct hrtimer pie_timer ;
3516   int pie_enabled ;
3517   struct work_struct irqwork ;
3518   int uie_unsupported ;
3519   struct work_struct uie_task ;
3520   struct timer_list uie_timer ;
3521   unsigned int oldsecs ;
3522   unsigned char uie_irq_active : 1 ;
3523   unsigned char stop_uie_polling : 1 ;
3524   unsigned char uie_task_active : 1 ;
3525   unsigned char uie_timer_active : 1 ;
3526};
3527#line 8 "include/linux/bcd.h"
3528struct ds3232 {
3529   struct i2c_client *client ;
3530   struct rtc_device *rtc ;
3531   struct work_struct work ;
3532   struct mutex mutex ;
3533   int exiting ;
3534};
3535#line 1 "<compiler builtins>"
3536long __builtin_expect(long  , long  ) ;
3537#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
3538void ldv_spin_lock(void) ;
3539#line 3
3540void ldv_spin_unlock(void) ;
3541#line 4
3542int ldv_spin_trylock(void) ;
3543#line 24 "include/linux/list.h"
3544__inline static void INIT_LIST_HEAD(struct list_head *list ) 
3545{ unsigned long __cil_tmp2 ;
3546  unsigned long __cil_tmp3 ;
3547
3548  {
3549#line 26
3550  *((struct list_head **)list) = list;
3551#line 27
3552  __cil_tmp2 = (unsigned long )list;
3553#line 27
3554  __cil_tmp3 = __cil_tmp2 + 8;
3555#line 27
3556  *((struct list_head **)__cil_tmp3) = list;
3557#line 28
3558  return;
3559}
3560}
3561#line 27 "include/linux/err.h"
3562__inline static long PTR_ERR(void const   *ptr ) 
3563{ 
3564
3565  {
3566#line 29
3567  return ((long )ptr);
3568}
3569}
3570#line 32 "include/linux/err.h"
3571__inline static long IS_ERR(void const   *ptr ) 
3572{ long tmp ;
3573  unsigned long __cil_tmp3 ;
3574  int __cil_tmp4 ;
3575  long __cil_tmp5 ;
3576
3577  {
3578  {
3579#line 34
3580  __cil_tmp3 = (unsigned long )ptr;
3581#line 34
3582  __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
3583#line 34
3584  __cil_tmp5 = (long )__cil_tmp4;
3585#line 34
3586  tmp = __builtin_expect(__cil_tmp5, 0L);
3587  }
3588#line 34
3589  return (tmp);
3590}
3591}
3592#line 261 "include/linux/lockdep.h"
3593extern void lockdep_init_map(struct lockdep_map * , char const   * , struct lock_class_key * ,
3594                             int  ) ;
3595#line 115 "include/linux/mutex.h"
3596extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
3597#line 134
3598extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
3599#line 169
3600extern void mutex_unlock(struct mutex * ) ;
3601#line 156 "include/linux/workqueue.h"
3602extern void __init_work(struct work_struct * , int  ) ;
3603#line 380
3604extern int schedule_work(struct work_struct * ) ;
3605#line 26 "include/linux/export.h"
3606extern struct module __this_module ;
3607#line 161 "include/linux/slab.h"
3608extern void kfree(void const   * ) ;
3609#line 220 "include/linux/slub_def.h"
3610extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
3611#line 223
3612void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3613#line 353 "include/linux/slab.h"
3614__inline static void *kzalloc(size_t size , gfp_t flags ) ;
3615#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
3616extern void *__VERIFIER_nondet_pointer(void) ;
3617#line 11
3618void ldv_check_alloc_flags(gfp_t flags ) ;
3619#line 12
3620void ldv_check_alloc_nonatomic(void) ;
3621#line 14
3622struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3623#line 127 "include/linux/interrupt.h"
3624extern int request_threaded_irq(unsigned int  , irqreturn_t (*)(int  , void * ) ,
3625                                irqreturn_t (*)(int  , void * ) , unsigned long  ,
3626                                char const   * , void * ) ;
3627#line 132 "include/linux/interrupt.h"
3628__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int  , void * ) ,
3629                                unsigned long flags , char const   *name , void *dev ) 
3630{ int tmp ;
3631  irqreturn_t (*__cil_tmp7)(int  , void * ) ;
3632
3633  {
3634  {
3635#line 135
3636  __cil_tmp7 = (irqreturn_t (*)(int  , void * ))0;
3637#line 135
3638  tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
3639  }
3640#line 135
3641  return (tmp);
3642}
3643}
3644#line 184
3645extern void free_irq(unsigned int  , void * ) ;
3646#line 223
3647extern void disable_irq_nosync(unsigned int  ) ;
3648#line 226
3649extern void enable_irq(unsigned int  ) ;
3650#line 792 "include/linux/device.h"
3651extern void *dev_get_drvdata(struct device  const  * ) ;
3652#line 793
3653extern int dev_set_drvdata(struct device * , void * ) ;
3654#line 892
3655extern int dev_err(struct device  const  * , char const   *  , ...) ;
3656#line 894
3657extern int dev_warn(struct device  const  * , char const   *  , ...) ;
3658#line 86 "include/linux/i2c.h"
3659extern s32 i2c_smbus_read_byte_data(struct i2c_client  const  * , u8  ) ;
3660#line 88
3661extern s32 i2c_smbus_write_byte_data(struct i2c_client  const  * , u8  , u8  ) ;
3662#line 116
3663extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client  const  * , u8  , u8  ,
3664                                         u8 * ) ;
3665#line 118
3666extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client  const  * , u8  , u8  ,
3667                                          u8 const   * ) ;
3668#line 242 "include/linux/i2c.h"
3669__inline static void *i2c_get_clientdata(struct i2c_client  const  *dev ) 
3670{ void *tmp ;
3671  unsigned long __cil_tmp3 ;
3672  unsigned long __cil_tmp4 ;
3673  struct device  const  *__cil_tmp5 ;
3674
3675  {
3676  {
3677#line 244
3678  __cil_tmp3 = (unsigned long )dev;
3679#line 244
3680  __cil_tmp4 = __cil_tmp3 + 40;
3681#line 244
3682  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
3683#line 244
3684  tmp = dev_get_drvdata(__cil_tmp5);
3685  }
3686#line 244
3687  return (tmp);
3688}
3689}
3690#line 247 "include/linux/i2c.h"
3691__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data ) 
3692{ unsigned long __cil_tmp3 ;
3693  unsigned long __cil_tmp4 ;
3694  struct device *__cil_tmp5 ;
3695
3696  {
3697  {
3698#line 249
3699  __cil_tmp3 = (unsigned long )dev;
3700#line 249
3701  __cil_tmp4 = __cil_tmp3 + 40;
3702#line 249
3703  __cil_tmp5 = (struct device *)__cil_tmp4;
3704#line 249
3705  dev_set_drvdata(__cil_tmp5, data);
3706  }
3707#line 250
3708  return;
3709}
3710}
3711#line 110 "include/linux/rtc.h"
3712extern int rtc_valid_tm(struct rtc_time * ) ;
3713#line 221
3714extern struct rtc_device *rtc_device_register(char const   * , struct device * , struct rtc_class_ops  const  * ,
3715                                              struct module * ) ;
3716#line 237
3717extern void rtc_update_irq(struct rtc_device * , unsigned long  , unsigned long  ) ;
3718#line 6 "include/linux/bcd.h"
3719extern unsigned int bcd2bin(unsigned char  ) ;
3720#line 7
3721extern unsigned char bin2bcd(unsigned int  ) ;
3722#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
3723static int ds3232_check_rtc_status(struct i2c_client *client ) 
3724{ int ret ;
3725  int control ;
3726  int stat ;
3727  s32 tmp ;
3728  struct i2c_client  const  *__cil_tmp6 ;
3729  u8 __cil_tmp7 ;
3730  int __cil_tmp8 ;
3731  unsigned long __cil_tmp9 ;
3732  unsigned long __cil_tmp10 ;
3733  struct device *__cil_tmp11 ;
3734  struct device  const  *__cil_tmp12 ;
3735  struct i2c_client  const  *__cil_tmp13 ;
3736  u8 __cil_tmp14 ;
3737  u8 __cil_tmp15 ;
3738  int __cil_tmp16 ;
3739  u8 __cil_tmp17 ;
3740  struct i2c_client  const  *__cil_tmp18 ;
3741  u8 __cil_tmp19 ;
3742  struct i2c_client  const  *__cil_tmp20 ;
3743  u8 __cil_tmp21 ;
3744  u8 __cil_tmp22 ;
3745  int __cil_tmp23 ;
3746  u8 __cil_tmp24 ;
3747
3748  {
3749  {
3750#line 82
3751  ret = 0;
3752#line 85
3753  __cil_tmp6 = (struct i2c_client  const  *)client;
3754#line 85
3755  __cil_tmp7 = (u8 )15;
3756#line 85
3757  stat = i2c_smbus_read_byte_data(__cil_tmp6, __cil_tmp7);
3758  }
3759#line 86
3760  if (stat < 0) {
3761#line 87
3762    return (stat);
3763  } else {
3764
3765  }
3766  {
3767#line 89
3768  __cil_tmp8 = stat & 128;
3769#line 89
3770  if (__cil_tmp8 != 0) {
3771    {
3772#line 90
3773    __cil_tmp9 = (unsigned long )client;
3774#line 90
3775    __cil_tmp10 = __cil_tmp9 + 40;
3776#line 90
3777    __cil_tmp11 = (struct device *)__cil_tmp10;
3778#line 90
3779    __cil_tmp12 = (struct device  const  *)__cil_tmp11;
3780#line 90
3781    dev_warn(__cil_tmp12, "oscillator discontinuity flagged, time unreliable\n");
3782    }
3783  } else {
3784
3785  }
3786  }
3787  {
3788#line 94
3789  stat = stat & -132;
3790#line 96
3791  __cil_tmp13 = (struct i2c_client  const  *)client;
3792#line 96
3793  __cil_tmp14 = (u8 )15;
3794#line 96
3795  __cil_tmp15 = (u8 )stat;
3796#line 96
3797  __cil_tmp16 = (int )__cil_tmp15;
3798#line 96
3799  __cil_tmp17 = (u8 )__cil_tmp16;
3800#line 96
3801  ret = i2c_smbus_write_byte_data(__cil_tmp13, __cil_tmp14, __cil_tmp17);
3802  }
3803#line 97
3804  if (ret < 0) {
3805#line 98
3806    return (ret);
3807  } else {
3808
3809  }
3810  {
3811#line 105
3812  __cil_tmp18 = (struct i2c_client  const  *)client;
3813#line 105
3814  __cil_tmp19 = (u8 )14;
3815#line 105
3816  control = i2c_smbus_read_byte_data(__cil_tmp18, __cil_tmp19);
3817  }
3818#line 106
3819  if (control < 0) {
3820#line 107
3821    return (control);
3822  } else {
3823
3824  }
3825  {
3826#line 109
3827  control = control & -4;
3828#line 110
3829  control = control | 4;
3830#line 112
3831  __cil_tmp20 = (struct i2c_client  const  *)client;
3832#line 112
3833  __cil_tmp21 = (u8 )14;
3834#line 112
3835  __cil_tmp22 = (u8 )control;
3836#line 112
3837  __cil_tmp23 = (int )__cil_tmp22;
3838#line 112
3839  __cil_tmp24 = (u8 )__cil_tmp23;
3840#line 112
3841  tmp = i2c_smbus_write_byte_data(__cil_tmp20, __cil_tmp21, __cil_tmp24);
3842  }
3843#line 112
3844  return (tmp);
3845}
3846}
3847#line 115 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
3848static int ds3232_read_time(struct device *dev , struct rtc_time *time ) 
3849{ struct i2c_client *client ;
3850  struct device  const  *__mptr ;
3851  int ret ;
3852  u8 buf[7U] ;
3853  unsigned int year ;
3854  unsigned int month ;
3855  unsigned int day ;
3856  unsigned int hour ;
3857  unsigned int minute ;
3858  unsigned int second ;
3859  unsigned int week ;
3860  unsigned int twelve_hr ;
3861  unsigned int am_pm ;
3862  unsigned int century ;
3863  unsigned int add_century ;
3864  unsigned int tmp ;
3865  unsigned int tmp___0 ;
3866  unsigned int tmp___1 ;
3867  unsigned int tmp___2 ;
3868  unsigned int tmp___3 ;
3869  unsigned int tmp___4 ;
3870  unsigned int tmp___5 ;
3871  unsigned int tmp___6 ;
3872  unsigned int tmp___7 ;
3873  int tmp___8 ;
3874  struct i2c_client *__cil_tmp28 ;
3875  struct i2c_client  const  *__cil_tmp29 ;
3876  u8 __cil_tmp30 ;
3877  u8 __cil_tmp31 ;
3878  u8 *__cil_tmp32 ;
3879  unsigned long __cil_tmp33 ;
3880  unsigned long __cil_tmp34 ;
3881  u8 __cil_tmp35 ;
3882  unsigned long __cil_tmp36 ;
3883  unsigned long __cil_tmp37 ;
3884  u8 __cil_tmp38 ;
3885  unsigned long __cil_tmp39 ;
3886  unsigned long __cil_tmp40 ;
3887  u8 __cil_tmp41 ;
3888  unsigned long __cil_tmp42 ;
3889  unsigned long __cil_tmp43 ;
3890  u8 __cil_tmp44 ;
3891  unsigned long __cil_tmp45 ;
3892  unsigned long __cil_tmp46 ;
3893  u8 __cil_tmp47 ;
3894  unsigned long __cil_tmp48 ;
3895  unsigned long __cil_tmp49 ;
3896  u8 __cil_tmp50 ;
3897  unsigned long __cil_tmp51 ;
3898  unsigned long __cil_tmp52 ;
3899  u8 __cil_tmp53 ;
3900  unsigned char __cil_tmp54 ;
3901  int __cil_tmp55 ;
3902  unsigned char __cil_tmp56 ;
3903  unsigned char __cil_tmp57 ;
3904  int __cil_tmp58 ;
3905  unsigned char __cil_tmp59 ;
3906  unsigned long __cil_tmp60 ;
3907  unsigned long __cil_tmp61 ;
3908  unsigned char __cil_tmp62 ;
3909  int __cil_tmp63 ;
3910  int __cil_tmp64 ;
3911  unsigned char __cil_tmp65 ;
3912  unsigned long __cil_tmp66 ;
3913  unsigned long __cil_tmp67 ;
3914  unsigned int __cil_tmp68 ;
3915  unsigned char __cil_tmp69 ;
3916  int __cil_tmp70 ;
3917  int __cil_tmp71 ;
3918  unsigned char __cil_tmp72 ;
3919  unsigned long __cil_tmp73 ;
3920  unsigned long __cil_tmp74 ;
3921  unsigned char __cil_tmp75 ;
3922  int __cil_tmp76 ;
3923  unsigned char __cil_tmp77 ;
3924  unsigned long __cil_tmp78 ;
3925  unsigned long __cil_tmp79 ;
3926  unsigned char __cil_tmp80 ;
3927  int __cil_tmp81 ;
3928  unsigned char __cil_tmp82 ;
3929  unsigned long __cil_tmp83 ;
3930  unsigned long __cil_tmp84 ;
3931  unsigned int __cil_tmp85 ;
3932  unsigned char __cil_tmp86 ;
3933  int __cil_tmp87 ;
3934  unsigned char __cil_tmp88 ;
3935  unsigned long __cil_tmp89 ;
3936  unsigned long __cil_tmp90 ;
3937  unsigned char __cil_tmp91 ;
3938  int __cil_tmp92 ;
3939  int __cil_tmp93 ;
3940  unsigned char __cil_tmp94 ;
3941  unsigned long __cil_tmp95 ;
3942  unsigned long __cil_tmp96 ;
3943  unsigned int __cil_tmp97 ;
3944  unsigned char __cil_tmp98 ;
3945  int __cil_tmp99 ;
3946  unsigned char __cil_tmp100 ;
3947  unsigned long __cil_tmp101 ;
3948  unsigned long __cil_tmp102 ;
3949  unsigned int __cil_tmp103 ;
3950
3951  {
3952  {
3953#line 117
3954  __mptr = (struct device  const  *)dev;
3955#line 117
3956  __cil_tmp28 = (struct i2c_client *)__mptr;
3957#line 117
3958  client = __cil_tmp28 + 0xffffffffffffffd8UL;
3959#line 122
3960  add_century = 0U;
3961#line 124
3962  __cil_tmp29 = (struct i2c_client  const  *)client;
3963#line 124
3964  __cil_tmp30 = (u8 )0;
3965#line 124
3966  __cil_tmp31 = (u8 )7;
3967#line 124
3968  __cil_tmp32 = (u8 *)(& buf);
3969#line 124
3970  ret = i2c_smbus_read_i2c_block_data(__cil_tmp29, __cil_tmp30, __cil_tmp31, __cil_tmp32);
3971  }
3972#line 126
3973  if (ret < 0) {
3974#line 127
3975    return (ret);
3976  } else {
3977
3978  }
3979#line 128
3980  if (ret <= 6) {
3981#line 129
3982    return (-5);
3983  } else {
3984
3985  }
3986  {
3987#line 131
3988  __cil_tmp33 = 0 * 1UL;
3989#line 131
3990  __cil_tmp34 = (unsigned long )(buf) + __cil_tmp33;
3991#line 131
3992  __cil_tmp35 = *((u8 *)__cil_tmp34);
3993#line 131
3994  second = (unsigned int )__cil_tmp35;
3995#line 132
3996  __cil_tmp36 = 1 * 1UL;
3997#line 132
3998  __cil_tmp37 = (unsigned long )(buf) + __cil_tmp36;
3999#line 132
4000  __cil_tmp38 = *((u8 *)__cil_tmp37);
4001#line 132
4002  minute = (unsigned int )__cil_tmp38;
4003#line 133
4004  __cil_tmp39 = 2 * 1UL;
4005#line 133
4006  __cil_tmp40 = (unsigned long )(buf) + __cil_tmp39;
4007#line 133
4008  __cil_tmp41 = *((u8 *)__cil_tmp40);
4009#line 133
4010  hour = (unsigned int )__cil_tmp41;
4011#line 134
4012  __cil_tmp42 = 3 * 1UL;
4013#line 134
4014  __cil_tmp43 = (unsigned long )(buf) + __cil_tmp42;
4015#line 134
4016  __cil_tmp44 = *((u8 *)__cil_tmp43);
4017#line 134
4018  week = (unsigned int )__cil_tmp44;
4019#line 135
4020  __cil_tmp45 = 4 * 1UL;
4021#line 135
4022  __cil_tmp46 = (unsigned long )(buf) + __cil_tmp45;
4023#line 135
4024  __cil_tmp47 = *((u8 *)__cil_tmp46);
4025#line 135
4026  day = (unsigned int )__cil_tmp47;
4027#line 136
4028  __cil_tmp48 = 5 * 1UL;
4029#line 136
4030  __cil_tmp49 = (unsigned long )(buf) + __cil_tmp48;
4031#line 136
4032  __cil_tmp50 = *((u8 *)__cil_tmp49);
4033#line 136
4034  month = (unsigned int )__cil_tmp50;
4035#line 137
4036  __cil_tmp51 = 6 * 1UL;
4037#line 137
4038  __cil_tmp52 = (unsigned long )(buf) + __cil_tmp51;
4039#line 137
4040  __cil_tmp53 = *((u8 *)__cil_tmp52);
4041#line 137
4042  year = (unsigned int )__cil_tmp53;
4043#line 141
4044  twelve_hr = hour & 64U;
4045#line 142
4046  am_pm = hour & 32U;
4047#line 143
4048  century = month & 128U;
4049#line 147
4050  __cil_tmp54 = (unsigned char )second;
4051#line 147
4052  __cil_tmp55 = (int )__cil_tmp54;
4053#line 147
4054  __cil_tmp56 = (unsigned char )__cil_tmp55;
4055#line 147
4056  tmp = bcd2bin(__cil_tmp56);
4057#line 147
4058  *((int *)time) = (int )tmp;
4059#line 148
4060  __cil_tmp57 = (unsigned char )minute;
4061#line 148
4062  __cil_tmp58 = (int )__cil_tmp57;
4063#line 148
4064  __cil_tmp59 = (unsigned char )__cil_tmp58;
4065#line 148
4066  tmp___0 = bcd2bin(__cil_tmp59);
4067#line 148
4068  __cil_tmp60 = (unsigned long )time;
4069#line 148
4070  __cil_tmp61 = __cil_tmp60 + 4;
4071#line 148
4072  *((int *)__cil_tmp61) = (int )tmp___0;
4073  }
4074#line 149
4075  if (twelve_hr != 0U) {
4076#line 151
4077    if (am_pm != 0U) {
4078      {
4079#line 152
4080      __cil_tmp62 = (unsigned char )hour;
4081#line 152
4082      __cil_tmp63 = (int )__cil_tmp62;
4083#line 152
4084      __cil_tmp64 = __cil_tmp63 & 31;
4085#line 152
4086      __cil_tmp65 = (unsigned char )__cil_tmp64;
4087#line 152
4088      tmp___1 = bcd2bin(__cil_tmp65);
4089#line 152
4090      __cil_tmp66 = (unsigned long )time;
4091#line 152
4092      __cil_tmp67 = __cil_tmp66 + 8;
4093#line 152
4094      __cil_tmp68 = tmp___1 + 12U;
4095#line 152
4096      *((int *)__cil_tmp67) = (int )__cil_tmp68;
4097      }
4098    } else {
4099      {
4100#line 154
4101      __cil_tmp69 = (unsigned char )hour;
4102#line 154
4103      __cil_tmp70 = (int )__cil_tmp69;
4104#line 154
4105      __cil_tmp71 = __cil_tmp70 & 31;
4106#line 154
4107      __cil_tmp72 = (unsigned char )__cil_tmp71;
4108#line 154
4109      tmp___2 = bcd2bin(__cil_tmp72);
4110#line 154
4111      __cil_tmp73 = (unsigned long )time;
4112#line 154
4113      __cil_tmp74 = __cil_tmp73 + 8;
4114#line 154
4115      *((int *)__cil_tmp74) = (int )tmp___2;
4116      }
4117    }
4118  } else {
4119    {
4120#line 156
4121    __cil_tmp75 = (unsigned char )hour;
4122#line 156
4123    __cil_tmp76 = (int )__cil_tmp75;
4124#line 156
4125    __cil_tmp77 = (unsigned char )__cil_tmp76;
4126#line 156
4127    tmp___3 = bcd2bin(__cil_tmp77);
4128#line 156
4129    __cil_tmp78 = (unsigned long )time;
4130#line 156
4131    __cil_tmp79 = __cil_tmp78 + 8;
4132#line 156
4133    *((int *)__cil_tmp79) = (int )tmp___3;
4134    }
4135  }
4136  {
4137#line 160
4138  __cil_tmp80 = (unsigned char )week;
4139#line 160
4140  __cil_tmp81 = (int )__cil_tmp80;
4141#line 160
4142  __cil_tmp82 = (unsigned char )__cil_tmp81;
4143#line 160
4144  tmp___4 = bcd2bin(__cil_tmp82);
4145#line 160
4146  __cil_tmp83 = (unsigned long )time;
4147#line 160
4148  __cil_tmp84 = __cil_tmp83 + 24;
4149#line 160
4150  __cil_tmp85 = tmp___4 - 1U;
4151#line 160
4152  *((int *)__cil_tmp84) = (int )__cil_tmp85;
4153#line 161
4154  __cil_tmp86 = (unsigned char )day;
4155#line 161
4156  __cil_tmp87 = (int )__cil_tmp86;
4157#line 161
4158  __cil_tmp88 = (unsigned char )__cil_tmp87;
4159#line 161
4160  tmp___5 = bcd2bin(__cil_tmp88);
4161#line 161
4162  __cil_tmp89 = (unsigned long )time;
4163#line 161
4164  __cil_tmp90 = __cil_tmp89 + 12;
4165#line 161
4166  *((int *)__cil_tmp90) = (int )tmp___5;
4167#line 163
4168  __cil_tmp91 = (unsigned char )month;
4169#line 163
4170  __cil_tmp92 = (int )__cil_tmp91;
4171#line 163
4172  __cil_tmp93 = __cil_tmp92 & 127;
4173#line 163
4174  __cil_tmp94 = (unsigned char )__cil_tmp93;
4175#line 163
4176  tmp___6 = bcd2bin(__cil_tmp94);
4177#line 163
4178  __cil_tmp95 = (unsigned long )time;
4179#line 163
4180  __cil_tmp96 = __cil_tmp95 + 16;
4181#line 163
4182  __cil_tmp97 = tmp___6 - 1U;
4183#line 163
4184  *((int *)__cil_tmp96) = (int )__cil_tmp97;
4185  }
4186#line 164
4187  if (century != 0U) {
4188#line 165
4189    add_century = 100U;
4190  } else {
4191
4192  }
4193  {
4194#line 167
4195  __cil_tmp98 = (unsigned char )year;
4196#line 167
4197  __cil_tmp99 = (int )__cil_tmp98;
4198#line 167
4199  __cil_tmp100 = (unsigned char )__cil_tmp99;
4200#line 167
4201  tmp___7 = bcd2bin(__cil_tmp100);
4202#line 167
4203  __cil_tmp101 = (unsigned long )time;
4204#line 167
4205  __cil_tmp102 = __cil_tmp101 + 20;
4206#line 167
4207  __cil_tmp103 = tmp___7 + add_century;
4208#line 167
4209  *((int *)__cil_tmp102) = (int )__cil_tmp103;
4210#line 169
4211  tmp___8 = rtc_valid_tm(time);
4212  }
4213#line 169
4214  return (tmp___8);
4215}
4216}
4217#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
4218static int ds3232_set_time(struct device *dev , struct rtc_time *time ) 
4219{ struct i2c_client *client ;
4220  struct device  const  *__mptr ;
4221  u8 buf[7U] ;
4222  s32 tmp ;
4223  struct i2c_client *__cil_tmp7 ;
4224  unsigned long __cil_tmp8 ;
4225  unsigned long __cil_tmp9 ;
4226  int __cil_tmp10 ;
4227  unsigned int __cil_tmp11 ;
4228  unsigned long __cil_tmp12 ;
4229  unsigned long __cil_tmp13 ;
4230  unsigned long __cil_tmp14 ;
4231  unsigned long __cil_tmp15 ;
4232  int __cil_tmp16 ;
4233  unsigned int __cil_tmp17 ;
4234  unsigned long __cil_tmp18 ;
4235  unsigned long __cil_tmp19 ;
4236  unsigned long __cil_tmp20 ;
4237  unsigned long __cil_tmp21 ;
4238  int __cil_tmp22 ;
4239  unsigned int __cil_tmp23 ;
4240  unsigned long __cil_tmp24 ;
4241  unsigned long __cil_tmp25 ;
4242  unsigned long __cil_tmp26 ;
4243  unsigned long __cil_tmp27 ;
4244  int __cil_tmp28 ;
4245  int __cil_tmp29 ;
4246  unsigned int __cil_tmp30 ;
4247  unsigned long __cil_tmp31 ;
4248  unsigned long __cil_tmp32 ;
4249  unsigned long __cil_tmp33 ;
4250  unsigned long __cil_tmp34 ;
4251  int __cil_tmp35 ;
4252  unsigned int __cil_tmp36 ;
4253  unsigned long __cil_tmp37 ;
4254  unsigned long __cil_tmp38 ;
4255  unsigned long __cil_tmp39 ;
4256  unsigned long __cil_tmp40 ;
4257  int __cil_tmp41 ;
4258  int __cil_tmp42 ;
4259  unsigned int __cil_tmp43 ;
4260  unsigned long __cil_tmp44 ;
4261  unsigned long __cil_tmp45 ;
4262  int __cil_tmp46 ;
4263  unsigned long __cil_tmp47 ;
4264  unsigned long __cil_tmp48 ;
4265  unsigned long __cil_tmp49 ;
4266  unsigned long __cil_tmp50 ;
4267  u8 __cil_tmp51 ;
4268  unsigned int __cil_tmp52 ;
4269  unsigned int __cil_tmp53 ;
4270  unsigned long __cil_tmp54 ;
4271  unsigned long __cil_tmp55 ;
4272  unsigned long __cil_tmp56 ;
4273  unsigned long __cil_tmp57 ;
4274  int __cil_tmp58 ;
4275  int __cil_tmp59 ;
4276  unsigned int __cil_tmp60 ;
4277  unsigned long __cil_tmp61 ;
4278  unsigned long __cil_tmp62 ;
4279  unsigned long __cil_tmp63 ;
4280  unsigned long __cil_tmp64 ;
4281  int __cil_tmp65 ;
4282  unsigned int __cil_tmp66 ;
4283  struct i2c_client  const  *__cil_tmp67 ;
4284  u8 __cil_tmp68 ;
4285  u8 __cil_tmp69 ;
4286  u8 const   *__cil_tmp70 ;
4287
4288  {
4289  {
4290#line 174
4291  __mptr = (struct device  const  *)dev;
4292#line 174
4293  __cil_tmp7 = (struct i2c_client *)__mptr;
4294#line 174
4295  client = __cil_tmp7 + 0xffffffffffffffd8UL;
4296#line 179
4297  __cil_tmp8 = 0 * 1UL;
4298#line 179
4299  __cil_tmp9 = (unsigned long )(buf) + __cil_tmp8;
4300#line 179
4301  __cil_tmp10 = *((int *)time);
4302#line 179
4303  __cil_tmp11 = (unsigned int )__cil_tmp10;
4304#line 179
4305  *((u8 *)__cil_tmp9) = bin2bcd(__cil_tmp11);
4306#line 180
4307  __cil_tmp12 = 1 * 1UL;
4308#line 180
4309  __cil_tmp13 = (unsigned long )(buf) + __cil_tmp12;
4310#line 180
4311  __cil_tmp14 = (unsigned long )time;
4312#line 180
4313  __cil_tmp15 = __cil_tmp14 + 4;
4314#line 180
4315  __cil_tmp16 = *((int *)__cil_tmp15);
4316#line 180
4317  __cil_tmp17 = (unsigned int )__cil_tmp16;
4318#line 180
4319  *((u8 *)__cil_tmp13) = bin2bcd(__cil_tmp17);
4320#line 181
4321  __cil_tmp18 = 2 * 1UL;
4322#line 181
4323  __cil_tmp19 = (unsigned long )(buf) + __cil_tmp18;
4324#line 181
4325  __cil_tmp20 = (unsigned long )time;
4326#line 181
4327  __cil_tmp21 = __cil_tmp20 + 8;
4328#line 181
4329  __cil_tmp22 = *((int *)__cil_tmp21);
4330#line 181
4331  __cil_tmp23 = (unsigned int )__cil_tmp22;
4332#line 181
4333  *((u8 *)__cil_tmp19) = bin2bcd(__cil_tmp23);
4334#line 183
4335  __cil_tmp24 = 3 * 1UL;
4336#line 183
4337  __cil_tmp25 = (unsigned long )(buf) + __cil_tmp24;
4338#line 183
4339  __cil_tmp26 = (unsigned long )time;
4340#line 183
4341  __cil_tmp27 = __cil_tmp26 + 24;
4342#line 183
4343  __cil_tmp28 = *((int *)__cil_tmp27);
4344#line 183
4345  __cil_tmp29 = __cil_tmp28 + 1;
4346#line 183
4347  __cil_tmp30 = (unsigned int )__cil_tmp29;
4348#line 183
4349  *((u8 *)__cil_tmp25) = bin2bcd(__cil_tmp30);
4350#line 184
4351  __cil_tmp31 = 4 * 1UL;
4352#line 184
4353  __cil_tmp32 = (unsigned long )(buf) + __cil_tmp31;
4354#line 184
4355  __cil_tmp33 = (unsigned long )time;
4356#line 184
4357  __cil_tmp34 = __cil_tmp33 + 12;
4358#line 184
4359  __cil_tmp35 = *((int *)__cil_tmp34);
4360#line 184
4361  __cil_tmp36 = (unsigned int )__cil_tmp35;
4362#line 184
4363  *((u8 *)__cil_tmp32) = bin2bcd(__cil_tmp36);
4364#line 186
4365  __cil_tmp37 = 5 * 1UL;
4366#line 186
4367  __cil_tmp38 = (unsigned long )(buf) + __cil_tmp37;
4368#line 186
4369  __cil_tmp39 = (unsigned long )time;
4370#line 186
4371  __cil_tmp40 = __cil_tmp39 + 16;
4372#line 186
4373  __cil_tmp41 = *((int *)__cil_tmp40);
4374#line 186
4375  __cil_tmp42 = __cil_tmp41 + 1;
4376#line 186
4377  __cil_tmp43 = (unsigned int )__cil_tmp42;
4378#line 186
4379  *((u8 *)__cil_tmp38) = bin2bcd(__cil_tmp43);
4380  }
4381  {
4382#line 187
4383  __cil_tmp44 = (unsigned long )time;
4384#line 187
4385  __cil_tmp45 = __cil_tmp44 + 20;
4386#line 187
4387  __cil_tmp46 = *((int *)__cil_tmp45);
4388#line 187
4389  if (__cil_tmp46 > 99) {
4390    {
4391#line 188
4392    __cil_tmp47 = 5 * 1UL;
4393#line 188
4394    __cil_tmp48 = (unsigned long )(buf) + __cil_tmp47;
4395#line 188
4396    __cil_tmp49 = 5 * 1UL;
4397#line 188
4398    __cil_tmp50 = (unsigned long )(buf) + __cil_tmp49;
4399#line 188
4400    __cil_tmp51 = *((u8 *)__cil_tmp50);
4401#line 188
4402    __cil_tmp52 = (unsigned int )__cil_tmp51;
4403#line 188
4404    __cil_tmp53 = __cil_tmp52 | 128U;
4405#line 188
4406    *((u8 *)__cil_tmp48) = (u8 )__cil_tmp53;
4407#line 189
4408    __cil_tmp54 = 6 * 1UL;
4409#line 189
4410    __cil_tmp55 = (unsigned long )(buf) + __cil_tmp54;
4411#line 189
4412    __cil_tmp56 = (unsigned long )time;
4413#line 189
4414    __cil_tmp57 = __cil_tmp56 + 20;
4415#line 189
4416    __cil_tmp58 = *((int *)__cil_tmp57);
4417#line 189
4418    __cil_tmp59 = __cil_tmp58 + -100;
4419#line 189
4420    __cil_tmp60 = (unsigned int )__cil_tmp59;
4421#line 189
4422    *((u8 *)__cil_tmp55) = bin2bcd(__cil_tmp60);
4423    }
4424  } else {
4425    {
4426#line 191
4427    __cil_tmp61 = 6 * 1UL;
4428#line 191
4429    __cil_tmp62 = (unsigned long )(buf) + __cil_tmp61;
4430#line 191
4431    __cil_tmp63 = (unsigned long )time;
4432#line 191
4433    __cil_tmp64 = __cil_tmp63 + 20;
4434#line 191
4435    __cil_tmp65 = *((int *)__cil_tmp64);
4436#line 191
4437    __cil_tmp66 = (unsigned int )__cil_tmp65;
4438#line 191
4439    *((u8 *)__cil_tmp62) = bin2bcd(__cil_tmp66);
4440    }
4441  }
4442  }
4443  {
4444#line 194
4445  __cil_tmp67 = (struct i2c_client  const  *)client;
4446#line 194
4447  __cil_tmp68 = (u8 )0;
4448#line 194
4449  __cil_tmp69 = (u8 )7;
4450#line 194
4451  __cil_tmp70 = (u8 const   *)(& buf);
4452#line 194
4453  tmp = i2c_smbus_write_i2c_block_data(__cil_tmp67, __cil_tmp68, __cil_tmp69, __cil_tmp70);
4454  }
4455#line 194
4456  return (tmp);
4457}
4458}
4459#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
4460static int ds3232_read_alarm(struct device *dev , struct rtc_wkalrm *alarm ) 
4461{ struct i2c_client *client ;
4462  struct device  const  *__mptr ;
4463  struct ds3232 *ds3232 ;
4464  void *tmp ;
4465  int control ;
4466  int stat ;
4467  int ret ;
4468  u8 buf[4U] ;
4469  unsigned int tmp___0 ;
4470  unsigned int tmp___1 ;
4471  unsigned int tmp___2 ;
4472  unsigned int tmp___3 ;
4473  struct i2c_client *__cil_tmp15 ;
4474  struct i2c_client  const  *__cil_tmp16 ;
4475  unsigned long __cil_tmp17 ;
4476  unsigned long __cil_tmp18 ;
4477  struct mutex *__cil_tmp19 ;
4478  struct i2c_client  const  *__cil_tmp20 ;
4479  u8 __cil_tmp21 ;
4480  struct i2c_client  const  *__cil_tmp22 ;
4481  u8 __cil_tmp23 ;
4482  struct i2c_client  const  *__cil_tmp24 ;
4483  u8 __cil_tmp25 ;
4484  u8 __cil_tmp26 ;
4485  u8 *__cil_tmp27 ;
4486  unsigned long __cil_tmp28 ;
4487  unsigned long __cil_tmp29 ;
4488  u8 __cil_tmp30 ;
4489  int __cil_tmp31 ;
4490  int __cil_tmp32 ;
4491  unsigned char __cil_tmp33 ;
4492  unsigned long __cil_tmp34 ;
4493  unsigned long __cil_tmp35 ;
4494  unsigned long __cil_tmp36 ;
4495  unsigned long __cil_tmp37 ;
4496  u8 __cil_tmp38 ;
4497  int __cil_tmp39 ;
4498  int __cil_tmp40 ;
4499  unsigned char __cil_tmp41 ;
4500  unsigned long __cil_tmp42 ;
4501  unsigned long __cil_tmp43 ;
4502  unsigned long __cil_tmp44 ;
4503  unsigned long __cil_tmp45 ;
4504  unsigned long __cil_tmp46 ;
4505  u8 __cil_tmp47 ;
4506  int __cil_tmp48 ;
4507  int __cil_tmp49 ;
4508  unsigned char __cil_tmp50 ;
4509  unsigned long __cil_tmp51 ;
4510  unsigned long __cil_tmp52 ;
4511  unsigned long __cil_tmp53 ;
4512  unsigned long __cil_tmp54 ;
4513  unsigned long __cil_tmp55 ;
4514  u8 __cil_tmp56 ;
4515  int __cil_tmp57 ;
4516  int __cil_tmp58 ;
4517  unsigned char __cil_tmp59 ;
4518  unsigned long __cil_tmp60 ;
4519  unsigned long __cil_tmp61 ;
4520  unsigned long __cil_tmp62 ;
4521  unsigned long __cil_tmp63 ;
4522  unsigned long __cil_tmp64 ;
4523  unsigned long __cil_tmp65 ;
4524  unsigned long __cil_tmp66 ;
4525  unsigned long __cil_tmp67 ;
4526  unsigned long __cil_tmp68 ;
4527  unsigned long __cil_tmp69 ;
4528  unsigned long __cil_tmp70 ;
4529  unsigned long __cil_tmp71 ;
4530  unsigned long __cil_tmp72 ;
4531  unsigned long __cil_tmp73 ;
4532  unsigned long __cil_tmp74 ;
4533  unsigned long __cil_tmp75 ;
4534  unsigned long __cil_tmp76 ;
4535  unsigned long __cil_tmp77 ;
4536  unsigned char __cil_tmp78 ;
4537  unsigned int __cil_tmp79 ;
4538  unsigned int __cil_tmp80 ;
4539  unsigned long __cil_tmp81 ;
4540  unsigned long __cil_tmp82 ;
4541  unsigned char __cil_tmp83 ;
4542  unsigned int __cil_tmp84 ;
4543  unsigned int __cil_tmp85 ;
4544  unsigned long __cil_tmp86 ;
4545  unsigned long __cil_tmp87 ;
4546  struct mutex *__cil_tmp88 ;
4547
4548  {
4549  {
4550#line 205
4551  __mptr = (struct device  const  *)dev;
4552#line 205
4553  __cil_tmp15 = (struct i2c_client *)__mptr;
4554#line 205
4555  client = __cil_tmp15 + 0xffffffffffffffd8UL;
4556#line 206
4557  __cil_tmp16 = (struct i2c_client  const  *)client;
4558#line 206
4559  tmp = i2c_get_clientdata(__cil_tmp16);
4560#line 206
4561  ds3232 = (struct ds3232 *)tmp;
4562#line 211
4563  __cil_tmp17 = (unsigned long )ds3232;
4564#line 211
4565  __cil_tmp18 = __cil_tmp17 + 96;
4566#line 211
4567  __cil_tmp19 = (struct mutex *)__cil_tmp18;
4568#line 211
4569  mutex_lock_nested(__cil_tmp19, 0U);
4570#line 213
4571  __cil_tmp20 = (struct i2c_client  const  *)client;
4572#line 213
4573  __cil_tmp21 = (u8 )15;
4574#line 213
4575  ret = i2c_smbus_read_byte_data(__cil_tmp20, __cil_tmp21);
4576  }
4577#line 214
4578  if (ret < 0) {
4579#line 215
4580    goto out;
4581  } else {
4582
4583  }
4584  {
4585#line 216
4586  stat = ret;
4587#line 217
4588  __cil_tmp22 = (struct i2c_client  const  *)client;
4589#line 217
4590  __cil_tmp23 = (u8 )14;
4591#line 217
4592  ret = i2c_smbus_read_byte_data(__cil_tmp22, __cil_tmp23);
4593  }
4594#line 218
4595  if (ret < 0) {
4596#line 219
4597    goto out;
4598  } else {
4599
4600  }
4601  {
4602#line 220
4603  control = ret;
4604#line 221
4605  __cil_tmp24 = (struct i2c_client  const  *)client;
4606#line 221
4607  __cil_tmp25 = (u8 )7;
4608#line 221
4609  __cil_tmp26 = (u8 )4;
4610#line 221
4611  __cil_tmp27 = (u8 *)(& buf);
4612#line 221
4613  ret = i2c_smbus_read_i2c_block_data(__cil_tmp24, __cil_tmp25, __cil_tmp26, __cil_tmp27);
4614  }
4615#line 222
4616  if (ret < 0) {
4617#line 223
4618    goto out;
4619  } else {
4620
4621  }
4622  {
4623#line 225
4624  __cil_tmp28 = 0 * 1UL;
4625#line 225
4626  __cil_tmp29 = (unsigned long )(buf) + __cil_tmp28;
4627#line 225
4628  __cil_tmp30 = *((u8 *)__cil_tmp29);
4629#line 225
4630  __cil_tmp31 = (int )__cil_tmp30;
4631#line 225
4632  __cil_tmp32 = __cil_tmp31 & 127;
4633#line 225
4634  __cil_tmp33 = (unsigned char )__cil_tmp32;
4635#line 225
4636  tmp___0 = bcd2bin(__cil_tmp33);
4637#line 225
4638  __cil_tmp34 = (unsigned long )alarm;
4639#line 225
4640  __cil_tmp35 = __cil_tmp34 + 4;
4641#line 225
4642  *((int *)__cil_tmp35) = (int )tmp___0;
4643#line 226
4644  __cil_tmp36 = 1 * 1UL;
4645#line 226
4646  __cil_tmp37 = (unsigned long )(buf) + __cil_tmp36;
4647#line 226
4648  __cil_tmp38 = *((u8 *)__cil_tmp37);
4649#line 226
4650  __cil_tmp39 = (int )__cil_tmp38;
4651#line 226
4652  __cil_tmp40 = __cil_tmp39 & 127;
4653#line 226
4654  __cil_tmp41 = (unsigned char )__cil_tmp40;
4655#line 226
4656  tmp___1 = bcd2bin(__cil_tmp41);
4657#line 226
4658  __cil_tmp42 = 4 + 4;
4659#line 226
4660  __cil_tmp43 = (unsigned long )alarm;
4661#line 226
4662  __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
4663#line 226
4664  *((int *)__cil_tmp44) = (int )tmp___1;
4665#line 227
4666  __cil_tmp45 = 2 * 1UL;
4667#line 227
4668  __cil_tmp46 = (unsigned long )(buf) + __cil_tmp45;
4669#line 227
4670  __cil_tmp47 = *((u8 *)__cil_tmp46);
4671#line 227
4672  __cil_tmp48 = (int )__cil_tmp47;
4673#line 227
4674  __cil_tmp49 = __cil_tmp48 & 127;
4675#line 227
4676  __cil_tmp50 = (unsigned char )__cil_tmp49;
4677#line 227
4678  tmp___2 = bcd2bin(__cil_tmp50);
4679#line 227
4680  __cil_tmp51 = 4 + 8;
4681#line 227
4682  __cil_tmp52 = (unsigned long )alarm;
4683#line 227
4684  __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
4685#line 227
4686  *((int *)__cil_tmp53) = (int )tmp___2;
4687#line 228
4688  __cil_tmp54 = 3 * 1UL;
4689#line 228
4690  __cil_tmp55 = (unsigned long )(buf) + __cil_tmp54;
4691#line 228
4692  __cil_tmp56 = *((u8 *)__cil_tmp55);
4693#line 228
4694  __cil_tmp57 = (int )__cil_tmp56;
4695#line 228
4696  __cil_tmp58 = __cil_tmp57 & 127;
4697#line 228
4698  __cil_tmp59 = (unsigned char )__cil_tmp58;
4699#line 228
4700  tmp___3 = bcd2bin(__cil_tmp59);
4701#line 228
4702  __cil_tmp60 = 4 + 12;
4703#line 228
4704  __cil_tmp61 = (unsigned long )alarm;
4705#line 228
4706  __cil_tmp62 = __cil_tmp61 + __cil_tmp60;
4707#line 228
4708  *((int *)__cil_tmp62) = (int )tmp___3;
4709#line 230
4710  __cil_tmp63 = 4 + 16;
4711#line 230
4712  __cil_tmp64 = (unsigned long )alarm;
4713#line 230
4714  __cil_tmp65 = __cil_tmp64 + __cil_tmp63;
4715#line 230
4716  *((int *)__cil_tmp65) = -1;
4717#line 231
4718  __cil_tmp66 = 4 + 20;
4719#line 231
4720  __cil_tmp67 = (unsigned long )alarm;
4721#line 231
4722  __cil_tmp68 = __cil_tmp67 + __cil_tmp66;
4723#line 231
4724  *((int *)__cil_tmp68) = -1;
4725#line 232
4726  __cil_tmp69 = 4 + 24;
4727#line 232
4728  __cil_tmp70 = (unsigned long )alarm;
4729#line 232
4730  __cil_tmp71 = __cil_tmp70 + __cil_tmp69;
4731#line 232
4732  *((int *)__cil_tmp71) = -1;
4733#line 233
4734  __cil_tmp72 = 4 + 28;
4735#line 233
4736  __cil_tmp73 = (unsigned long )alarm;
4737#line 233
4738  __cil_tmp74 = __cil_tmp73 + __cil_tmp72;
4739#line 233
4740  *((int *)__cil_tmp74) = -1;
4741#line 234
4742  __cil_tmp75 = 4 + 32;
4743#line 234
4744  __cil_tmp76 = (unsigned long )alarm;
4745#line 234
4746  __cil_tmp77 = __cil_tmp76 + __cil_tmp75;
4747#line 234
4748  *((int *)__cil_tmp77) = -1;
4749#line 236
4750  __cil_tmp78 = (unsigned char )control;
4751#line 236
4752  __cil_tmp79 = (unsigned int )__cil_tmp78;
4753#line 236
4754  __cil_tmp80 = __cil_tmp79 & 1U;
4755#line 236
4756  *((unsigned char *)alarm) = (unsigned char )__cil_tmp80;
4757#line 237
4758  __cil_tmp81 = (unsigned long )alarm;
4759#line 237
4760  __cil_tmp82 = __cil_tmp81 + 1;
4761#line 237
4762  __cil_tmp83 = (unsigned char )stat;
4763#line 237
4764  __cil_tmp84 = (unsigned int )__cil_tmp83;
4765#line 237
4766  __cil_tmp85 = __cil_tmp84 & 1U;
4767#line 237
4768  *((unsigned char *)__cil_tmp82) = (unsigned char )__cil_tmp85;
4769#line 239
4770  ret = 0;
4771  }
4772  out: 
4773  {
4774#line 241
4775  __cil_tmp86 = (unsigned long )ds3232;
4776#line 241
4777  __cil_tmp87 = __cil_tmp86 + 96;
4778#line 241
4779  __cil_tmp88 = (struct mutex *)__cil_tmp87;
4780#line 241
4781  mutex_unlock(__cil_tmp88);
4782  }
4783#line 242
4784  return (ret);
4785}
4786}
4787#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
4788static int ds3232_set_alarm(struct device *dev , struct rtc_wkalrm *alarm ) 
4789{ struct i2c_client *client ;
4790  struct device  const  *__mptr ;
4791  struct ds3232 *ds3232 ;
4792  void *tmp ;
4793  int control ;
4794  int stat ;
4795  int ret ;
4796  u8 buf[4U] ;
4797  struct i2c_client *__cil_tmp11 ;
4798  struct i2c_client  const  *__cil_tmp12 ;
4799  unsigned long __cil_tmp13 ;
4800  unsigned long __cil_tmp14 ;
4801  int __cil_tmp15 ;
4802  unsigned long __cil_tmp16 ;
4803  unsigned long __cil_tmp17 ;
4804  struct mutex *__cil_tmp18 ;
4805  unsigned long __cil_tmp19 ;
4806  unsigned long __cil_tmp20 ;
4807  unsigned long __cil_tmp21 ;
4808  unsigned long __cil_tmp22 ;
4809  int __cil_tmp23 ;
4810  unsigned int __cil_tmp24 ;
4811  unsigned long __cil_tmp25 ;
4812  unsigned long __cil_tmp26 ;
4813  unsigned long __cil_tmp27 ;
4814  unsigned long __cil_tmp28 ;
4815  unsigned long __cil_tmp29 ;
4816  int __cil_tmp30 ;
4817  unsigned int __cil_tmp31 ;
4818  unsigned long __cil_tmp32 ;
4819  unsigned long __cil_tmp33 ;
4820  unsigned long __cil_tmp34 ;
4821  unsigned long __cil_tmp35 ;
4822  unsigned long __cil_tmp36 ;
4823  int __cil_tmp37 ;
4824  unsigned int __cil_tmp38 ;
4825  unsigned long __cil_tmp39 ;
4826  unsigned long __cil_tmp40 ;
4827  unsigned long __cil_tmp41 ;
4828  unsigned long __cil_tmp42 ;
4829  unsigned long __cil_tmp43 ;
4830  int __cil_tmp44 ;
4831  unsigned int __cil_tmp45 ;
4832  struct i2c_client  const  *__cil_tmp46 ;
4833  u8 __cil_tmp47 ;
4834  struct i2c_client  const  *__cil_tmp48 ;
4835  u8 __cil_tmp49 ;
4836  u8 __cil_tmp50 ;
4837  int __cil_tmp51 ;
4838  u8 __cil_tmp52 ;
4839  struct i2c_client  const  *__cil_tmp53 ;
4840  u8 __cil_tmp54 ;
4841  struct i2c_client  const  *__cil_tmp55 ;
4842  u8 __cil_tmp56 ;
4843  u8 __cil_tmp57 ;
4844  int __cil_tmp58 ;
4845  u8 __cil_tmp59 ;
4846  struct i2c_client  const  *__cil_tmp60 ;
4847  u8 __cil_tmp61 ;
4848  u8 __cil_tmp62 ;
4849  u8 const   *__cil_tmp63 ;
4850  unsigned char __cil_tmp64 ;
4851  unsigned int __cil_tmp65 ;
4852  struct i2c_client  const  *__cil_tmp66 ;
4853  u8 __cil_tmp67 ;
4854  u8 __cil_tmp68 ;
4855  int __cil_tmp69 ;
4856  u8 __cil_tmp70 ;
4857  unsigned long __cil_tmp71 ;
4858  unsigned long __cil_tmp72 ;
4859  struct mutex *__cil_tmp73 ;
4860
4861  {
4862  {
4863#line 251
4864  __mptr = (struct device  const  *)dev;
4865#line 251
4866  __cil_tmp11 = (struct i2c_client *)__mptr;
4867#line 251
4868  client = __cil_tmp11 + 0xffffffffffffffd8UL;
4869#line 252
4870  __cil_tmp12 = (struct i2c_client  const  *)client;
4871#line 252
4872  tmp = i2c_get_clientdata(__cil_tmp12);
4873#line 252
4874  ds3232 = (struct ds3232 *)tmp;
4875  }
4876  {
4877#line 257
4878  __cil_tmp13 = (unsigned long )client;
4879#line 257
4880  __cil_tmp14 = __cil_tmp13 + 1192;
4881#line 257
4882  __cil_tmp15 = *((int *)__cil_tmp14);
4883#line 257
4884  if (__cil_tmp15 <= 0) {
4885#line 258
4886    return (-22);
4887  } else {
4888
4889  }
4890  }
4891  {
4892#line 260
4893  __cil_tmp16 = (unsigned long )ds3232;
4894#line 260
4895  __cil_tmp17 = __cil_tmp16 + 96;
4896#line 260
4897  __cil_tmp18 = (struct mutex *)__cil_tmp17;
4898#line 260
4899  mutex_lock_nested(__cil_tmp18, 0U);
4900#line 262
4901  __cil_tmp19 = 0 * 1UL;
4902#line 262
4903  __cil_tmp20 = (unsigned long )(buf) + __cil_tmp19;
4904#line 262
4905  __cil_tmp21 = (unsigned long )alarm;
4906#line 262
4907  __cil_tmp22 = __cil_tmp21 + 4;
4908#line 262
4909  __cil_tmp23 = *((int *)__cil_tmp22);
4910#line 262
4911  __cil_tmp24 = (unsigned int )__cil_tmp23;
4912#line 262
4913  *((u8 *)__cil_tmp20) = bin2bcd(__cil_tmp24);
4914#line 263
4915  __cil_tmp25 = 1 * 1UL;
4916#line 263
4917  __cil_tmp26 = (unsigned long )(buf) + __cil_tmp25;
4918#line 263
4919  __cil_tmp27 = 4 + 4;
4920#line 263
4921  __cil_tmp28 = (unsigned long )alarm;
4922#line 263
4923  __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
4924#line 263
4925  __cil_tmp30 = *((int *)__cil_tmp29);
4926#line 263
4927  __cil_tmp31 = (unsigned int )__cil_tmp30;
4928#line 263
4929  *((u8 *)__cil_tmp26) = bin2bcd(__cil_tmp31);
4930#line 264
4931  __cil_tmp32 = 2 * 1UL;
4932#line 264
4933  __cil_tmp33 = (unsigned long )(buf) + __cil_tmp32;
4934#line 264
4935  __cil_tmp34 = 4 + 8;
4936#line 264
4937  __cil_tmp35 = (unsigned long )alarm;
4938#line 264
4939  __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
4940#line 264
4941  __cil_tmp37 = *((int *)__cil_tmp36);
4942#line 264
4943  __cil_tmp38 = (unsigned int )__cil_tmp37;
4944#line 264
4945  *((u8 *)__cil_tmp33) = bin2bcd(__cil_tmp38);
4946#line 265
4947  __cil_tmp39 = 3 * 1UL;
4948#line 265
4949  __cil_tmp40 = (unsigned long )(buf) + __cil_tmp39;
4950#line 265
4951  __cil_tmp41 = 4 + 12;
4952#line 265
4953  __cil_tmp42 = (unsigned long )alarm;
4954#line 265
4955  __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
4956#line 265
4957  __cil_tmp44 = *((int *)__cil_tmp43);
4958#line 265
4959  __cil_tmp45 = (unsigned int )__cil_tmp44;
4960#line 265
4961  *((u8 *)__cil_tmp40) = bin2bcd(__cil_tmp45);
4962#line 268
4963  __cil_tmp46 = (struct i2c_client  const  *)client;
4964#line 268
4965  __cil_tmp47 = (u8 )14;
4966#line 268
4967  ret = i2c_smbus_read_byte_data(__cil_tmp46, __cil_tmp47);
4968  }
4969#line 269
4970  if (ret < 0) {
4971#line 270
4972    goto out;
4973  } else {
4974
4975  }
4976  {
4977#line 271
4978  control = ret;
4979#line 272
4980  control = control & -4;
4981#line 273
4982  __cil_tmp48 = (struct i2c_client  const  *)client;
4983#line 273
4984  __cil_tmp49 = (u8 )14;
4985#line 273
4986  __cil_tmp50 = (u8 )control;
4987#line 273
4988  __cil_tmp51 = (int )__cil_tmp50;
4989#line 273
4990  __cil_tmp52 = (u8 )__cil_tmp51;
4991#line 273
4992  ret = i2c_smbus_write_byte_data(__cil_tmp48, __cil_tmp49, __cil_tmp52);
4993  }
4994#line 274
4995  if (ret < 0) {
4996#line 275
4997    goto out;
4998  } else {
4999
5000  }
5001  {
5002#line 278
5003  __cil_tmp53 = (struct i2c_client  const  *)client;
5004#line 278
5005  __cil_tmp54 = (u8 )15;
5006#line 278
5007  ret = i2c_smbus_read_byte_data(__cil_tmp53, __cil_tmp54);
5008  }
5009#line 279
5010  if (ret < 0) {
5011#line 280
5012    goto out;
5013  } else {
5014
5015  }
5016  {
5017#line 281
5018  stat = ret;
5019#line 282
5020  stat = stat & -4;
5021#line 283
5022  __cil_tmp55 = (struct i2c_client  const  *)client;
5023#line 283
5024  __cil_tmp56 = (u8 )15;
5025#line 283
5026  __cil_tmp57 = (u8 )stat;
5027#line 283
5028  __cil_tmp58 = (int )__cil_tmp57;
5029#line 283
5030  __cil_tmp59 = (u8 )__cil_tmp58;
5031#line 283
5032  ret = i2c_smbus_write_byte_data(__cil_tmp55, __cil_tmp56, __cil_tmp59);
5033  }
5034#line 284
5035  if (ret < 0) {
5036#line 285
5037    goto out;
5038  } else {
5039
5040  }
5041  {
5042#line 287
5043  __cil_tmp60 = (struct i2c_client  const  *)client;
5044#line 287
5045  __cil_tmp61 = (u8 )7;
5046#line 287
5047  __cil_tmp62 = (u8 )4;
5048#line 287
5049  __cil_tmp63 = (u8 const   *)(& buf);
5050#line 287
5051  ret = i2c_smbus_write_i2c_block_data(__cil_tmp60, __cil_tmp61, __cil_tmp62, __cil_tmp63);
5052  }
5053  {
5054#line 289
5055  __cil_tmp64 = *((unsigned char *)alarm);
5056#line 289
5057  __cil_tmp65 = (unsigned int )__cil_tmp64;
5058#line 289
5059  if (__cil_tmp65 != 0U) {
5060    {
5061#line 290
5062    control = control | 1;
5063#line 291
5064    __cil_tmp66 = (struct i2c_client  const  *)client;
5065#line 291
5066    __cil_tmp67 = (u8 )14;
5067#line 291
5068    __cil_tmp68 = (u8 )control;
5069#line 291
5070    __cil_tmp69 = (int )__cil_tmp68;
5071#line 291
5072    __cil_tmp70 = (u8 )__cil_tmp69;
5073#line 291
5074    ret = i2c_smbus_write_byte_data(__cil_tmp66, __cil_tmp67, __cil_tmp70);
5075    }
5076  } else {
5077
5078  }
5079  }
5080  out: 
5081  {
5082#line 294
5083  __cil_tmp71 = (unsigned long )ds3232;
5084#line 294
5085  __cil_tmp72 = __cil_tmp71 + 96;
5086#line 294
5087  __cil_tmp73 = (struct mutex *)__cil_tmp72;
5088#line 294
5089  mutex_unlock(__cil_tmp73);
5090  }
5091#line 295
5092  return (ret);
5093}
5094}
5095#line 298 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5096static void ds3232_update_alarm(struct i2c_client *client ) 
5097{ struct ds3232 *ds3232 ;
5098  void *tmp ;
5099  int control ;
5100  int ret ;
5101  u8 buf[4U] ;
5102  struct i2c_client  const  *__cil_tmp7 ;
5103  unsigned long __cil_tmp8 ;
5104  unsigned long __cil_tmp9 ;
5105  struct mutex *__cil_tmp10 ;
5106  struct i2c_client  const  *__cil_tmp11 ;
5107  u8 __cil_tmp12 ;
5108  u8 __cil_tmp13 ;
5109  u8 *__cil_tmp14 ;
5110  unsigned long __cil_tmp15 ;
5111  unsigned long __cil_tmp16 ;
5112  struct rtc_device *__cil_tmp17 ;
5113  unsigned long __cil_tmp18 ;
5114  unsigned long __cil_tmp19 ;
5115  unsigned long __cil_tmp20 ;
5116  unsigned long __cil_tmp21 ;
5117  unsigned long __cil_tmp22 ;
5118  unsigned long __cil_tmp23 ;
5119  unsigned long __cil_tmp24 ;
5120  unsigned long __cil_tmp25 ;
5121  unsigned long __cil_tmp26 ;
5122  unsigned long __cil_tmp27 ;
5123  unsigned long __cil_tmp28 ;
5124  unsigned long __cil_tmp29 ;
5125  struct rtc_device *__cil_tmp30 ;
5126  unsigned long __cil_tmp31 ;
5127  unsigned long __cil_tmp32 ;
5128  unsigned long __cil_tmp33 ;
5129  unsigned long __cil_tmp34 ;
5130  unsigned long __cil_tmp35 ;
5131  unsigned long __cil_tmp36 ;
5132  unsigned long __cil_tmp37 ;
5133  unsigned long __cil_tmp38 ;
5134  unsigned long __cil_tmp39 ;
5135  unsigned long __cil_tmp40 ;
5136  unsigned long __cil_tmp41 ;
5137  unsigned long __cil_tmp42 ;
5138  struct rtc_device *__cil_tmp43 ;
5139  unsigned long __cil_tmp44 ;
5140  unsigned long __cil_tmp45 ;
5141  unsigned long __cil_tmp46 ;
5142  unsigned long __cil_tmp47 ;
5143  unsigned long __cil_tmp48 ;
5144  unsigned long __cil_tmp49 ;
5145  unsigned long __cil_tmp50 ;
5146  unsigned long __cil_tmp51 ;
5147  unsigned long __cil_tmp52 ;
5148  unsigned long __cil_tmp53 ;
5149  unsigned long __cil_tmp54 ;
5150  unsigned long __cil_tmp55 ;
5151  struct rtc_device *__cil_tmp56 ;
5152  unsigned long __cil_tmp57 ;
5153  unsigned long __cil_tmp58 ;
5154  unsigned long __cil_tmp59 ;
5155  unsigned long __cil_tmp60 ;
5156  unsigned long __cil_tmp61 ;
5157  unsigned long __cil_tmp62 ;
5158  unsigned long __cil_tmp63 ;
5159  unsigned long __cil_tmp64 ;
5160  unsigned long __cil_tmp65 ;
5161  unsigned long __cil_tmp66 ;
5162  struct i2c_client  const  *__cil_tmp67 ;
5163  u8 __cil_tmp68 ;
5164  u8 __cil_tmp69 ;
5165  u8 const   *__cil_tmp70 ;
5166  struct i2c_client  const  *__cil_tmp71 ;
5167  u8 __cil_tmp72 ;
5168  unsigned long __cil_tmp73 ;
5169  unsigned long __cil_tmp74 ;
5170  struct rtc_device *__cil_tmp75 ;
5171  unsigned long __cil_tmp76 ;
5172  unsigned long __cil_tmp77 ;
5173  unsigned long __cil_tmp78 ;
5174  unsigned long __cil_tmp79 ;
5175  struct i2c_client  const  *__cil_tmp80 ;
5176  u8 __cil_tmp81 ;
5177  u8 __cil_tmp82 ;
5178  int __cil_tmp83 ;
5179  u8 __cil_tmp84 ;
5180  unsigned long __cil_tmp85 ;
5181  unsigned long __cil_tmp86 ;
5182  struct mutex *__cil_tmp87 ;
5183
5184  {
5185  {
5186#line 300
5187  __cil_tmp7 = (struct i2c_client  const  *)client;
5188#line 300
5189  tmp = i2c_get_clientdata(__cil_tmp7);
5190#line 300
5191  ds3232 = (struct ds3232 *)tmp;
5192#line 305
5193  __cil_tmp8 = (unsigned long )ds3232;
5194#line 305
5195  __cil_tmp9 = __cil_tmp8 + 96;
5196#line 305
5197  __cil_tmp10 = (struct mutex *)__cil_tmp9;
5198#line 305
5199  mutex_lock_nested(__cil_tmp10, 0U);
5200#line 307
5201  __cil_tmp11 = (struct i2c_client  const  *)client;
5202#line 307
5203  __cil_tmp12 = (u8 )7;
5204#line 307
5205  __cil_tmp13 = (u8 )4;
5206#line 307
5207  __cil_tmp14 = (u8 *)(& buf);
5208#line 307
5209  ret = i2c_smbus_read_i2c_block_data(__cil_tmp11, __cil_tmp12, __cil_tmp13, __cil_tmp14);
5210  }
5211#line 308
5212  if (ret < 0) {
5213#line 309
5214    goto unlock;
5215  } else {
5216
5217  }
5218  {
5219#line 311
5220  __cil_tmp15 = (unsigned long )ds3232;
5221#line 311
5222  __cil_tmp16 = __cil_tmp15 + 8;
5223#line 311
5224  __cil_tmp17 = *((struct rtc_device **)__cil_tmp16);
5225#line 311
5226  __cil_tmp18 = (unsigned long )__cil_tmp17;
5227#line 311
5228  __cil_tmp19 = __cil_tmp18 + 1472;
5229#line 311
5230  __cil_tmp20 = *((unsigned long *)__cil_tmp19);
5231#line 311
5232  __cil_tmp21 = __cil_tmp20 & 16UL;
5233#line 311
5234  if (__cil_tmp21 == 0UL) {
5235#line 311
5236    __cil_tmp22 = 0 * 1UL;
5237#line 311
5238    __cil_tmp23 = (unsigned long )(buf) + __cil_tmp22;
5239#line 311
5240    __cil_tmp24 = 0 * 1UL;
5241#line 311
5242    __cil_tmp25 = (unsigned long )(buf) + __cil_tmp24;
5243#line 311
5244    *((u8 *)__cil_tmp23) = *((u8 *)__cil_tmp25);
5245  } else {
5246#line 311
5247    __cil_tmp26 = 0 * 1UL;
5248#line 311
5249    __cil_tmp27 = (unsigned long )(buf) + __cil_tmp26;
5250#line 311
5251    *((u8 *)__cil_tmp27) = (u8 )128U;
5252  }
5253  }
5254  {
5255#line 313
5256  __cil_tmp28 = (unsigned long )ds3232;
5257#line 313
5258  __cil_tmp29 = __cil_tmp28 + 8;
5259#line 313
5260  __cil_tmp30 = *((struct rtc_device **)__cil_tmp29);
5261#line 313
5262  __cil_tmp31 = (unsigned long )__cil_tmp30;
5263#line 313
5264  __cil_tmp32 = __cil_tmp31 + 1472;
5265#line 313
5266  __cil_tmp33 = *((unsigned long *)__cil_tmp32);
5267#line 313
5268  __cil_tmp34 = __cil_tmp33 & 16UL;
5269#line 313
5270  if (__cil_tmp34 == 0UL) {
5271#line 313
5272    __cil_tmp35 = 1 * 1UL;
5273#line 313
5274    __cil_tmp36 = (unsigned long )(buf) + __cil_tmp35;
5275#line 313
5276    __cil_tmp37 = 1 * 1UL;
5277#line 313
5278    __cil_tmp38 = (unsigned long )(buf) + __cil_tmp37;
5279#line 313
5280    *((u8 *)__cil_tmp36) = *((u8 *)__cil_tmp38);
5281  } else {
5282#line 313
5283    __cil_tmp39 = 1 * 1UL;
5284#line 313
5285    __cil_tmp40 = (unsigned long )(buf) + __cil_tmp39;
5286#line 313
5287    *((u8 *)__cil_tmp40) = (u8 )128U;
5288  }
5289  }
5290  {
5291#line 315
5292  __cil_tmp41 = (unsigned long )ds3232;
5293#line 315
5294  __cil_tmp42 = __cil_tmp41 + 8;
5295#line 315
5296  __cil_tmp43 = *((struct rtc_device **)__cil_tmp42);
5297#line 315
5298  __cil_tmp44 = (unsigned long )__cil_tmp43;
5299#line 315
5300  __cil_tmp45 = __cil_tmp44 + 1472;
5301#line 315
5302  __cil_tmp46 = *((unsigned long *)__cil_tmp45);
5303#line 315
5304  __cil_tmp47 = __cil_tmp46 & 16UL;
5305#line 315
5306  if (__cil_tmp47 == 0UL) {
5307#line 315
5308    __cil_tmp48 = 2 * 1UL;
5309#line 315
5310    __cil_tmp49 = (unsigned long )(buf) + __cil_tmp48;
5311#line 315
5312    __cil_tmp50 = 2 * 1UL;
5313#line 315
5314    __cil_tmp51 = (unsigned long )(buf) + __cil_tmp50;
5315#line 315
5316    *((u8 *)__cil_tmp49) = *((u8 *)__cil_tmp51);
5317  } else {
5318#line 315
5319    __cil_tmp52 = 2 * 1UL;
5320#line 315
5321    __cil_tmp53 = (unsigned long )(buf) + __cil_tmp52;
5322#line 315
5323    *((u8 *)__cil_tmp53) = (u8 )128U;
5324  }
5325  }
5326  {
5327#line 317
5328  __cil_tmp54 = (unsigned long )ds3232;
5329#line 317
5330  __cil_tmp55 = __cil_tmp54 + 8;
5331#line 317
5332  __cil_tmp56 = *((struct rtc_device **)__cil_tmp55);
5333#line 317
5334  __cil_tmp57 = (unsigned long )__cil_tmp56;
5335#line 317
5336  __cil_tmp58 = __cil_tmp57 + 1472;
5337#line 317
5338  __cil_tmp59 = *((unsigned long *)__cil_tmp58);
5339#line 317
5340  __cil_tmp60 = __cil_tmp59 & 16UL;
5341#line 317
5342  if (__cil_tmp60 == 0UL) {
5343#line 317
5344    __cil_tmp61 = 3 * 1UL;
5345#line 317
5346    __cil_tmp62 = (unsigned long )(buf) + __cil_tmp61;
5347#line 317
5348    __cil_tmp63 = 3 * 1UL;
5349#line 317
5350    __cil_tmp64 = (unsigned long )(buf) + __cil_tmp63;
5351#line 317
5352    *((u8 *)__cil_tmp62) = *((u8 *)__cil_tmp64);
5353  } else {
5354#line 317
5355    __cil_tmp65 = 3 * 1UL;
5356#line 317
5357    __cil_tmp66 = (unsigned long )(buf) + __cil_tmp65;
5358#line 317
5359    *((u8 *)__cil_tmp66) = (u8 )128U;
5360  }
5361  }
5362  {
5363#line 320
5364  __cil_tmp67 = (struct i2c_client  const  *)client;
5365#line 320
5366  __cil_tmp68 = (u8 )7;
5367#line 320
5368  __cil_tmp69 = (u8 )4;
5369#line 320
5370  __cil_tmp70 = (u8 const   *)(& buf);
5371#line 320
5372  ret = i2c_smbus_write_i2c_block_data(__cil_tmp67, __cil_tmp68, __cil_tmp69, __cil_tmp70);
5373  }
5374#line 321
5375  if (ret < 0) {
5376#line 322
5377    goto unlock;
5378  } else {
5379
5380  }
5381  {
5382#line 324
5383  __cil_tmp71 = (struct i2c_client  const  *)client;
5384#line 324
5385  __cil_tmp72 = (u8 )14;
5386#line 324
5387  control = i2c_smbus_read_byte_data(__cil_tmp71, __cil_tmp72);
5388  }
5389#line 325
5390  if (control < 0) {
5391#line 326
5392    goto unlock;
5393  } else {
5394
5395  }
5396  {
5397#line 328
5398  __cil_tmp73 = (unsigned long )ds3232;
5399#line 328
5400  __cil_tmp74 = __cil_tmp73 + 8;
5401#line 328
5402  __cil_tmp75 = *((struct rtc_device **)__cil_tmp74);
5403#line 328
5404  __cil_tmp76 = (unsigned long )__cil_tmp75;
5405#line 328
5406  __cil_tmp77 = __cil_tmp76 + 1472;
5407#line 328
5408  __cil_tmp78 = *((unsigned long *)__cil_tmp77);
5409#line 328
5410  __cil_tmp79 = __cil_tmp78 & 48UL;
5411#line 328
5412  if (__cil_tmp79 != 0UL) {
5413#line 330
5414    control = control | 1;
5415  } else {
5416#line 333
5417    control = control & -2;
5418  }
5419  }
5420  {
5421#line 334
5422  __cil_tmp80 = (struct i2c_client  const  *)client;
5423#line 334
5424  __cil_tmp81 = (u8 )14;
5425#line 334
5426  __cil_tmp82 = (u8 )control;
5427#line 334
5428  __cil_tmp83 = (int )__cil_tmp82;
5429#line 334
5430  __cil_tmp84 = (u8 )__cil_tmp83;
5431#line 334
5432  i2c_smbus_write_byte_data(__cil_tmp80, __cil_tmp81, __cil_tmp84);
5433  }
5434  unlock: 
5435  {
5436#line 337
5437  __cil_tmp85 = (unsigned long )ds3232;
5438#line 337
5439  __cil_tmp86 = __cil_tmp85 + 96;
5440#line 337
5441  __cil_tmp87 = (struct mutex *)__cil_tmp86;
5442#line 337
5443  mutex_unlock(__cil_tmp87);
5444  }
5445#line 338
5446  return;
5447}
5448}
5449#line 340 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5450static int ds3232_alarm_irq_enable(struct device *dev , unsigned int enabled ) 
5451{ struct i2c_client *client ;
5452  struct device  const  *__mptr ;
5453  struct ds3232 *ds3232 ;
5454  void *tmp ;
5455  struct i2c_client *__cil_tmp7 ;
5456  struct i2c_client  const  *__cil_tmp8 ;
5457  unsigned long __cil_tmp9 ;
5458  unsigned long __cil_tmp10 ;
5459  int __cil_tmp11 ;
5460  unsigned long __cil_tmp12 ;
5461  unsigned long __cil_tmp13 ;
5462  struct rtc_device *__cil_tmp14 ;
5463  unsigned long __cil_tmp15 ;
5464  unsigned long __cil_tmp16 ;
5465  unsigned long __cil_tmp17 ;
5466  unsigned long __cil_tmp18 ;
5467  struct rtc_device *__cil_tmp19 ;
5468  unsigned long __cil_tmp20 ;
5469  unsigned long __cil_tmp21 ;
5470  unsigned long __cil_tmp22 ;
5471  unsigned long __cil_tmp23 ;
5472  unsigned long __cil_tmp24 ;
5473  struct rtc_device *__cil_tmp25 ;
5474  unsigned long __cil_tmp26 ;
5475  unsigned long __cil_tmp27 ;
5476  unsigned long __cil_tmp28 ;
5477  unsigned long __cil_tmp29 ;
5478  struct rtc_device *__cil_tmp30 ;
5479  unsigned long __cil_tmp31 ;
5480  unsigned long __cil_tmp32 ;
5481  unsigned long __cil_tmp33 ;
5482
5483  {
5484  {
5485#line 342
5486  __mptr = (struct device  const  *)dev;
5487#line 342
5488  __cil_tmp7 = (struct i2c_client *)__mptr;
5489#line 342
5490  client = __cil_tmp7 + 0xffffffffffffffd8UL;
5491#line 343
5492  __cil_tmp8 = (struct i2c_client  const  *)client;
5493#line 343
5494  tmp = i2c_get_clientdata(__cil_tmp8);
5495#line 343
5496  ds3232 = (struct ds3232 *)tmp;
5497  }
5498  {
5499#line 345
5500  __cil_tmp9 = (unsigned long )client;
5501#line 345
5502  __cil_tmp10 = __cil_tmp9 + 1192;
5503#line 345
5504  __cil_tmp11 = *((int *)__cil_tmp10);
5505#line 345
5506  if (__cil_tmp11 <= 0) {
5507#line 346
5508    return (-22);
5509  } else {
5510
5511  }
5512  }
5513#line 348
5514  if (enabled != 0U) {
5515#line 349
5516    __cil_tmp12 = (unsigned long )ds3232;
5517#line 349
5518    __cil_tmp13 = __cil_tmp12 + 8;
5519#line 349
5520    __cil_tmp14 = *((struct rtc_device **)__cil_tmp13);
5521#line 349
5522    __cil_tmp15 = (unsigned long )__cil_tmp14;
5523#line 349
5524    __cil_tmp16 = __cil_tmp15 + 1472;
5525#line 349
5526    __cil_tmp17 = (unsigned long )ds3232;
5527#line 349
5528    __cil_tmp18 = __cil_tmp17 + 8;
5529#line 349
5530    __cil_tmp19 = *((struct rtc_device **)__cil_tmp18);
5531#line 349
5532    __cil_tmp20 = (unsigned long )__cil_tmp19;
5533#line 349
5534    __cil_tmp21 = __cil_tmp20 + 1472;
5535#line 349
5536    __cil_tmp22 = *((unsigned long *)__cil_tmp21);
5537#line 349
5538    *((unsigned long *)__cil_tmp16) = __cil_tmp22 | 32UL;
5539  } else {
5540#line 351
5541    __cil_tmp23 = (unsigned long )ds3232;
5542#line 351
5543    __cil_tmp24 = __cil_tmp23 + 8;
5544#line 351
5545    __cil_tmp25 = *((struct rtc_device **)__cil_tmp24);
5546#line 351
5547    __cil_tmp26 = (unsigned long )__cil_tmp25;
5548#line 351
5549    __cil_tmp27 = __cil_tmp26 + 1472;
5550#line 351
5551    __cil_tmp28 = (unsigned long )ds3232;
5552#line 351
5553    __cil_tmp29 = __cil_tmp28 + 8;
5554#line 351
5555    __cil_tmp30 = *((struct rtc_device **)__cil_tmp29);
5556#line 351
5557    __cil_tmp31 = (unsigned long )__cil_tmp30;
5558#line 351
5559    __cil_tmp32 = __cil_tmp31 + 1472;
5560#line 351
5561    __cil_tmp33 = *((unsigned long *)__cil_tmp32);
5562#line 351
5563    *((unsigned long *)__cil_tmp27) = __cil_tmp33 & 0xffffffffffffffdfUL;
5564  }
5565  {
5566#line 353
5567  ds3232_update_alarm(client);
5568  }
5569#line 354
5570  return (0);
5571}
5572}
5573#line 357 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5574static irqreturn_t ds3232_irq(int irq , void *dev_id ) 
5575{ struct i2c_client *client ;
5576  struct ds3232 *ds3232 ;
5577  void *tmp ;
5578  struct i2c_client  const  *__cil_tmp6 ;
5579  unsigned int __cil_tmp7 ;
5580  unsigned long __cil_tmp8 ;
5581  unsigned long __cil_tmp9 ;
5582  struct work_struct *__cil_tmp10 ;
5583
5584  {
5585  {
5586#line 359
5587  client = (struct i2c_client *)dev_id;
5588#line 360
5589  __cil_tmp6 = (struct i2c_client  const  *)client;
5590#line 360
5591  tmp = i2c_get_clientdata(__cil_tmp6);
5592#line 360
5593  ds3232 = (struct ds3232 *)tmp;
5594#line 362
5595  __cil_tmp7 = (unsigned int )irq;
5596#line 362
5597  disable_irq_nosync(__cil_tmp7);
5598#line 363
5599  __cil_tmp8 = (unsigned long )ds3232;
5600#line 363
5601  __cil_tmp9 = __cil_tmp8 + 16;
5602#line 363
5603  __cil_tmp10 = (struct work_struct *)__cil_tmp9;
5604#line 363
5605  schedule_work(__cil_tmp10);
5606  }
5607#line 364
5608  return ((irqreturn_t )1);
5609}
5610}
5611#line 367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5612static void ds3232_work(struct work_struct *work ) 
5613{ struct ds3232 *ds3232 ;
5614  struct work_struct  const  *__mptr ;
5615  struct i2c_client *client ;
5616  int stat ;
5617  int control ;
5618  struct ds3232 *__cil_tmp7 ;
5619  unsigned long __cil_tmp8 ;
5620  unsigned long __cil_tmp9 ;
5621  struct mutex *__cil_tmp10 ;
5622  struct i2c_client  const  *__cil_tmp11 ;
5623  u8 __cil_tmp12 ;
5624  struct i2c_client  const  *__cil_tmp13 ;
5625  u8 __cil_tmp14 ;
5626  struct i2c_client  const  *__cil_tmp15 ;
5627  u8 __cil_tmp16 ;
5628  u8 __cil_tmp17 ;
5629  int __cil_tmp18 ;
5630  u8 __cil_tmp19 ;
5631  struct i2c_client  const  *__cil_tmp20 ;
5632  u8 __cil_tmp21 ;
5633  u8 __cil_tmp22 ;
5634  int __cil_tmp23 ;
5635  u8 __cil_tmp24 ;
5636  unsigned long __cil_tmp25 ;
5637  unsigned long __cil_tmp26 ;
5638  struct rtc_device *__cil_tmp27 ;
5639  unsigned long __cil_tmp28 ;
5640  unsigned long __cil_tmp29 ;
5641  int __cil_tmp30 ;
5642  unsigned long __cil_tmp31 ;
5643  unsigned long __cil_tmp32 ;
5644  int __cil_tmp33 ;
5645  unsigned int __cil_tmp34 ;
5646  unsigned long __cil_tmp35 ;
5647  unsigned long __cil_tmp36 ;
5648  struct mutex *__cil_tmp37 ;
5649
5650  {
5651  {
5652#line 369
5653  __mptr = (struct work_struct  const  *)work;
5654#line 369
5655  __cil_tmp7 = (struct ds3232 *)__mptr;
5656#line 369
5657  ds3232 = __cil_tmp7 + 0xfffffffffffffff0UL;
5658#line 370
5659  client = *((struct i2c_client **)ds3232);
5660#line 373
5661  __cil_tmp8 = (unsigned long )ds3232;
5662#line 373
5663  __cil_tmp9 = __cil_tmp8 + 96;
5664#line 373
5665  __cil_tmp10 = (struct mutex *)__cil_tmp9;
5666#line 373
5667  mutex_lock_nested(__cil_tmp10, 0U);
5668#line 375
5669  __cil_tmp11 = (struct i2c_client  const  *)client;
5670#line 375
5671  __cil_tmp12 = (u8 )15;
5672#line 375
5673  stat = i2c_smbus_read_byte_data(__cil_tmp11, __cil_tmp12);
5674  }
5675#line 376
5676  if (stat < 0) {
5677#line 377
5678    goto unlock;
5679  } else {
5680
5681  }
5682#line 379
5683  if (stat & 1) {
5684    {
5685#line 380
5686    __cil_tmp13 = (struct i2c_client  const  *)client;
5687#line 380
5688    __cil_tmp14 = (u8 )14;
5689#line 380
5690    control = i2c_smbus_read_byte_data(__cil_tmp13, __cil_tmp14);
5691    }
5692#line 381
5693    if (control < 0) {
5694#line 382
5695      goto out;
5696    } else {
5697
5698    }
5699    {
5700#line 384
5701    control = control & -2;
5702#line 385
5703    __cil_tmp15 = (struct i2c_client  const  *)client;
5704#line 385
5705    __cil_tmp16 = (u8 )14;
5706#line 385
5707    __cil_tmp17 = (u8 )control;
5708#line 385
5709    __cil_tmp18 = (int )__cil_tmp17;
5710#line 385
5711    __cil_tmp19 = (u8 )__cil_tmp18;
5712#line 385
5713    i2c_smbus_write_byte_data(__cil_tmp15, __cil_tmp16, __cil_tmp19);
5714#line 388
5715    stat = stat & -2;
5716#line 389
5717    __cil_tmp20 = (struct i2c_client  const  *)client;
5718#line 389
5719    __cil_tmp21 = (u8 )15;
5720#line 389
5721    __cil_tmp22 = (u8 )stat;
5722#line 389
5723    __cil_tmp23 = (int )__cil_tmp22;
5724#line 389
5725    __cil_tmp24 = (u8 )__cil_tmp23;
5726#line 389
5727    i2c_smbus_write_byte_data(__cil_tmp20, __cil_tmp21, __cil_tmp24);
5728#line 391
5729    __cil_tmp25 = (unsigned long )ds3232;
5730#line 391
5731    __cil_tmp26 = __cil_tmp25 + 8;
5732#line 391
5733    __cil_tmp27 = *((struct rtc_device **)__cil_tmp26);
5734#line 391
5735    rtc_update_irq(__cil_tmp27, 1UL, 160UL);
5736    }
5737  } else {
5738
5739  }
5740  out: ;
5741  {
5742#line 395
5743  __cil_tmp28 = (unsigned long )ds3232;
5744#line 395
5745  __cil_tmp29 = __cil_tmp28 + 264;
5746#line 395
5747  __cil_tmp30 = *((int *)__cil_tmp29);
5748#line 395
5749  if (__cil_tmp30 == 0) {
5750    {
5751#line 396
5752    __cil_tmp31 = (unsigned long )client;
5753#line 396
5754    __cil_tmp32 = __cil_tmp31 + 1192;
5755#line 396
5756    __cil_tmp33 = *((int *)__cil_tmp32);
5757#line 396
5758    __cil_tmp34 = (unsigned int )__cil_tmp33;
5759#line 396
5760    enable_irq(__cil_tmp34);
5761    }
5762  } else {
5763
5764  }
5765  }
5766  unlock: 
5767  {
5768#line 398
5769  __cil_tmp35 = (unsigned long )ds3232;
5770#line 398
5771  __cil_tmp36 = __cil_tmp35 + 96;
5772#line 398
5773  __cil_tmp37 = (struct mutex *)__cil_tmp36;
5774#line 398
5775  mutex_unlock(__cil_tmp37);
5776  }
5777#line 399
5778  return;
5779}
5780}
5781#line 401 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5782static struct rtc_class_ops  const  ds3232_rtc_ops  = 
5783#line 401
5784     {(int (*)(struct device * ))0, (void (*)(struct device * ))0, (int (*)(struct device * ,
5785                                                                          unsigned int  ,
5786                                                                          unsigned long  ))0,
5787    & ds3232_read_time, & ds3232_set_time, & ds3232_read_alarm, & ds3232_set_alarm,
5788    (int (*)(struct device * , struct seq_file * ))0, (int (*)(struct device * , unsigned long  ))0,
5789    (int (*)(struct device * , int  ))0, & ds3232_alarm_irq_enable};
5790#line 409 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
5791static int ds3232_probe(struct i2c_client *client , struct i2c_device_id  const  *id ) 
5792{ struct ds3232 *ds3232 ;
5793  int ret ;
5794  void *tmp ;
5795  struct lock_class_key __key ;
5796  atomic_long_t __constr_expr_0 ;
5797  struct lock_class_key __key___0 ;
5798  long tmp___0 ;
5799  long tmp___1 ;
5800  struct ds3232 *__cil_tmp11 ;
5801  unsigned long __cil_tmp12 ;
5802  unsigned long __cil_tmp13 ;
5803  void *__cil_tmp14 ;
5804  unsigned long __cil_tmp15 ;
5805  unsigned long __cil_tmp16 ;
5806  struct work_struct *__cil_tmp17 ;
5807  unsigned long __cil_tmp18 ;
5808  unsigned long __cil_tmp19 ;
5809  unsigned long __cil_tmp20 ;
5810  unsigned long __cil_tmp21 ;
5811  unsigned long __cil_tmp22 ;
5812  struct lockdep_map *__cil_tmp23 ;
5813  unsigned long __cil_tmp24 ;
5814  unsigned long __cil_tmp25 ;
5815  unsigned long __cil_tmp26 ;
5816  struct list_head *__cil_tmp27 ;
5817  unsigned long __cil_tmp28 ;
5818  unsigned long __cil_tmp29 ;
5819  unsigned long __cil_tmp30 ;
5820  unsigned long __cil_tmp31 ;
5821  unsigned long __cil_tmp32 ;
5822  struct mutex *__cil_tmp33 ;
5823  unsigned long __cil_tmp34 ;
5824  unsigned long __cil_tmp35 ;
5825  unsigned long __cil_tmp36 ;
5826  unsigned long __cil_tmp37 ;
5827  char (*__cil_tmp38)[20U] ;
5828  char const   *__cil_tmp39 ;
5829  unsigned long __cil_tmp40 ;
5830  unsigned long __cil_tmp41 ;
5831  struct device *__cil_tmp42 ;
5832  unsigned long __cil_tmp43 ;
5833  unsigned long __cil_tmp44 ;
5834  struct rtc_device *__cil_tmp45 ;
5835  void const   *__cil_tmp46 ;
5836  unsigned long __cil_tmp47 ;
5837  unsigned long __cil_tmp48 ;
5838  struct rtc_device *__cil_tmp49 ;
5839  void const   *__cil_tmp50 ;
5840  unsigned long __cil_tmp51 ;
5841  unsigned long __cil_tmp52 ;
5842  struct device *__cil_tmp53 ;
5843  struct device  const  *__cil_tmp54 ;
5844  unsigned long __cil_tmp55 ;
5845  unsigned long __cil_tmp56 ;
5846  int __cil_tmp57 ;
5847  unsigned long __cil_tmp58 ;
5848  unsigned long __cil_tmp59 ;
5849  int __cil_tmp60 ;
5850  unsigned int __cil_tmp61 ;
5851  void *__cil_tmp62 ;
5852  unsigned long __cil_tmp63 ;
5853  unsigned long __cil_tmp64 ;
5854  struct device *__cil_tmp65 ;
5855  struct device  const  *__cil_tmp66 ;
5856  unsigned long __cil_tmp67 ;
5857  unsigned long __cil_tmp68 ;
5858  int __cil_tmp69 ;
5859  unsigned long __cil_tmp70 ;
5860  unsigned long __cil_tmp71 ;
5861  int __cil_tmp72 ;
5862  unsigned int __cil_tmp73 ;
5863  void *__cil_tmp74 ;
5864  void const   *__cil_tmp75 ;
5865  long __constr_expr_0_counter76 ;
5866
5867  {
5868  {
5869#line 415
5870  tmp = kzalloc(272UL, 208U);
5871#line 415
5872  ds3232 = (struct ds3232 *)tmp;
5873  }
5874  {
5875#line 416
5876  __cil_tmp11 = (struct ds3232 *)0;
5877#line 416
5878  __cil_tmp12 = (unsigned long )__cil_tmp11;
5879#line 416
5880  __cil_tmp13 = (unsigned long )ds3232;
5881#line 416
5882  if (__cil_tmp13 == __cil_tmp12) {
5883#line 417
5884    return (-12);
5885  } else {
5886
5887  }
5888  }
5889  {
5890#line 419
5891  *((struct i2c_client **)ds3232) = client;
5892#line 420
5893  __cil_tmp14 = (void *)ds3232;
5894#line 420
5895  i2c_set_clientdata(client, __cil_tmp14);
5896#line 422
5897  __cil_tmp15 = (unsigned long )ds3232;
5898#line 422
5899  __cil_tmp16 = __cil_tmp15 + 16;
5900#line 422
5901  __cil_tmp17 = (struct work_struct *)__cil_tmp16;
5902#line 422
5903  __init_work(__cil_tmp17, 0);
5904#line 422
5905  __constr_expr_0_counter76 = 2097664L;
5906#line 422
5907  __cil_tmp18 = (unsigned long )ds3232;
5908#line 422
5909  __cil_tmp19 = __cil_tmp18 + 16;
5910#line 422
5911  ((atomic_long_t *)__cil_tmp19)->counter = __constr_expr_0_counter76;
5912#line 422
5913  __cil_tmp20 = 16 + 32;
5914#line 422
5915  __cil_tmp21 = (unsigned long )ds3232;
5916#line 422
5917  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
5918#line 422
5919  __cil_tmp23 = (struct lockdep_map *)__cil_tmp22;
5920#line 422
5921  lockdep_init_map(__cil_tmp23, "(&ds3232->work)", & __key, 0);
5922#line 422
5923  __cil_tmp24 = 16 + 8;
5924#line 422
5925  __cil_tmp25 = (unsigned long )ds3232;
5926#line 422
5927  __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
5928#line 422
5929  __cil_tmp27 = (struct list_head *)__cil_tmp26;
5930#line 422
5931  INIT_LIST_HEAD(__cil_tmp27);
5932#line 422
5933  __cil_tmp28 = 16 + 24;
5934#line 422
5935  __cil_tmp29 = (unsigned long )ds3232;
5936#line 422
5937  __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
5938#line 422
5939  *((void (**)(struct work_struct * ))__cil_tmp30) = & ds3232_work;
5940#line 423
5941  __cil_tmp31 = (unsigned long )ds3232;
5942#line 423
5943  __cil_tmp32 = __cil_tmp31 + 96;
5944#line 423
5945  __cil_tmp33 = (struct mutex *)__cil_tmp32;
5946#line 423
5947  __mutex_init(__cil_tmp33, "&ds3232->mutex", & __key___0);
5948#line 425
5949  ret = ds3232_check_rtc_status(client);
5950  }
5951#line 426
5952  if (ret != 0) {
5953#line 427
5954    goto out_free;
5955  } else {
5956
5957  }
5958  {
5959#line 429
5960  __cil_tmp34 = (unsigned long )ds3232;
5961#line 429
5962  __cil_tmp35 = __cil_tmp34 + 8;
5963#line 429
5964  __cil_tmp36 = (unsigned long )client;
5965#line 429
5966  __cil_tmp37 = __cil_tmp36 + 4;
5967#line 429
5968  __cil_tmp38 = (char (*)[20U])__cil_tmp37;
5969#line 429
5970  __cil_tmp39 = (char const   *)__cil_tmp38;
5971#line 429
5972  __cil_tmp40 = (unsigned long )client;
5973#line 429
5974  __cil_tmp41 = __cil_tmp40 + 40;
5975#line 429
5976  __cil_tmp42 = (struct device *)__cil_tmp41;
5977#line 429
5978  *((struct rtc_device **)__cil_tmp35) = rtc_device_register(__cil_tmp39, __cil_tmp42,
5979                                                             & ds3232_rtc_ops, & __this_module);
5980#line 431
5981  __cil_tmp43 = (unsigned long )ds3232;
5982#line 431
5983  __cil_tmp44 = __cil_tmp43 + 8;
5984#line 431
5985  __cil_tmp45 = *((struct rtc_device **)__cil_tmp44);
5986#line 431
5987  __cil_tmp46 = (void const   *)__cil_tmp45;
5988#line 431
5989  tmp___1 = IS_ERR(__cil_tmp46);
5990  }
5991#line 431
5992  if (tmp___1 != 0L) {
5993    {
5994#line 432
5995    __cil_tmp47 = (unsigned long )ds3232;
5996#line 432
5997    __cil_tmp48 = __cil_tmp47 + 8;
5998#line 432
5999    __cil_tmp49 = *((struct rtc_device **)__cil_tmp48);
6000#line 432
6001    __cil_tmp50 = (void const   *)__cil_tmp49;
6002#line 432
6003    tmp___0 = PTR_ERR(__cil_tmp50);
6004#line 432
6005    ret = (int )tmp___0;
6006#line 433
6007    __cil_tmp51 = (unsigned long )client;
6008#line 433
6009    __cil_tmp52 = __cil_tmp51 + 40;
6010#line 433
6011    __cil_tmp53 = (struct device *)__cil_tmp52;
6012#line 433
6013    __cil_tmp54 = (struct device  const  *)__cil_tmp53;
6014#line 433
6015    dev_err(__cil_tmp54, "unable to register the class device\n");
6016    }
6017#line 434
6018    goto out_irq;
6019  } else {
6020
6021  }
6022  {
6023#line 437
6024  __cil_tmp55 = (unsigned long )client;
6025#line 437
6026  __cil_tmp56 = __cil_tmp55 + 1192;
6027#line 437
6028  __cil_tmp57 = *((int *)__cil_tmp56);
6029#line 437
6030  if (__cil_tmp57 >= 0) {
6031    {
6032#line 438
6033    __cil_tmp58 = (unsigned long )client;
6034#line 438
6035    __cil_tmp59 = __cil_tmp58 + 1192;
6036#line 438
6037    __cil_tmp60 = *((int *)__cil_tmp59);
6038#line 438
6039    __cil_tmp61 = (unsigned int )__cil_tmp60;
6040#line 438
6041    __cil_tmp62 = (void *)client;
6042#line 438
6043    ret = request_irq(__cil_tmp61, & ds3232_irq, 0UL, "ds3232", __cil_tmp62);
6044    }
6045#line 440
6046    if (ret != 0) {
6047      {
6048#line 441
6049      __cil_tmp63 = (unsigned long )client;
6050#line 441
6051      __cil_tmp64 = __cil_tmp63 + 40;
6052#line 441
6053      __cil_tmp65 = (struct device *)__cil_tmp64;
6054#line 441
6055      __cil_tmp66 = (struct device  const  *)__cil_tmp65;
6056#line 441
6057      dev_err(__cil_tmp66, "unable to request IRQ\n");
6058      }
6059#line 442
6060      goto out_free;
6061    } else {
6062
6063    }
6064  } else {
6065
6066  }
6067  }
6068#line 446
6069  return (0);
6070  out_irq: ;
6071  {
6072#line 449
6073  __cil_tmp67 = (unsigned long )client;
6074#line 449
6075  __cil_tmp68 = __cil_tmp67 + 1192;
6076#line 449
6077  __cil_tmp69 = *((int *)__cil_tmp68);
6078#line 449
6079  if (__cil_tmp69 >= 0) {
6080    {
6081#line 450
6082    __cil_tmp70 = (unsigned long )client;
6083#line 450
6084    __cil_tmp71 = __cil_tmp70 + 1192;
6085#line 450
6086    __cil_tmp72 = *((int *)__cil_tmp71);
6087#line 450
6088    __cil_tmp73 = (unsigned int )__cil_tmp72;
6089#line 450
6090    __cil_tmp74 = (void *)client;
6091#line 450
6092    free_irq(__cil_tmp73, __cil_tmp74);
6093    }
6094  } else {
6095
6096  }
6097  }
6098  out_free: 
6099  {
6100#line 453
6101  __cil_tmp75 = (void const   *)ds3232;
6102#line 453
6103  kfree(__cil_tmp75);
6104  }
6105#line 454
6106  return (ret);
6107}
6108}
6109#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6110struct i2c_device_id  const  __mod_i2c_device_table  ;
6111#line 513
6112extern void ldv_check_final_state(void) ;
6113#line 516
6114extern void ldv_check_return_value(int  ) ;
6115#line 519
6116extern void ldv_initialize(void) ;
6117#line 522
6118extern int __VERIFIER_nondet_int(void) ;
6119#line 525 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6120int LDV_IN_INTERRUPT  ;
6121#line 528 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6122void main(void) 
6123{ struct device *var_group1 ;
6124  struct rtc_time *var_group2 ;
6125  struct rtc_wkalrm *var_group3 ;
6126  unsigned int var_ds3232_alarm_irq_enable_6_p1 ;
6127  struct i2c_client *var_group4 ;
6128  struct i2c_device_id  const  *var_ds3232_probe_9_p1 ;
6129  int res_ds3232_probe_9 ;
6130  int var_ds3232_irq_7_p0 ;
6131  void *var_ds3232_irq_7_p1 ;
6132  int ldv_s_ds3232_driver_i2c_driver ;
6133  int tmp ;
6134  int tmp___0 ;
6135
6136  {
6137  {
6138#line 744
6139  ldv_s_ds3232_driver_i2c_driver = 0;
6140#line 732
6141  LDV_IN_INTERRUPT = 1;
6142#line 741
6143  ldv_initialize();
6144  }
6145#line 749
6146  goto ldv_23924;
6147  ldv_23923: 
6148  {
6149#line 753
6150  tmp = __VERIFIER_nondet_int();
6151  }
6152#line 755
6153  if (tmp == 0) {
6154#line 755
6155    goto case_0;
6156  } else
6157#line 793
6158  if (tmp == 1) {
6159#line 793
6160    goto case_1;
6161  } else
6162#line 831
6163  if (tmp == 2) {
6164#line 831
6165    goto case_2;
6166  } else
6167#line 869
6168  if (tmp == 3) {
6169#line 869
6170    goto case_3;
6171  } else
6172#line 907
6173  if (tmp == 4) {
6174#line 907
6175    goto case_4;
6176  } else
6177#line 945
6178  if (tmp == 5) {
6179#line 945
6180    goto case_5;
6181  } else
6182#line 986
6183  if (tmp == 6) {
6184#line 986
6185    goto case_6;
6186  } else {
6187    {
6188#line 1024
6189    goto switch_default;
6190#line 753
6191    if (0) {
6192      case_0: /* CIL Label */ 
6193      {
6194#line 785
6195      ds3232_read_time(var_group1, var_group2);
6196      }
6197#line 792
6198      goto ldv_23914;
6199      case_1: /* CIL Label */ 
6200      {
6201#line 823
6202      ds3232_set_time(var_group1, var_group2);
6203      }
6204#line 830
6205      goto ldv_23914;
6206      case_2: /* CIL Label */ 
6207      {
6208#line 861
6209      ds3232_read_alarm(var_group1, var_group3);
6210      }
6211#line 868
6212      goto ldv_23914;
6213      case_3: /* CIL Label */ 
6214      {
6215#line 899
6216      ds3232_set_alarm(var_group1, var_group3);
6217      }
6218#line 906
6219      goto ldv_23914;
6220      case_4: /* CIL Label */ 
6221      {
6222#line 937
6223      ds3232_alarm_irq_enable(var_group1, var_ds3232_alarm_irq_enable_6_p1);
6224      }
6225#line 944
6226      goto ldv_23914;
6227      case_5: /* CIL Label */ ;
6228#line 948
6229      if (ldv_s_ds3232_driver_i2c_driver == 0) {
6230        {
6231#line 975
6232        res_ds3232_probe_9 = ds3232_probe(var_group4, var_ds3232_probe_9_p1);
6233#line 976
6234        ldv_check_return_value(res_ds3232_probe_9);
6235        }
6236#line 977
6237        if (res_ds3232_probe_9 != 0) {
6238#line 978
6239          goto ldv_module_exit;
6240        } else {
6241
6242        }
6243#line 979
6244        ldv_s_ds3232_driver_i2c_driver = 0;
6245      } else {
6246
6247      }
6248#line 985
6249      goto ldv_23914;
6250      case_6: /* CIL Label */ 
6251      {
6252#line 989
6253      LDV_IN_INTERRUPT = 2;
6254#line 1016
6255      ds3232_irq(var_ds3232_irq_7_p0, var_ds3232_irq_7_p1);
6256#line 1017
6257      LDV_IN_INTERRUPT = 1;
6258      }
6259#line 1023
6260      goto ldv_23914;
6261      switch_default: /* CIL Label */ ;
6262#line 1024
6263      goto ldv_23914;
6264    } else {
6265      switch_break: /* CIL Label */ ;
6266    }
6267    }
6268  }
6269  ldv_23914: ;
6270  ldv_23924: 
6271  {
6272#line 749
6273  tmp___0 = __VERIFIER_nondet_int();
6274  }
6275#line 749
6276  if (tmp___0 != 0) {
6277#line 751
6278    goto ldv_23923;
6279  } else
6280#line 749
6281  if (ldv_s_ds3232_driver_i2c_driver != 0) {
6282#line 751
6283    goto ldv_23923;
6284  } else {
6285#line 753
6286    goto ldv_23925;
6287  }
6288  ldv_23925: ;
6289  ldv_module_exit: ;
6290  {
6291#line 1033
6292  ldv_check_final_state();
6293  }
6294#line 1036
6295  return;
6296}
6297}
6298#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
6299void ldv_blast_assert(void) 
6300{ 
6301
6302  {
6303  ERROR: ;
6304#line 6
6305  goto ERROR;
6306}
6307}
6308#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
6309extern int __VERIFIER_nondet_int(void) ;
6310#line 1057 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6311int ldv_spin  =    0;
6312#line 1061 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6313void ldv_check_alloc_flags(gfp_t flags ) 
6314{ 
6315
6316  {
6317#line 1064
6318  if (ldv_spin != 0) {
6319#line 1064
6320    if (flags != 32U) {
6321      {
6322#line 1064
6323      ldv_blast_assert();
6324      }
6325    } else {
6326
6327    }
6328  } else {
6329
6330  }
6331#line 1067
6332  return;
6333}
6334}
6335#line 1067
6336extern struct page *ldv_some_page(void) ;
6337#line 1070 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6338struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
6339{ struct page *tmp ;
6340
6341  {
6342#line 1073
6343  if (ldv_spin != 0) {
6344#line 1073
6345    if (flags != 32U) {
6346      {
6347#line 1073
6348      ldv_blast_assert();
6349      }
6350    } else {
6351
6352    }
6353  } else {
6354
6355  }
6356  {
6357#line 1075
6358  tmp = ldv_some_page();
6359  }
6360#line 1075
6361  return (tmp);
6362}
6363}
6364#line 1079 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6365void ldv_check_alloc_nonatomic(void) 
6366{ 
6367
6368  {
6369#line 1082
6370  if (ldv_spin != 0) {
6371    {
6372#line 1082
6373    ldv_blast_assert();
6374    }
6375  } else {
6376
6377  }
6378#line 1085
6379  return;
6380}
6381}
6382#line 1086 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6383void ldv_spin_lock(void) 
6384{ 
6385
6386  {
6387#line 1089
6388  ldv_spin = 1;
6389#line 1090
6390  return;
6391}
6392}
6393#line 1093 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6394void ldv_spin_unlock(void) 
6395{ 
6396
6397  {
6398#line 1096
6399  ldv_spin = 0;
6400#line 1097
6401  return;
6402}
6403}
6404#line 1100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6405int ldv_spin_trylock(void) 
6406{ int is_lock ;
6407
6408  {
6409  {
6410#line 1105
6411  is_lock = __VERIFIER_nondet_int();
6412  }
6413#line 1107
6414  if (is_lock != 0) {
6415#line 1110
6416    return (0);
6417  } else {
6418#line 1115
6419    ldv_spin = 1;
6420#line 1117
6421    return (1);
6422  }
6423}
6424}
6425#line 1284 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6426void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
6427{ 
6428
6429  {
6430  {
6431#line 1290
6432  ldv_check_alloc_flags(ldv_func_arg2);
6433#line 1292
6434  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
6435  }
6436#line 1293
6437  return ((void *)0);
6438}
6439}
6440#line 1295 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2642/dscv_tempdir/dscv/ri/43_1a/drivers/rtc/rtc-ds3232.c.p"
6441__inline static void *kzalloc(size_t size , gfp_t flags ) 
6442{ void *tmp ;
6443
6444  {
6445  {
6446#line 1301
6447  ldv_check_alloc_flags(flags);
6448#line 1302
6449  tmp = __VERIFIER_nondet_pointer();
6450  }
6451#line 1302
6452  return (tmp);
6453}
6454}