Showing error 598

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