Showing error 304

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--i2c--algos--i2c-algo-pca.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 5478
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 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 111 "include/linux/types.h"
  75typedef __s32 int32_t;
  76#line 117 "include/linux/types.h"
  77typedef __u32 uint32_t;
  78#line 219 "include/linux/types.h"
  79struct __anonstruct_atomic_t_7 {
  80   int counter ;
  81};
  82#line 219 "include/linux/types.h"
  83typedef struct __anonstruct_atomic_t_7 atomic_t;
  84#line 224 "include/linux/types.h"
  85struct __anonstruct_atomic64_t_8 {
  86   long counter ;
  87};
  88#line 224 "include/linux/types.h"
  89typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  90#line 229 "include/linux/types.h"
  91struct list_head {
  92   struct list_head *next ;
  93   struct list_head *prev ;
  94};
  95#line 233
  96struct hlist_node;
  97#line 233 "include/linux/types.h"
  98struct hlist_head {
  99   struct hlist_node *first ;
 100};
 101#line 237 "include/linux/types.h"
 102struct hlist_node {
 103   struct hlist_node *next ;
 104   struct hlist_node **pprev ;
 105};
 106#line 253 "include/linux/types.h"
 107struct rcu_head {
 108   struct rcu_head *next ;
 109   void (*func)(struct rcu_head *head ) ;
 110};
 111#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 112struct module;
 113#line 56
 114struct module;
 115#line 146 "include/linux/init.h"
 116typedef void (*ctor_fn_t)(void);
 117#line 9 "include/linux/dynamic_debug.h"
 118struct _ddebug {
 119   char const   *modname ;
 120   char const   *function ;
 121   char const   *filename ;
 122   char const   *format ;
 123   unsigned int lineno : 18 ;
 124   unsigned int flags : 8 ;
 125} __attribute__((__aligned__(8))) ;
 126#line 47
 127struct device;
 128#line 47
 129struct device;
 130#line 135 "include/linux/kernel.h"
 131struct completion;
 132#line 135
 133struct completion;
 134#line 136
 135struct pt_regs;
 136#line 136
 137struct pt_regs;
 138#line 349
 139struct pid;
 140#line 349
 141struct pid;
 142#line 12 "include/linux/thread_info.h"
 143struct timespec;
 144#line 12
 145struct timespec;
 146#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 147struct page;
 148#line 18
 149struct page;
 150#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 151struct task_struct;
 152#line 20
 153struct task_struct;
 154#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 155struct task_struct;
 156#line 8
 157struct mm_struct;
 158#line 8
 159struct mm_struct;
 160#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 161struct pt_regs {
 162   unsigned long r15 ;
 163   unsigned long r14 ;
 164   unsigned long r13 ;
 165   unsigned long r12 ;
 166   unsigned long bp ;
 167   unsigned long bx ;
 168   unsigned long r11 ;
 169   unsigned long r10 ;
 170   unsigned long r9 ;
 171   unsigned long r8 ;
 172   unsigned long ax ;
 173   unsigned long cx ;
 174   unsigned long dx ;
 175   unsigned long si ;
 176   unsigned long di ;
 177   unsigned long orig_ax ;
 178   unsigned long ip ;
 179   unsigned long cs ;
 180   unsigned long flags ;
 181   unsigned long sp ;
 182   unsigned long ss ;
 183};
 184#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 185struct __anonstruct____missing_field_name_15 {
 186   unsigned int a ;
 187   unsigned int b ;
 188};
 189#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 190struct __anonstruct____missing_field_name_16 {
 191   u16 limit0 ;
 192   u16 base0 ;
 193   unsigned int base1 : 8 ;
 194   unsigned int type : 4 ;
 195   unsigned int s : 1 ;
 196   unsigned int dpl : 2 ;
 197   unsigned int p : 1 ;
 198   unsigned int limit : 4 ;
 199   unsigned int avl : 1 ;
 200   unsigned int l : 1 ;
 201   unsigned int d : 1 ;
 202   unsigned int g : 1 ;
 203   unsigned int base2 : 8 ;
 204};
 205#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 206union __anonunion____missing_field_name_14 {
 207   struct __anonstruct____missing_field_name_15 __annonCompField5 ;
 208   struct __anonstruct____missing_field_name_16 __annonCompField6 ;
 209};
 210#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 211struct desc_struct {
 212   union __anonunion____missing_field_name_14 __annonCompField7 ;
 213} __attribute__((__packed__)) ;
 214#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 215typedef unsigned long pgdval_t;
 216#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 217typedef unsigned long pgprotval_t;
 218#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 219struct pgprot {
 220   pgprotval_t pgprot ;
 221};
 222#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 223typedef struct pgprot pgprot_t;
 224#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 225struct __anonstruct_pgd_t_20 {
 226   pgdval_t pgd ;
 227};
 228#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 229typedef struct __anonstruct_pgd_t_20 pgd_t;
 230#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 231typedef struct page *pgtable_t;
 232#line 295
 233struct file;
 234#line 295
 235struct file;
 236#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 237struct page;
 238#line 47
 239struct thread_struct;
 240#line 47
 241struct thread_struct;
 242#line 50
 243struct mm_struct;
 244#line 51
 245struct desc_struct;
 246#line 52
 247struct task_struct;
 248#line 53
 249struct cpumask;
 250#line 53
 251struct cpumask;
 252#line 329
 253struct arch_spinlock;
 254#line 329
 255struct arch_spinlock;
 256#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 257struct task_struct;
 258#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 259struct kernel_vm86_regs {
 260   struct pt_regs pt ;
 261   unsigned short es ;
 262   unsigned short __esh ;
 263   unsigned short ds ;
 264   unsigned short __dsh ;
 265   unsigned short fs ;
 266   unsigned short __fsh ;
 267   unsigned short gs ;
 268   unsigned short __gsh ;
 269};
 270#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 271union __anonunion____missing_field_name_24 {
 272   struct pt_regs *regs ;
 273   struct kernel_vm86_regs *vm86 ;
 274};
 275#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 276struct math_emu_info {
 277   long ___orig_eip ;
 278   union __anonunion____missing_field_name_24 __annonCompField8 ;
 279};
 280#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 281struct task_struct;
 282#line 10 "include/asm-generic/bug.h"
 283struct bug_entry {
 284   int bug_addr_disp ;
 285   int file_disp ;
 286   unsigned short line ;
 287   unsigned short flags ;
 288};
 289#line 12 "include/linux/bug.h"
 290struct pt_regs;
 291#line 14 "include/linux/cpumask.h"
 292struct cpumask {
 293   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 294};
 295#line 14 "include/linux/cpumask.h"
 296typedef struct cpumask cpumask_t;
 297#line 637 "include/linux/cpumask.h"
 298typedef struct cpumask *cpumask_var_t;
 299#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 300struct static_key;
 301#line 234
 302struct static_key;
 303#line 11 "include/linux/personality.h"
 304struct pt_regs;
 305#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 306struct i387_fsave_struct {
 307   u32 cwd ;
 308   u32 swd ;
 309   u32 twd ;
 310   u32 fip ;
 311   u32 fcs ;
 312   u32 foo ;
 313   u32 fos ;
 314   u32 st_space[20] ;
 315   u32 status ;
 316};
 317#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 318struct __anonstruct____missing_field_name_31 {
 319   u64 rip ;
 320   u64 rdp ;
 321};
 322#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323struct __anonstruct____missing_field_name_32 {
 324   u32 fip ;
 325   u32 fcs ;
 326   u32 foo ;
 327   u32 fos ;
 328};
 329#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 330union __anonunion____missing_field_name_30 {
 331   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 332   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 333};
 334#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335union __anonunion____missing_field_name_33 {
 336   u32 padding1[12] ;
 337   u32 sw_reserved[12] ;
 338};
 339#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340struct i387_fxsave_struct {
 341   u16 cwd ;
 342   u16 swd ;
 343   u16 twd ;
 344   u16 fop ;
 345   union __anonunion____missing_field_name_30 __annonCompField14 ;
 346   u32 mxcsr ;
 347   u32 mxcsr_mask ;
 348   u32 st_space[32] ;
 349   u32 xmm_space[64] ;
 350   u32 padding[12] ;
 351   union __anonunion____missing_field_name_33 __annonCompField15 ;
 352} __attribute__((__aligned__(16))) ;
 353#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 354struct i387_soft_struct {
 355   u32 cwd ;
 356   u32 swd ;
 357   u32 twd ;
 358   u32 fip ;
 359   u32 fcs ;
 360   u32 foo ;
 361   u32 fos ;
 362   u32 st_space[20] ;
 363   u8 ftop ;
 364   u8 changed ;
 365   u8 lookahead ;
 366   u8 no_update ;
 367   u8 rm ;
 368   u8 alimit ;
 369   struct math_emu_info *info ;
 370   u32 entry_eip ;
 371};
 372#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 373struct ymmh_struct {
 374   u32 ymmh_space[64] ;
 375};
 376#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 377struct xsave_hdr_struct {
 378   u64 xstate_bv ;
 379   u64 reserved1[2] ;
 380   u64 reserved2[5] ;
 381} __attribute__((__packed__)) ;
 382#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 383struct xsave_struct {
 384   struct i387_fxsave_struct i387 ;
 385   struct xsave_hdr_struct xsave_hdr ;
 386   struct ymmh_struct ymmh ;
 387} __attribute__((__packed__, __aligned__(64))) ;
 388#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 389union thread_xstate {
 390   struct i387_fsave_struct fsave ;
 391   struct i387_fxsave_struct fxsave ;
 392   struct i387_soft_struct soft ;
 393   struct xsave_struct xsave ;
 394};
 395#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 396struct fpu {
 397   unsigned int last_cpu ;
 398   unsigned int has_fpu ;
 399   union thread_xstate *state ;
 400};
 401#line 433
 402struct kmem_cache;
 403#line 435
 404struct perf_event;
 405#line 435
 406struct perf_event;
 407#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 408struct thread_struct {
 409   struct desc_struct tls_array[3] ;
 410   unsigned long sp0 ;
 411   unsigned long sp ;
 412   unsigned long usersp ;
 413   unsigned short es ;
 414   unsigned short ds ;
 415   unsigned short fsindex ;
 416   unsigned short gsindex ;
 417   unsigned long fs ;
 418   unsigned long gs ;
 419   struct perf_event *ptrace_bps[4] ;
 420   unsigned long debugreg6 ;
 421   unsigned long ptrace_dr7 ;
 422   unsigned long cr2 ;
 423   unsigned long trap_nr ;
 424   unsigned long error_code ;
 425   struct fpu fpu ;
 426   unsigned long *io_bitmap_ptr ;
 427   unsigned long iopl ;
 428   unsigned int io_bitmap_max ;
 429};
 430#line 23 "include/asm-generic/atomic-long.h"
 431typedef atomic64_t atomic_long_t;
 432#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 433typedef u16 __ticket_t;
 434#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 435typedef u32 __ticketpair_t;
 436#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 437struct __raw_tickets {
 438   __ticket_t head ;
 439   __ticket_t tail ;
 440};
 441#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442union __anonunion____missing_field_name_36 {
 443   __ticketpair_t head_tail ;
 444   struct __raw_tickets tickets ;
 445};
 446#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 447struct arch_spinlock {
 448   union __anonunion____missing_field_name_36 __annonCompField17 ;
 449};
 450#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 451typedef struct arch_spinlock arch_spinlock_t;
 452#line 12 "include/linux/lockdep.h"
 453struct task_struct;
 454#line 20 "include/linux/spinlock_types.h"
 455struct raw_spinlock {
 456   arch_spinlock_t raw_lock ;
 457   unsigned int magic ;
 458   unsigned int owner_cpu ;
 459   void *owner ;
 460};
 461#line 20 "include/linux/spinlock_types.h"
 462typedef struct raw_spinlock raw_spinlock_t;
 463#line 64 "include/linux/spinlock_types.h"
 464union __anonunion____missing_field_name_39 {
 465   struct raw_spinlock rlock ;
 466};
 467#line 64 "include/linux/spinlock_types.h"
 468struct spinlock {
 469   union __anonunion____missing_field_name_39 __annonCompField19 ;
 470};
 471#line 64 "include/linux/spinlock_types.h"
 472typedef struct spinlock spinlock_t;
 473#line 119 "include/linux/seqlock.h"
 474struct seqcount {
 475   unsigned int sequence ;
 476};
 477#line 119 "include/linux/seqlock.h"
 478typedef struct seqcount seqcount_t;
 479#line 14 "include/linux/time.h"
 480struct timespec {
 481   __kernel_time_t tv_sec ;
 482   long tv_nsec ;
 483};
 484#line 49 "include/linux/wait.h"
 485struct __wait_queue_head {
 486   spinlock_t lock ;
 487   struct list_head task_list ;
 488};
 489#line 53 "include/linux/wait.h"
 490typedef struct __wait_queue_head wait_queue_head_t;
 491#line 55
 492struct task_struct;
 493#line 98 "include/linux/nodemask.h"
 494struct __anonstruct_nodemask_t_42 {
 495   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 496};
 497#line 98 "include/linux/nodemask.h"
 498typedef struct __anonstruct_nodemask_t_42 nodemask_t;
 499#line 60 "include/linux/pageblock-flags.h"
 500struct page;
 501#line 48 "include/linux/mutex.h"
 502struct mutex {
 503   atomic_t count ;
 504   spinlock_t wait_lock ;
 505   struct list_head wait_list ;
 506   struct task_struct *owner ;
 507   char const   *name ;
 508   void *magic ;
 509};
 510#line 69 "include/linux/mutex.h"
 511struct mutex_waiter {
 512   struct list_head list ;
 513   struct task_struct *task ;
 514   void *magic ;
 515};
 516#line 19 "include/linux/rwsem.h"
 517struct rw_semaphore;
 518#line 19
 519struct rw_semaphore;
 520#line 25 "include/linux/rwsem.h"
 521struct rw_semaphore {
 522   long count ;
 523   raw_spinlock_t wait_lock ;
 524   struct list_head wait_list ;
 525};
 526#line 25 "include/linux/completion.h"
 527struct completion {
 528   unsigned int done ;
 529   wait_queue_head_t wait ;
 530};
 531#line 9 "include/linux/memory_hotplug.h"
 532struct page;
 533#line 202 "include/linux/ioport.h"
 534struct device;
 535#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 536struct device;
 537#line 46 "include/linux/ktime.h"
 538union ktime {
 539   s64 tv64 ;
 540};
 541#line 59 "include/linux/ktime.h"
 542typedef union ktime ktime_t;
 543#line 10 "include/linux/timer.h"
 544struct tvec_base;
 545#line 10
 546struct tvec_base;
 547#line 12 "include/linux/timer.h"
 548struct timer_list {
 549   struct list_head entry ;
 550   unsigned long expires ;
 551   struct tvec_base *base ;
 552   void (*function)(unsigned long  ) ;
 553   unsigned long data ;
 554   int slack ;
 555   int start_pid ;
 556   void *start_site ;
 557   char start_comm[16] ;
 558};
 559#line 289
 560struct hrtimer;
 561#line 289
 562struct hrtimer;
 563#line 290
 564enum hrtimer_restart;
 565#line 17 "include/linux/workqueue.h"
 566struct work_struct;
 567#line 17
 568struct work_struct;
 569#line 79 "include/linux/workqueue.h"
 570struct work_struct {
 571   atomic_long_t data ;
 572   struct list_head entry ;
 573   void (*func)(struct work_struct *work ) ;
 574};
 575#line 42 "include/linux/pm.h"
 576struct device;
 577#line 50 "include/linux/pm.h"
 578struct pm_message {
 579   int event ;
 580};
 581#line 50 "include/linux/pm.h"
 582typedef struct pm_message pm_message_t;
 583#line 264 "include/linux/pm.h"
 584struct dev_pm_ops {
 585   int (*prepare)(struct device *dev ) ;
 586   void (*complete)(struct device *dev ) ;
 587   int (*suspend)(struct device *dev ) ;
 588   int (*resume)(struct device *dev ) ;
 589   int (*freeze)(struct device *dev ) ;
 590   int (*thaw)(struct device *dev ) ;
 591   int (*poweroff)(struct device *dev ) ;
 592   int (*restore)(struct device *dev ) ;
 593   int (*suspend_late)(struct device *dev ) ;
 594   int (*resume_early)(struct device *dev ) ;
 595   int (*freeze_late)(struct device *dev ) ;
 596   int (*thaw_early)(struct device *dev ) ;
 597   int (*poweroff_late)(struct device *dev ) ;
 598   int (*restore_early)(struct device *dev ) ;
 599   int (*suspend_noirq)(struct device *dev ) ;
 600   int (*resume_noirq)(struct device *dev ) ;
 601   int (*freeze_noirq)(struct device *dev ) ;
 602   int (*thaw_noirq)(struct device *dev ) ;
 603   int (*poweroff_noirq)(struct device *dev ) ;
 604   int (*restore_noirq)(struct device *dev ) ;
 605   int (*runtime_suspend)(struct device *dev ) ;
 606   int (*runtime_resume)(struct device *dev ) ;
 607   int (*runtime_idle)(struct device *dev ) ;
 608};
 609#line 458
 610enum rpm_status {
 611    RPM_ACTIVE = 0,
 612    RPM_RESUMING = 1,
 613    RPM_SUSPENDED = 2,
 614    RPM_SUSPENDING = 3
 615} ;
 616#line 480
 617enum rpm_request {
 618    RPM_REQ_NONE = 0,
 619    RPM_REQ_IDLE = 1,
 620    RPM_REQ_SUSPEND = 2,
 621    RPM_REQ_AUTOSUSPEND = 3,
 622    RPM_REQ_RESUME = 4
 623} ;
 624#line 488
 625struct wakeup_source;
 626#line 488
 627struct wakeup_source;
 628#line 495 "include/linux/pm.h"
 629struct pm_subsys_data {
 630   spinlock_t lock ;
 631   unsigned int refcount ;
 632};
 633#line 506
 634struct dev_pm_qos_request;
 635#line 506
 636struct pm_qos_constraints;
 637#line 506 "include/linux/pm.h"
 638struct dev_pm_info {
 639   pm_message_t power_state ;
 640   unsigned int can_wakeup : 1 ;
 641   unsigned int async_suspend : 1 ;
 642   bool is_prepared : 1 ;
 643   bool is_suspended : 1 ;
 644   bool ignore_children : 1 ;
 645   spinlock_t lock ;
 646   struct list_head entry ;
 647   struct completion completion ;
 648   struct wakeup_source *wakeup ;
 649   bool wakeup_path : 1 ;
 650   struct timer_list suspend_timer ;
 651   unsigned long timer_expires ;
 652   struct work_struct work ;
 653   wait_queue_head_t wait_queue ;
 654   atomic_t usage_count ;
 655   atomic_t child_count ;
 656   unsigned int disable_depth : 3 ;
 657   unsigned int idle_notification : 1 ;
 658   unsigned int request_pending : 1 ;
 659   unsigned int deferred_resume : 1 ;
 660   unsigned int run_wake : 1 ;
 661   unsigned int runtime_auto : 1 ;
 662   unsigned int no_callbacks : 1 ;
 663   unsigned int irq_safe : 1 ;
 664   unsigned int use_autosuspend : 1 ;
 665   unsigned int timer_autosuspends : 1 ;
 666   enum rpm_request request ;
 667   enum rpm_status runtime_status ;
 668   int runtime_error ;
 669   int autosuspend_delay ;
 670   unsigned long last_busy ;
 671   unsigned long active_jiffies ;
 672   unsigned long suspended_jiffies ;
 673   unsigned long accounting_timestamp ;
 674   ktime_t suspend_time ;
 675   s64 max_time_suspended_ns ;
 676   struct dev_pm_qos_request *pq_req ;
 677   struct pm_subsys_data *subsys_data ;
 678   struct pm_qos_constraints *constraints ;
 679};
 680#line 564 "include/linux/pm.h"
 681struct dev_pm_domain {
 682   struct dev_pm_ops ops ;
 683};
 684#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 685struct __anonstruct_mm_context_t_112 {
 686   void *ldt ;
 687   int size ;
 688   unsigned short ia32_compat ;
 689   struct mutex lock ;
 690   void *vdso ;
 691};
 692#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 693typedef struct __anonstruct_mm_context_t_112 mm_context_t;
 694#line 8 "include/linux/vmalloc.h"
 695struct vm_area_struct;
 696#line 8
 697struct vm_area_struct;
 698#line 994 "include/linux/mmzone.h"
 699struct page;
 700#line 10 "include/linux/gfp.h"
 701struct vm_area_struct;
 702#line 29 "include/linux/sysctl.h"
 703struct completion;
 704#line 100 "include/linux/rbtree.h"
 705struct rb_node {
 706   unsigned long rb_parent_color ;
 707   struct rb_node *rb_right ;
 708   struct rb_node *rb_left ;
 709} __attribute__((__aligned__(sizeof(long )))) ;
 710#line 110 "include/linux/rbtree.h"
 711struct rb_root {
 712   struct rb_node *rb_node ;
 713};
 714#line 939 "include/linux/sysctl.h"
 715struct nsproxy;
 716#line 939
 717struct nsproxy;
 718#line 48 "include/linux/kmod.h"
 719struct cred;
 720#line 48
 721struct cred;
 722#line 49
 723struct file;
 724#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 725struct task_struct;
 726#line 18 "include/linux/elf.h"
 727typedef __u64 Elf64_Addr;
 728#line 19 "include/linux/elf.h"
 729typedef __u16 Elf64_Half;
 730#line 23 "include/linux/elf.h"
 731typedef __u32 Elf64_Word;
 732#line 24 "include/linux/elf.h"
 733typedef __u64 Elf64_Xword;
 734#line 194 "include/linux/elf.h"
 735struct elf64_sym {
 736   Elf64_Word st_name ;
 737   unsigned char st_info ;
 738   unsigned char st_other ;
 739   Elf64_Half st_shndx ;
 740   Elf64_Addr st_value ;
 741   Elf64_Xword st_size ;
 742};
 743#line 194 "include/linux/elf.h"
 744typedef struct elf64_sym Elf64_Sym;
 745#line 438
 746struct file;
 747#line 20 "include/linux/kobject_ns.h"
 748struct sock;
 749#line 20
 750struct sock;
 751#line 21
 752struct kobject;
 753#line 21
 754struct kobject;
 755#line 27
 756enum kobj_ns_type {
 757    KOBJ_NS_TYPE_NONE = 0,
 758    KOBJ_NS_TYPE_NET = 1,
 759    KOBJ_NS_TYPES = 2
 760} ;
 761#line 40 "include/linux/kobject_ns.h"
 762struct kobj_ns_type_operations {
 763   enum kobj_ns_type type ;
 764   void *(*grab_current_ns)(void) ;
 765   void const   *(*netlink_ns)(struct sock *sk ) ;
 766   void const   *(*initial_ns)(void) ;
 767   void (*drop_ns)(void * ) ;
 768};
 769#line 22 "include/linux/sysfs.h"
 770struct kobject;
 771#line 23
 772struct module;
 773#line 24
 774enum kobj_ns_type;
 775#line 26 "include/linux/sysfs.h"
 776struct attribute {
 777   char const   *name ;
 778   umode_t mode ;
 779};
 780#line 56 "include/linux/sysfs.h"
 781struct attribute_group {
 782   char const   *name ;
 783   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 784   struct attribute **attrs ;
 785};
 786#line 85
 787struct file;
 788#line 86
 789struct vm_area_struct;
 790#line 88 "include/linux/sysfs.h"
 791struct bin_attribute {
 792   struct attribute attr ;
 793   size_t size ;
 794   void *private ;
 795   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 796                   loff_t  , size_t  ) ;
 797   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 798                    loff_t  , size_t  ) ;
 799   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 800};
 801#line 112 "include/linux/sysfs.h"
 802struct sysfs_ops {
 803   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 804   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 805   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 806};
 807#line 118
 808struct sysfs_dirent;
 809#line 118
 810struct sysfs_dirent;
 811#line 22 "include/linux/kref.h"
 812struct kref {
 813   atomic_t refcount ;
 814};
 815#line 60 "include/linux/kobject.h"
 816struct kset;
 817#line 60
 818struct kobj_type;
 819#line 60 "include/linux/kobject.h"
 820struct kobject {
 821   char const   *name ;
 822   struct list_head entry ;
 823   struct kobject *parent ;
 824   struct kset *kset ;
 825   struct kobj_type *ktype ;
 826   struct sysfs_dirent *sd ;
 827   struct kref kref ;
 828   unsigned int state_initialized : 1 ;
 829   unsigned int state_in_sysfs : 1 ;
 830   unsigned int state_add_uevent_sent : 1 ;
 831   unsigned int state_remove_uevent_sent : 1 ;
 832   unsigned int uevent_suppress : 1 ;
 833};
 834#line 108 "include/linux/kobject.h"
 835struct kobj_type {
 836   void (*release)(struct kobject *kobj ) ;
 837   struct sysfs_ops  const  *sysfs_ops ;
 838   struct attribute **default_attrs ;
 839   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 840   void const   *(*namespace)(struct kobject *kobj ) ;
 841};
 842#line 116 "include/linux/kobject.h"
 843struct kobj_uevent_env {
 844   char *envp[32] ;
 845   int envp_idx ;
 846   char buf[2048] ;
 847   int buflen ;
 848};
 849#line 123 "include/linux/kobject.h"
 850struct kset_uevent_ops {
 851   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 852   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 853   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 854};
 855#line 140
 856struct sock;
 857#line 159 "include/linux/kobject.h"
 858struct kset {
 859   struct list_head list ;
 860   spinlock_t list_lock ;
 861   struct kobject kobj ;
 862   struct kset_uevent_ops  const  *uevent_ops ;
 863};
 864#line 39 "include/linux/moduleparam.h"
 865struct kernel_param;
 866#line 39
 867struct kernel_param;
 868#line 41 "include/linux/moduleparam.h"
 869struct kernel_param_ops {
 870   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 871   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 872   void (*free)(void *arg ) ;
 873};
 874#line 50
 875struct kparam_string;
 876#line 50
 877struct kparam_array;
 878#line 50 "include/linux/moduleparam.h"
 879union __anonunion____missing_field_name_199 {
 880   void *arg ;
 881   struct kparam_string  const  *str ;
 882   struct kparam_array  const  *arr ;
 883};
 884#line 50 "include/linux/moduleparam.h"
 885struct kernel_param {
 886   char const   *name ;
 887   struct kernel_param_ops  const  *ops ;
 888   u16 perm ;
 889   s16 level ;
 890   union __anonunion____missing_field_name_199 __annonCompField32 ;
 891};
 892#line 63 "include/linux/moduleparam.h"
 893struct kparam_string {
 894   unsigned int maxlen ;
 895   char *string ;
 896};
 897#line 69 "include/linux/moduleparam.h"
 898struct kparam_array {
 899   unsigned int max ;
 900   unsigned int elemsize ;
 901   unsigned int *num ;
 902   struct kernel_param_ops  const  *ops ;
 903   void *elem ;
 904};
 905#line 445
 906struct module;
 907#line 80 "include/linux/jump_label.h"
 908struct module;
 909#line 143 "include/linux/jump_label.h"
 910struct static_key {
 911   atomic_t enabled ;
 912};
 913#line 22 "include/linux/tracepoint.h"
 914struct module;
 915#line 23
 916struct tracepoint;
 917#line 23
 918struct tracepoint;
 919#line 25 "include/linux/tracepoint.h"
 920struct tracepoint_func {
 921   void *func ;
 922   void *data ;
 923};
 924#line 30 "include/linux/tracepoint.h"
 925struct tracepoint {
 926   char const   *name ;
 927   struct static_key key ;
 928   void (*regfunc)(void) ;
 929   void (*unregfunc)(void) ;
 930   struct tracepoint_func *funcs ;
 931};
 932#line 19 "include/linux/export.h"
 933struct kernel_symbol {
 934   unsigned long value ;
 935   char const   *name ;
 936};
 937#line 8 "include/asm-generic/module.h"
 938struct mod_arch_specific {
 939
 940};
 941#line 35 "include/linux/module.h"
 942struct module;
 943#line 37
 944struct module_param_attrs;
 945#line 37 "include/linux/module.h"
 946struct module_kobject {
 947   struct kobject kobj ;
 948   struct module *mod ;
 949   struct kobject *drivers_dir ;
 950   struct module_param_attrs *mp ;
 951};
 952#line 44 "include/linux/module.h"
 953struct module_attribute {
 954   struct attribute attr ;
 955   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 956   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 957                    size_t count ) ;
 958   void (*setup)(struct module * , char const   * ) ;
 959   int (*test)(struct module * ) ;
 960   void (*free)(struct module * ) ;
 961};
 962#line 71
 963struct exception_table_entry;
 964#line 71
 965struct exception_table_entry;
 966#line 199
 967enum module_state {
 968    MODULE_STATE_LIVE = 0,
 969    MODULE_STATE_COMING = 1,
 970    MODULE_STATE_GOING = 2
 971} ;
 972#line 215 "include/linux/module.h"
 973struct module_ref {
 974   unsigned long incs ;
 975   unsigned long decs ;
 976} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 977#line 220
 978struct module_sect_attrs;
 979#line 220
 980struct module_notes_attrs;
 981#line 220
 982struct ftrace_event_call;
 983#line 220 "include/linux/module.h"
 984struct module {
 985   enum module_state state ;
 986   struct list_head list ;
 987   char name[64UL - sizeof(unsigned long )] ;
 988   struct module_kobject mkobj ;
 989   struct module_attribute *modinfo_attrs ;
 990   char const   *version ;
 991   char const   *srcversion ;
 992   struct kobject *holders_dir ;
 993   struct kernel_symbol  const  *syms ;
 994   unsigned long const   *crcs ;
 995   unsigned int num_syms ;
 996   struct kernel_param *kp ;
 997   unsigned int num_kp ;
 998   unsigned int num_gpl_syms ;
 999   struct kernel_symbol  const  *gpl_syms ;
1000   unsigned long const   *gpl_crcs ;
1001   struct kernel_symbol  const  *unused_syms ;
1002   unsigned long const   *unused_crcs ;
1003   unsigned int num_unused_syms ;
1004   unsigned int num_unused_gpl_syms ;
1005   struct kernel_symbol  const  *unused_gpl_syms ;
1006   unsigned long const   *unused_gpl_crcs ;
1007   struct kernel_symbol  const  *gpl_future_syms ;
1008   unsigned long const   *gpl_future_crcs ;
1009   unsigned int num_gpl_future_syms ;
1010   unsigned int num_exentries ;
1011   struct exception_table_entry *extable ;
1012   int (*init)(void) ;
1013   void *module_init ;
1014   void *module_core ;
1015   unsigned int init_size ;
1016   unsigned int core_size ;
1017   unsigned int init_text_size ;
1018   unsigned int core_text_size ;
1019   unsigned int init_ro_size ;
1020   unsigned int core_ro_size ;
1021   struct mod_arch_specific arch ;
1022   unsigned int taints ;
1023   unsigned int num_bugs ;
1024   struct list_head bug_list ;
1025   struct bug_entry *bug_table ;
1026   Elf64_Sym *symtab ;
1027   Elf64_Sym *core_symtab ;
1028   unsigned int num_symtab ;
1029   unsigned int core_num_syms ;
1030   char *strtab ;
1031   char *core_strtab ;
1032   struct module_sect_attrs *sect_attrs ;
1033   struct module_notes_attrs *notes_attrs ;
1034   char *args ;
1035   void *percpu ;
1036   unsigned int percpu_size ;
1037   unsigned int num_tracepoints ;
1038   struct tracepoint * const  *tracepoints_ptrs ;
1039   unsigned int num_trace_bprintk_fmt ;
1040   char const   **trace_bprintk_fmt_start ;
1041   struct ftrace_event_call **trace_events ;
1042   unsigned int num_trace_events ;
1043   struct list_head source_list ;
1044   struct list_head target_list ;
1045   struct task_struct *waiter ;
1046   void (*exit)(void) ;
1047   struct module_ref *refptr ;
1048   ctor_fn_t *ctors ;
1049   unsigned int num_ctors ;
1050};
1051#line 219 "include/linux/mod_devicetable.h"
1052struct of_device_id {
1053   char name[32] ;
1054   char type[32] ;
1055   char compatible[128] ;
1056   void *data ;
1057};
1058#line 19 "include/linux/klist.h"
1059struct klist_node;
1060#line 19
1061struct klist_node;
1062#line 39 "include/linux/klist.h"
1063struct klist_node {
1064   void *n_klist ;
1065   struct list_head n_node ;
1066   struct kref n_ref ;
1067};
1068#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1069struct dma_map_ops;
1070#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1071struct dev_archdata {
1072   void *acpi_handle ;
1073   struct dma_map_ops *dma_ops ;
1074   void *iommu ;
1075};
1076#line 28 "include/linux/device.h"
1077struct device;
1078#line 29
1079struct device_private;
1080#line 29
1081struct device_private;
1082#line 30
1083struct device_driver;
1084#line 30
1085struct device_driver;
1086#line 31
1087struct driver_private;
1088#line 31
1089struct driver_private;
1090#line 32
1091struct module;
1092#line 33
1093struct class;
1094#line 33
1095struct class;
1096#line 34
1097struct subsys_private;
1098#line 34
1099struct subsys_private;
1100#line 35
1101struct bus_type;
1102#line 35
1103struct bus_type;
1104#line 36
1105struct device_node;
1106#line 36
1107struct device_node;
1108#line 37
1109struct iommu_ops;
1110#line 37
1111struct iommu_ops;
1112#line 39 "include/linux/device.h"
1113struct bus_attribute {
1114   struct attribute attr ;
1115   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1116   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1117};
1118#line 89
1119struct device_attribute;
1120#line 89
1121struct driver_attribute;
1122#line 89 "include/linux/device.h"
1123struct bus_type {
1124   char const   *name ;
1125   char const   *dev_name ;
1126   struct device *dev_root ;
1127   struct bus_attribute *bus_attrs ;
1128   struct device_attribute *dev_attrs ;
1129   struct driver_attribute *drv_attrs ;
1130   int (*match)(struct device *dev , struct device_driver *drv ) ;
1131   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1132   int (*probe)(struct device *dev ) ;
1133   int (*remove)(struct device *dev ) ;
1134   void (*shutdown)(struct device *dev ) ;
1135   int (*suspend)(struct device *dev , pm_message_t state ) ;
1136   int (*resume)(struct device *dev ) ;
1137   struct dev_pm_ops  const  *pm ;
1138   struct iommu_ops *iommu_ops ;
1139   struct subsys_private *p ;
1140};
1141#line 127
1142struct device_type;
1143#line 214 "include/linux/device.h"
1144struct device_driver {
1145   char const   *name ;
1146   struct bus_type *bus ;
1147   struct module *owner ;
1148   char const   *mod_name ;
1149   bool suppress_bind_attrs ;
1150   struct of_device_id  const  *of_match_table ;
1151   int (*probe)(struct device *dev ) ;
1152   int (*remove)(struct device *dev ) ;
1153   void (*shutdown)(struct device *dev ) ;
1154   int (*suspend)(struct device *dev , pm_message_t state ) ;
1155   int (*resume)(struct device *dev ) ;
1156   struct attribute_group  const  **groups ;
1157   struct dev_pm_ops  const  *pm ;
1158   struct driver_private *p ;
1159};
1160#line 249 "include/linux/device.h"
1161struct driver_attribute {
1162   struct attribute attr ;
1163   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1164   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1165};
1166#line 330
1167struct class_attribute;
1168#line 330 "include/linux/device.h"
1169struct class {
1170   char const   *name ;
1171   struct module *owner ;
1172   struct class_attribute *class_attrs ;
1173   struct device_attribute *dev_attrs ;
1174   struct bin_attribute *dev_bin_attrs ;
1175   struct kobject *dev_kobj ;
1176   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1177   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1178   void (*class_release)(struct class *class ) ;
1179   void (*dev_release)(struct device *dev ) ;
1180   int (*suspend)(struct device *dev , pm_message_t state ) ;
1181   int (*resume)(struct device *dev ) ;
1182   struct kobj_ns_type_operations  const  *ns_type ;
1183   void const   *(*namespace)(struct device *dev ) ;
1184   struct dev_pm_ops  const  *pm ;
1185   struct subsys_private *p ;
1186};
1187#line 397 "include/linux/device.h"
1188struct class_attribute {
1189   struct attribute attr ;
1190   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1191   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1192                    size_t count ) ;
1193   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1194};
1195#line 465 "include/linux/device.h"
1196struct device_type {
1197   char const   *name ;
1198   struct attribute_group  const  **groups ;
1199   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1200   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1201   void (*release)(struct device *dev ) ;
1202   struct dev_pm_ops  const  *pm ;
1203};
1204#line 476 "include/linux/device.h"
1205struct device_attribute {
1206   struct attribute attr ;
1207   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1208   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1209                    size_t count ) ;
1210};
1211#line 559 "include/linux/device.h"
1212struct device_dma_parameters {
1213   unsigned int max_segment_size ;
1214   unsigned long segment_boundary_mask ;
1215};
1216#line 627
1217struct dma_coherent_mem;
1218#line 627 "include/linux/device.h"
1219struct device {
1220   struct device *parent ;
1221   struct device_private *p ;
1222   struct kobject kobj ;
1223   char const   *init_name ;
1224   struct device_type  const  *type ;
1225   struct mutex mutex ;
1226   struct bus_type *bus ;
1227   struct device_driver *driver ;
1228   void *platform_data ;
1229   struct dev_pm_info power ;
1230   struct dev_pm_domain *pm_domain ;
1231   int numa_node ;
1232   u64 *dma_mask ;
1233   u64 coherent_dma_mask ;
1234   struct device_dma_parameters *dma_parms ;
1235   struct list_head dma_pools ;
1236   struct dma_coherent_mem *dma_mem ;
1237   struct dev_archdata archdata ;
1238   struct device_node *of_node ;
1239   dev_t devt ;
1240   u32 id ;
1241   spinlock_t devres_lock ;
1242   struct list_head devres_head ;
1243   struct klist_node knode_class ;
1244   struct class *class ;
1245   struct attribute_group  const  **groups ;
1246   void (*release)(struct device *dev ) ;
1247};
1248#line 43 "include/linux/pm_wakeup.h"
1249struct wakeup_source {
1250   char const   *name ;
1251   struct list_head entry ;
1252   spinlock_t lock ;
1253   struct timer_list timer ;
1254   unsigned long timer_expires ;
1255   ktime_t total_time ;
1256   ktime_t max_time ;
1257   ktime_t last_time ;
1258   unsigned long event_count ;
1259   unsigned long active_count ;
1260   unsigned long relax_count ;
1261   unsigned long hit_count ;
1262   unsigned int active : 1 ;
1263};
1264#line 18 "include/linux/capability.h"
1265struct task_struct;
1266#line 94 "include/linux/capability.h"
1267struct kernel_cap_struct {
1268   __u32 cap[2] ;
1269};
1270#line 94 "include/linux/capability.h"
1271typedef struct kernel_cap_struct kernel_cap_t;
1272#line 378
1273struct user_namespace;
1274#line 378
1275struct user_namespace;
1276#line 14 "include/linux/prio_tree.h"
1277struct prio_tree_node;
1278#line 14 "include/linux/prio_tree.h"
1279struct raw_prio_tree_node {
1280   struct prio_tree_node *left ;
1281   struct prio_tree_node *right ;
1282   struct prio_tree_node *parent ;
1283};
1284#line 20 "include/linux/prio_tree.h"
1285struct prio_tree_node {
1286   struct prio_tree_node *left ;
1287   struct prio_tree_node *right ;
1288   struct prio_tree_node *parent ;
1289   unsigned long start ;
1290   unsigned long last ;
1291};
1292#line 23 "include/linux/mm_types.h"
1293struct address_space;
1294#line 23
1295struct address_space;
1296#line 40 "include/linux/mm_types.h"
1297union __anonunion____missing_field_name_204 {
1298   unsigned long index ;
1299   void *freelist ;
1300};
1301#line 40 "include/linux/mm_types.h"
1302struct __anonstruct____missing_field_name_208 {
1303   unsigned int inuse : 16 ;
1304   unsigned int objects : 15 ;
1305   unsigned int frozen : 1 ;
1306};
1307#line 40 "include/linux/mm_types.h"
1308union __anonunion____missing_field_name_207 {
1309   atomic_t _mapcount ;
1310   struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1311};
1312#line 40 "include/linux/mm_types.h"
1313struct __anonstruct____missing_field_name_206 {
1314   union __anonunion____missing_field_name_207 __annonCompField35 ;
1315   atomic_t _count ;
1316};
1317#line 40 "include/linux/mm_types.h"
1318union __anonunion____missing_field_name_205 {
1319   unsigned long counters ;
1320   struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1321};
1322#line 40 "include/linux/mm_types.h"
1323struct __anonstruct____missing_field_name_203 {
1324   union __anonunion____missing_field_name_204 __annonCompField33 ;
1325   union __anonunion____missing_field_name_205 __annonCompField37 ;
1326};
1327#line 40 "include/linux/mm_types.h"
1328struct __anonstruct____missing_field_name_210 {
1329   struct page *next ;
1330   int pages ;
1331   int pobjects ;
1332};
1333#line 40 "include/linux/mm_types.h"
1334union __anonunion____missing_field_name_209 {
1335   struct list_head lru ;
1336   struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1337};
1338#line 40 "include/linux/mm_types.h"
1339union __anonunion____missing_field_name_211 {
1340   unsigned long private ;
1341   struct kmem_cache *slab ;
1342   struct page *first_page ;
1343};
1344#line 40 "include/linux/mm_types.h"
1345struct page {
1346   unsigned long flags ;
1347   struct address_space *mapping ;
1348   struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1349   union __anonunion____missing_field_name_209 __annonCompField40 ;
1350   union __anonunion____missing_field_name_211 __annonCompField41 ;
1351   unsigned long debug_flags ;
1352} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1353#line 200 "include/linux/mm_types.h"
1354struct __anonstruct_vm_set_213 {
1355   struct list_head list ;
1356   void *parent ;
1357   struct vm_area_struct *head ;
1358};
1359#line 200 "include/linux/mm_types.h"
1360union __anonunion_shared_212 {
1361   struct __anonstruct_vm_set_213 vm_set ;
1362   struct raw_prio_tree_node prio_tree_node ;
1363};
1364#line 200
1365struct anon_vma;
1366#line 200
1367struct vm_operations_struct;
1368#line 200
1369struct mempolicy;
1370#line 200 "include/linux/mm_types.h"
1371struct vm_area_struct {
1372   struct mm_struct *vm_mm ;
1373   unsigned long vm_start ;
1374   unsigned long vm_end ;
1375   struct vm_area_struct *vm_next ;
1376   struct vm_area_struct *vm_prev ;
1377   pgprot_t vm_page_prot ;
1378   unsigned long vm_flags ;
1379   struct rb_node vm_rb ;
1380   union __anonunion_shared_212 shared ;
1381   struct list_head anon_vma_chain ;
1382   struct anon_vma *anon_vma ;
1383   struct vm_operations_struct  const  *vm_ops ;
1384   unsigned long vm_pgoff ;
1385   struct file *vm_file ;
1386   void *vm_private_data ;
1387   struct mempolicy *vm_policy ;
1388};
1389#line 257 "include/linux/mm_types.h"
1390struct core_thread {
1391   struct task_struct *task ;
1392   struct core_thread *next ;
1393};
1394#line 262 "include/linux/mm_types.h"
1395struct core_state {
1396   atomic_t nr_threads ;
1397   struct core_thread dumper ;
1398   struct completion startup ;
1399};
1400#line 284 "include/linux/mm_types.h"
1401struct mm_rss_stat {
1402   atomic_long_t count[3] ;
1403};
1404#line 288
1405struct linux_binfmt;
1406#line 288
1407struct mmu_notifier_mm;
1408#line 288 "include/linux/mm_types.h"
1409struct mm_struct {
1410   struct vm_area_struct *mmap ;
1411   struct rb_root mm_rb ;
1412   struct vm_area_struct *mmap_cache ;
1413   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1414                                      unsigned long pgoff , unsigned long flags ) ;
1415   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1416   unsigned long mmap_base ;
1417   unsigned long task_size ;
1418   unsigned long cached_hole_size ;
1419   unsigned long free_area_cache ;
1420   pgd_t *pgd ;
1421   atomic_t mm_users ;
1422   atomic_t mm_count ;
1423   int map_count ;
1424   spinlock_t page_table_lock ;
1425   struct rw_semaphore mmap_sem ;
1426   struct list_head mmlist ;
1427   unsigned long hiwater_rss ;
1428   unsigned long hiwater_vm ;
1429   unsigned long total_vm ;
1430   unsigned long locked_vm ;
1431   unsigned long pinned_vm ;
1432   unsigned long shared_vm ;
1433   unsigned long exec_vm ;
1434   unsigned long stack_vm ;
1435   unsigned long reserved_vm ;
1436   unsigned long def_flags ;
1437   unsigned long nr_ptes ;
1438   unsigned long start_code ;
1439   unsigned long end_code ;
1440   unsigned long start_data ;
1441   unsigned long end_data ;
1442   unsigned long start_brk ;
1443   unsigned long brk ;
1444   unsigned long start_stack ;
1445   unsigned long arg_start ;
1446   unsigned long arg_end ;
1447   unsigned long env_start ;
1448   unsigned long env_end ;
1449   unsigned long saved_auxv[44] ;
1450   struct mm_rss_stat rss_stat ;
1451   struct linux_binfmt *binfmt ;
1452   cpumask_var_t cpu_vm_mask_var ;
1453   mm_context_t context ;
1454   unsigned int faultstamp ;
1455   unsigned int token_priority ;
1456   unsigned int last_interval ;
1457   unsigned long flags ;
1458   struct core_state *core_state ;
1459   spinlock_t ioctx_lock ;
1460   struct hlist_head ioctx_list ;
1461   struct task_struct *owner ;
1462   struct file *exe_file ;
1463   unsigned long num_exe_file_vmas ;
1464   struct mmu_notifier_mm *mmu_notifier_mm ;
1465   pgtable_t pmd_huge_pte ;
1466   struct cpumask cpumask_allocation ;
1467};
1468#line 7 "include/asm-generic/cputime.h"
1469typedef unsigned long cputime_t;
1470#line 84 "include/linux/sem.h"
1471struct task_struct;
1472#line 101
1473struct sem_undo_list;
1474#line 101 "include/linux/sem.h"
1475struct sysv_sem {
1476   struct sem_undo_list *undo_list ;
1477};
1478#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1479struct siginfo;
1480#line 10
1481struct siginfo;
1482#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1483struct __anonstruct_sigset_t_215 {
1484   unsigned long sig[1] ;
1485};
1486#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1487typedef struct __anonstruct_sigset_t_215 sigset_t;
1488#line 17 "include/asm-generic/signal-defs.h"
1489typedef void __signalfn_t(int  );
1490#line 18 "include/asm-generic/signal-defs.h"
1491typedef __signalfn_t *__sighandler_t;
1492#line 20 "include/asm-generic/signal-defs.h"
1493typedef void __restorefn_t(void);
1494#line 21 "include/asm-generic/signal-defs.h"
1495typedef __restorefn_t *__sigrestore_t;
1496#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1497struct sigaction {
1498   __sighandler_t sa_handler ;
1499   unsigned long sa_flags ;
1500   __sigrestore_t sa_restorer ;
1501   sigset_t sa_mask ;
1502};
1503#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1504struct k_sigaction {
1505   struct sigaction sa ;
1506};
1507#line 7 "include/asm-generic/siginfo.h"
1508union sigval {
1509   int sival_int ;
1510   void *sival_ptr ;
1511};
1512#line 7 "include/asm-generic/siginfo.h"
1513typedef union sigval sigval_t;
1514#line 48 "include/asm-generic/siginfo.h"
1515struct __anonstruct__kill_217 {
1516   __kernel_pid_t _pid ;
1517   __kernel_uid32_t _uid ;
1518};
1519#line 48 "include/asm-generic/siginfo.h"
1520struct __anonstruct__timer_218 {
1521   __kernel_timer_t _tid ;
1522   int _overrun ;
1523   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1524   sigval_t _sigval ;
1525   int _sys_private ;
1526};
1527#line 48 "include/asm-generic/siginfo.h"
1528struct __anonstruct__rt_219 {
1529   __kernel_pid_t _pid ;
1530   __kernel_uid32_t _uid ;
1531   sigval_t _sigval ;
1532};
1533#line 48 "include/asm-generic/siginfo.h"
1534struct __anonstruct__sigchld_220 {
1535   __kernel_pid_t _pid ;
1536   __kernel_uid32_t _uid ;
1537   int _status ;
1538   __kernel_clock_t _utime ;
1539   __kernel_clock_t _stime ;
1540};
1541#line 48 "include/asm-generic/siginfo.h"
1542struct __anonstruct__sigfault_221 {
1543   void *_addr ;
1544   short _addr_lsb ;
1545};
1546#line 48 "include/asm-generic/siginfo.h"
1547struct __anonstruct__sigpoll_222 {
1548   long _band ;
1549   int _fd ;
1550};
1551#line 48 "include/asm-generic/siginfo.h"
1552union __anonunion__sifields_216 {
1553   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1554   struct __anonstruct__kill_217 _kill ;
1555   struct __anonstruct__timer_218 _timer ;
1556   struct __anonstruct__rt_219 _rt ;
1557   struct __anonstruct__sigchld_220 _sigchld ;
1558   struct __anonstruct__sigfault_221 _sigfault ;
1559   struct __anonstruct__sigpoll_222 _sigpoll ;
1560};
1561#line 48 "include/asm-generic/siginfo.h"
1562struct siginfo {
1563   int si_signo ;
1564   int si_errno ;
1565   int si_code ;
1566   union __anonunion__sifields_216 _sifields ;
1567};
1568#line 48 "include/asm-generic/siginfo.h"
1569typedef struct siginfo siginfo_t;
1570#line 288
1571struct siginfo;
1572#line 10 "include/linux/signal.h"
1573struct task_struct;
1574#line 18
1575struct user_struct;
1576#line 28 "include/linux/signal.h"
1577struct sigpending {
1578   struct list_head list ;
1579   sigset_t signal ;
1580};
1581#line 239
1582struct timespec;
1583#line 240
1584struct pt_regs;
1585#line 50 "include/linux/pid.h"
1586struct pid_namespace;
1587#line 50 "include/linux/pid.h"
1588struct upid {
1589   int nr ;
1590   struct pid_namespace *ns ;
1591   struct hlist_node pid_chain ;
1592};
1593#line 57 "include/linux/pid.h"
1594struct pid {
1595   atomic_t count ;
1596   unsigned int level ;
1597   struct hlist_head tasks[3] ;
1598   struct rcu_head rcu ;
1599   struct upid numbers[1] ;
1600};
1601#line 69 "include/linux/pid.h"
1602struct pid_link {
1603   struct hlist_node node ;
1604   struct pid *pid ;
1605};
1606#line 100
1607struct pid_namespace;
1608#line 10 "include/linux/seccomp.h"
1609struct __anonstruct_seccomp_t_225 {
1610   int mode ;
1611};
1612#line 10 "include/linux/seccomp.h"
1613typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1614#line 81 "include/linux/plist.h"
1615struct plist_head {
1616   struct list_head node_list ;
1617};
1618#line 85 "include/linux/plist.h"
1619struct plist_node {
1620   int prio ;
1621   struct list_head prio_list ;
1622   struct list_head node_list ;
1623};
1624#line 28 "include/linux/rtmutex.h"
1625struct rt_mutex {
1626   raw_spinlock_t wait_lock ;
1627   struct plist_head wait_list ;
1628   struct task_struct *owner ;
1629   int save_state ;
1630   char const   *name ;
1631   char const   *file ;
1632   int line ;
1633   void *magic ;
1634};
1635#line 40
1636struct rt_mutex_waiter;
1637#line 40
1638struct rt_mutex_waiter;
1639#line 42 "include/linux/resource.h"
1640struct rlimit {
1641   unsigned long rlim_cur ;
1642   unsigned long rlim_max ;
1643};
1644#line 81
1645struct task_struct;
1646#line 8 "include/linux/timerqueue.h"
1647struct timerqueue_node {
1648   struct rb_node node ;
1649   ktime_t expires ;
1650};
1651#line 13 "include/linux/timerqueue.h"
1652struct timerqueue_head {
1653   struct rb_root head ;
1654   struct timerqueue_node *next ;
1655};
1656#line 27 "include/linux/hrtimer.h"
1657struct hrtimer_clock_base;
1658#line 27
1659struct hrtimer_clock_base;
1660#line 28
1661struct hrtimer_cpu_base;
1662#line 28
1663struct hrtimer_cpu_base;
1664#line 44
1665enum hrtimer_restart {
1666    HRTIMER_NORESTART = 0,
1667    HRTIMER_RESTART = 1
1668} ;
1669#line 108 "include/linux/hrtimer.h"
1670struct hrtimer {
1671   struct timerqueue_node node ;
1672   ktime_t _softexpires ;
1673   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1674   struct hrtimer_clock_base *base ;
1675   unsigned long state ;
1676   int start_pid ;
1677   void *start_site ;
1678   char start_comm[16] ;
1679};
1680#line 145 "include/linux/hrtimer.h"
1681struct hrtimer_clock_base {
1682   struct hrtimer_cpu_base *cpu_base ;
1683   int index ;
1684   clockid_t clockid ;
1685   struct timerqueue_head active ;
1686   ktime_t resolution ;
1687   ktime_t (*get_time)(void) ;
1688   ktime_t softirq_time ;
1689   ktime_t offset ;
1690};
1691#line 178 "include/linux/hrtimer.h"
1692struct hrtimer_cpu_base {
1693   raw_spinlock_t lock ;
1694   unsigned long active_bases ;
1695   ktime_t expires_next ;
1696   int hres_active ;
1697   int hang_detected ;
1698   unsigned long nr_events ;
1699   unsigned long nr_retries ;
1700   unsigned long nr_hangs ;
1701   ktime_t max_hang_time ;
1702   struct hrtimer_clock_base clock_base[3] ;
1703};
1704#line 11 "include/linux/task_io_accounting.h"
1705struct task_io_accounting {
1706   u64 rchar ;
1707   u64 wchar ;
1708   u64 syscr ;
1709   u64 syscw ;
1710   u64 read_bytes ;
1711   u64 write_bytes ;
1712   u64 cancelled_write_bytes ;
1713};
1714#line 13 "include/linux/latencytop.h"
1715struct task_struct;
1716#line 20 "include/linux/latencytop.h"
1717struct latency_record {
1718   unsigned long backtrace[12] ;
1719   unsigned int count ;
1720   unsigned long time ;
1721   unsigned long max ;
1722};
1723#line 29 "include/linux/key.h"
1724typedef int32_t key_serial_t;
1725#line 32 "include/linux/key.h"
1726typedef uint32_t key_perm_t;
1727#line 34
1728struct key;
1729#line 34
1730struct key;
1731#line 75
1732struct user_struct;
1733#line 76
1734struct signal_struct;
1735#line 76
1736struct signal_struct;
1737#line 77
1738struct cred;
1739#line 79
1740struct key_type;
1741#line 79
1742struct key_type;
1743#line 81
1744struct keyring_list;
1745#line 81
1746struct keyring_list;
1747#line 124
1748struct key_user;
1749#line 124 "include/linux/key.h"
1750union __anonunion____missing_field_name_226 {
1751   time_t expiry ;
1752   time_t revoked_at ;
1753};
1754#line 124 "include/linux/key.h"
1755union __anonunion_type_data_227 {
1756   struct list_head link ;
1757   unsigned long x[2] ;
1758   void *p[2] ;
1759   int reject_error ;
1760};
1761#line 124 "include/linux/key.h"
1762union __anonunion_payload_228 {
1763   unsigned long value ;
1764   void *rcudata ;
1765   void *data ;
1766   struct keyring_list *subscriptions ;
1767};
1768#line 124 "include/linux/key.h"
1769struct key {
1770   atomic_t usage ;
1771   key_serial_t serial ;
1772   struct rb_node serial_node ;
1773   struct key_type *type ;
1774   struct rw_semaphore sem ;
1775   struct key_user *user ;
1776   void *security ;
1777   union __anonunion____missing_field_name_226 __annonCompField42 ;
1778   uid_t uid ;
1779   gid_t gid ;
1780   key_perm_t perm ;
1781   unsigned short quotalen ;
1782   unsigned short datalen ;
1783   unsigned long flags ;
1784   char *description ;
1785   union __anonunion_type_data_227 type_data ;
1786   union __anonunion_payload_228 payload ;
1787};
1788#line 18 "include/linux/selinux.h"
1789struct audit_context;
1790#line 18
1791struct audit_context;
1792#line 21 "include/linux/cred.h"
1793struct user_struct;
1794#line 22
1795struct cred;
1796#line 31 "include/linux/cred.h"
1797struct group_info {
1798   atomic_t usage ;
1799   int ngroups ;
1800   int nblocks ;
1801   gid_t small_block[32] ;
1802   gid_t *blocks[0] ;
1803};
1804#line 83 "include/linux/cred.h"
1805struct thread_group_cred {
1806   atomic_t usage ;
1807   pid_t tgid ;
1808   spinlock_t lock ;
1809   struct key *session_keyring ;
1810   struct key *process_keyring ;
1811   struct rcu_head rcu ;
1812};
1813#line 116 "include/linux/cred.h"
1814struct cred {
1815   atomic_t usage ;
1816   atomic_t subscribers ;
1817   void *put_addr ;
1818   unsigned int magic ;
1819   uid_t uid ;
1820   gid_t gid ;
1821   uid_t suid ;
1822   gid_t sgid ;
1823   uid_t euid ;
1824   gid_t egid ;
1825   uid_t fsuid ;
1826   gid_t fsgid ;
1827   unsigned int securebits ;
1828   kernel_cap_t cap_inheritable ;
1829   kernel_cap_t cap_permitted ;
1830   kernel_cap_t cap_effective ;
1831   kernel_cap_t cap_bset ;
1832   unsigned char jit_keyring ;
1833   struct key *thread_keyring ;
1834   struct key *request_key_auth ;
1835   struct thread_group_cred *tgcred ;
1836   void *security ;
1837   struct user_struct *user ;
1838   struct user_namespace *user_ns ;
1839   struct group_info *group_info ;
1840   struct rcu_head rcu ;
1841};
1842#line 61 "include/linux/llist.h"
1843struct llist_node;
1844#line 65 "include/linux/llist.h"
1845struct llist_node {
1846   struct llist_node *next ;
1847};
1848#line 97 "include/linux/sched.h"
1849struct futex_pi_state;
1850#line 97
1851struct futex_pi_state;
1852#line 98
1853struct robust_list_head;
1854#line 98
1855struct robust_list_head;
1856#line 99
1857struct bio_list;
1858#line 99
1859struct bio_list;
1860#line 100
1861struct fs_struct;
1862#line 100
1863struct fs_struct;
1864#line 101
1865struct perf_event_context;
1866#line 101
1867struct perf_event_context;
1868#line 102
1869struct blk_plug;
1870#line 102
1871struct blk_plug;
1872#line 151
1873struct cfs_rq;
1874#line 151
1875struct cfs_rq;
1876#line 259
1877struct task_struct;
1878#line 366
1879struct nsproxy;
1880#line 367
1881struct user_namespace;
1882#line 214 "include/linux/aio.h"
1883struct mm_struct;
1884#line 443 "include/linux/sched.h"
1885struct sighand_struct {
1886   atomic_t count ;
1887   struct k_sigaction action[64] ;
1888   spinlock_t siglock ;
1889   wait_queue_head_t signalfd_wqh ;
1890};
1891#line 450 "include/linux/sched.h"
1892struct pacct_struct {
1893   int ac_flag ;
1894   long ac_exitcode ;
1895   unsigned long ac_mem ;
1896   cputime_t ac_utime ;
1897   cputime_t ac_stime ;
1898   unsigned long ac_minflt ;
1899   unsigned long ac_majflt ;
1900};
1901#line 458 "include/linux/sched.h"
1902struct cpu_itimer {
1903   cputime_t expires ;
1904   cputime_t incr ;
1905   u32 error ;
1906   u32 incr_error ;
1907};
1908#line 476 "include/linux/sched.h"
1909struct task_cputime {
1910   cputime_t utime ;
1911   cputime_t stime ;
1912   unsigned long long sum_exec_runtime ;
1913};
1914#line 512 "include/linux/sched.h"
1915struct thread_group_cputimer {
1916   struct task_cputime cputime ;
1917   int running ;
1918   raw_spinlock_t lock ;
1919};
1920#line 519
1921struct autogroup;
1922#line 519
1923struct autogroup;
1924#line 528
1925struct tty_struct;
1926#line 528
1927struct taskstats;
1928#line 528
1929struct tty_audit_buf;
1930#line 528 "include/linux/sched.h"
1931struct signal_struct {
1932   atomic_t sigcnt ;
1933   atomic_t live ;
1934   int nr_threads ;
1935   wait_queue_head_t wait_chldexit ;
1936   struct task_struct *curr_target ;
1937   struct sigpending shared_pending ;
1938   int group_exit_code ;
1939   int notify_count ;
1940   struct task_struct *group_exit_task ;
1941   int group_stop_count ;
1942   unsigned int flags ;
1943   unsigned int is_child_subreaper : 1 ;
1944   unsigned int has_child_subreaper : 1 ;
1945   struct list_head posix_timers ;
1946   struct hrtimer real_timer ;
1947   struct pid *leader_pid ;
1948   ktime_t it_real_incr ;
1949   struct cpu_itimer it[2] ;
1950   struct thread_group_cputimer cputimer ;
1951   struct task_cputime cputime_expires ;
1952   struct list_head cpu_timers[3] ;
1953   struct pid *tty_old_pgrp ;
1954   int leader ;
1955   struct tty_struct *tty ;
1956   struct autogroup *autogroup ;
1957   cputime_t utime ;
1958   cputime_t stime ;
1959   cputime_t cutime ;
1960   cputime_t cstime ;
1961   cputime_t gtime ;
1962   cputime_t cgtime ;
1963   cputime_t prev_utime ;
1964   cputime_t prev_stime ;
1965   unsigned long nvcsw ;
1966   unsigned long nivcsw ;
1967   unsigned long cnvcsw ;
1968   unsigned long cnivcsw ;
1969   unsigned long min_flt ;
1970   unsigned long maj_flt ;
1971   unsigned long cmin_flt ;
1972   unsigned long cmaj_flt ;
1973   unsigned long inblock ;
1974   unsigned long oublock ;
1975   unsigned long cinblock ;
1976   unsigned long coublock ;
1977   unsigned long maxrss ;
1978   unsigned long cmaxrss ;
1979   struct task_io_accounting ioac ;
1980   unsigned long long sum_sched_runtime ;
1981   struct rlimit rlim[16] ;
1982   struct pacct_struct pacct ;
1983   struct taskstats *stats ;
1984   unsigned int audit_tty ;
1985   struct tty_audit_buf *tty_audit_buf ;
1986   struct rw_semaphore group_rwsem ;
1987   int oom_adj ;
1988   int oom_score_adj ;
1989   int oom_score_adj_min ;
1990   struct mutex cred_guard_mutex ;
1991};
1992#line 703 "include/linux/sched.h"
1993struct user_struct {
1994   atomic_t __count ;
1995   atomic_t processes ;
1996   atomic_t files ;
1997   atomic_t sigpending ;
1998   atomic_t inotify_watches ;
1999   atomic_t inotify_devs ;
2000   atomic_t fanotify_listeners ;
2001   atomic_long_t epoll_watches ;
2002   unsigned long mq_bytes ;
2003   unsigned long locked_shm ;
2004   struct key *uid_keyring ;
2005   struct key *session_keyring ;
2006   struct hlist_node uidhash_node ;
2007   uid_t uid ;
2008   struct user_namespace *user_ns ;
2009   atomic_long_t locked_vm ;
2010};
2011#line 747
2012struct backing_dev_info;
2013#line 747
2014struct backing_dev_info;
2015#line 748
2016struct reclaim_state;
2017#line 748
2018struct reclaim_state;
2019#line 751 "include/linux/sched.h"
2020struct sched_info {
2021   unsigned long pcount ;
2022   unsigned long long run_delay ;
2023   unsigned long long last_arrival ;
2024   unsigned long long last_queued ;
2025};
2026#line 763 "include/linux/sched.h"
2027struct task_delay_info {
2028   spinlock_t lock ;
2029   unsigned int flags ;
2030   struct timespec blkio_start ;
2031   struct timespec blkio_end ;
2032   u64 blkio_delay ;
2033   u64 swapin_delay ;
2034   u32 blkio_count ;
2035   u32 swapin_count ;
2036   struct timespec freepages_start ;
2037   struct timespec freepages_end ;
2038   u64 freepages_delay ;
2039   u32 freepages_count ;
2040};
2041#line 1088
2042struct io_context;
2043#line 1088
2044struct io_context;
2045#line 1097
2046struct audit_context;
2047#line 1098
2048struct mempolicy;
2049#line 1099
2050struct pipe_inode_info;
2051#line 1099
2052struct pipe_inode_info;
2053#line 1102
2054struct rq;
2055#line 1102
2056struct rq;
2057#line 1122 "include/linux/sched.h"
2058struct sched_class {
2059   struct sched_class  const  *next ;
2060   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2061   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2062   void (*yield_task)(struct rq *rq ) ;
2063   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2064   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2065   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2066   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2067   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2068   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2069   void (*post_schedule)(struct rq *this_rq ) ;
2070   void (*task_waking)(struct task_struct *task ) ;
2071   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2072   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
2073   void (*rq_online)(struct rq *rq ) ;
2074   void (*rq_offline)(struct rq *rq ) ;
2075   void (*set_curr_task)(struct rq *rq ) ;
2076   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2077   void (*task_fork)(struct task_struct *p ) ;
2078   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2079   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2080   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2081   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2082   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2083};
2084#line 1167 "include/linux/sched.h"
2085struct load_weight {
2086   unsigned long weight ;
2087   unsigned long inv_weight ;
2088};
2089#line 1172 "include/linux/sched.h"
2090struct sched_statistics {
2091   u64 wait_start ;
2092   u64 wait_max ;
2093   u64 wait_count ;
2094   u64 wait_sum ;
2095   u64 iowait_count ;
2096   u64 iowait_sum ;
2097   u64 sleep_start ;
2098   u64 sleep_max ;
2099   s64 sum_sleep_runtime ;
2100   u64 block_start ;
2101   u64 block_max ;
2102   u64 exec_max ;
2103   u64 slice_max ;
2104   u64 nr_migrations_cold ;
2105   u64 nr_failed_migrations_affine ;
2106   u64 nr_failed_migrations_running ;
2107   u64 nr_failed_migrations_hot ;
2108   u64 nr_forced_migrations ;
2109   u64 nr_wakeups ;
2110   u64 nr_wakeups_sync ;
2111   u64 nr_wakeups_migrate ;
2112   u64 nr_wakeups_local ;
2113   u64 nr_wakeups_remote ;
2114   u64 nr_wakeups_affine ;
2115   u64 nr_wakeups_affine_attempts ;
2116   u64 nr_wakeups_passive ;
2117   u64 nr_wakeups_idle ;
2118};
2119#line 1207 "include/linux/sched.h"
2120struct sched_entity {
2121   struct load_weight load ;
2122   struct rb_node run_node ;
2123   struct list_head group_node ;
2124   unsigned int on_rq ;
2125   u64 exec_start ;
2126   u64 sum_exec_runtime ;
2127   u64 vruntime ;
2128   u64 prev_sum_exec_runtime ;
2129   u64 nr_migrations ;
2130   struct sched_statistics statistics ;
2131   struct sched_entity *parent ;
2132   struct cfs_rq *cfs_rq ;
2133   struct cfs_rq *my_q ;
2134};
2135#line 1233
2136struct rt_rq;
2137#line 1233 "include/linux/sched.h"
2138struct sched_rt_entity {
2139   struct list_head run_list ;
2140   unsigned long timeout ;
2141   unsigned int time_slice ;
2142   int nr_cpus_allowed ;
2143   struct sched_rt_entity *back ;
2144   struct sched_rt_entity *parent ;
2145   struct rt_rq *rt_rq ;
2146   struct rt_rq *my_q ;
2147};
2148#line 1264
2149struct files_struct;
2150#line 1264
2151struct css_set;
2152#line 1264
2153struct compat_robust_list_head;
2154#line 1264
2155struct mem_cgroup;
2156#line 1264 "include/linux/sched.h"
2157struct memcg_batch_info {
2158   int do_batch ;
2159   struct mem_cgroup *memcg ;
2160   unsigned long nr_pages ;
2161   unsigned long memsw_nr_pages ;
2162};
2163#line 1264 "include/linux/sched.h"
2164struct task_struct {
2165   long volatile   state ;
2166   void *stack ;
2167   atomic_t usage ;
2168   unsigned int flags ;
2169   unsigned int ptrace ;
2170   struct llist_node wake_entry ;
2171   int on_cpu ;
2172   int on_rq ;
2173   int prio ;
2174   int static_prio ;
2175   int normal_prio ;
2176   unsigned int rt_priority ;
2177   struct sched_class  const  *sched_class ;
2178   struct sched_entity se ;
2179   struct sched_rt_entity rt ;
2180   struct hlist_head preempt_notifiers ;
2181   unsigned char fpu_counter ;
2182   unsigned int policy ;
2183   cpumask_t cpus_allowed ;
2184   struct sched_info sched_info ;
2185   struct list_head tasks ;
2186   struct plist_node pushable_tasks ;
2187   struct mm_struct *mm ;
2188   struct mm_struct *active_mm ;
2189   unsigned int brk_randomized : 1 ;
2190   int exit_state ;
2191   int exit_code ;
2192   int exit_signal ;
2193   int pdeath_signal ;
2194   unsigned int jobctl ;
2195   unsigned int personality ;
2196   unsigned int did_exec : 1 ;
2197   unsigned int in_execve : 1 ;
2198   unsigned int in_iowait : 1 ;
2199   unsigned int sched_reset_on_fork : 1 ;
2200   unsigned int sched_contributes_to_load : 1 ;
2201   unsigned int irq_thread : 1 ;
2202   pid_t pid ;
2203   pid_t tgid ;
2204   unsigned long stack_canary ;
2205   struct task_struct *real_parent ;
2206   struct task_struct *parent ;
2207   struct list_head children ;
2208   struct list_head sibling ;
2209   struct task_struct *group_leader ;
2210   struct list_head ptraced ;
2211   struct list_head ptrace_entry ;
2212   struct pid_link pids[3] ;
2213   struct list_head thread_group ;
2214   struct completion *vfork_done ;
2215   int *set_child_tid ;
2216   int *clear_child_tid ;
2217   cputime_t utime ;
2218   cputime_t stime ;
2219   cputime_t utimescaled ;
2220   cputime_t stimescaled ;
2221   cputime_t gtime ;
2222   cputime_t prev_utime ;
2223   cputime_t prev_stime ;
2224   unsigned long nvcsw ;
2225   unsigned long nivcsw ;
2226   struct timespec start_time ;
2227   struct timespec real_start_time ;
2228   unsigned long min_flt ;
2229   unsigned long maj_flt ;
2230   struct task_cputime cputime_expires ;
2231   struct list_head cpu_timers[3] ;
2232   struct cred  const  *real_cred ;
2233   struct cred  const  *cred ;
2234   struct cred *replacement_session_keyring ;
2235   char comm[16] ;
2236   int link_count ;
2237   int total_link_count ;
2238   struct sysv_sem sysvsem ;
2239   unsigned long last_switch_count ;
2240   struct thread_struct thread ;
2241   struct fs_struct *fs ;
2242   struct files_struct *files ;
2243   struct nsproxy *nsproxy ;
2244   struct signal_struct *signal ;
2245   struct sighand_struct *sighand ;
2246   sigset_t blocked ;
2247   sigset_t real_blocked ;
2248   sigset_t saved_sigmask ;
2249   struct sigpending pending ;
2250   unsigned long sas_ss_sp ;
2251   size_t sas_ss_size ;
2252   int (*notifier)(void *priv ) ;
2253   void *notifier_data ;
2254   sigset_t *notifier_mask ;
2255   struct audit_context *audit_context ;
2256   uid_t loginuid ;
2257   unsigned int sessionid ;
2258   seccomp_t seccomp ;
2259   u32 parent_exec_id ;
2260   u32 self_exec_id ;
2261   spinlock_t alloc_lock ;
2262   raw_spinlock_t pi_lock ;
2263   struct plist_head pi_waiters ;
2264   struct rt_mutex_waiter *pi_blocked_on ;
2265   struct mutex_waiter *blocked_on ;
2266   unsigned int irq_events ;
2267   unsigned long hardirq_enable_ip ;
2268   unsigned long hardirq_disable_ip ;
2269   unsigned int hardirq_enable_event ;
2270   unsigned int hardirq_disable_event ;
2271   int hardirqs_enabled ;
2272   int hardirq_context ;
2273   unsigned long softirq_disable_ip ;
2274   unsigned long softirq_enable_ip ;
2275   unsigned int softirq_disable_event ;
2276   unsigned int softirq_enable_event ;
2277   int softirqs_enabled ;
2278   int softirq_context ;
2279   void *journal_info ;
2280   struct bio_list *bio_list ;
2281   struct blk_plug *plug ;
2282   struct reclaim_state *reclaim_state ;
2283   struct backing_dev_info *backing_dev_info ;
2284   struct io_context *io_context ;
2285   unsigned long ptrace_message ;
2286   siginfo_t *last_siginfo ;
2287   struct task_io_accounting ioac ;
2288   u64 acct_rss_mem1 ;
2289   u64 acct_vm_mem1 ;
2290   cputime_t acct_timexpd ;
2291   nodemask_t mems_allowed ;
2292   seqcount_t mems_allowed_seq ;
2293   int cpuset_mem_spread_rotor ;
2294   int cpuset_slab_spread_rotor ;
2295   struct css_set *cgroups ;
2296   struct list_head cg_list ;
2297   struct robust_list_head *robust_list ;
2298   struct compat_robust_list_head *compat_robust_list ;
2299   struct list_head pi_state_list ;
2300   struct futex_pi_state *pi_state_cache ;
2301   struct perf_event_context *perf_event_ctxp[2] ;
2302   struct mutex perf_event_mutex ;
2303   struct list_head perf_event_list ;
2304   struct mempolicy *mempolicy ;
2305   short il_next ;
2306   short pref_node_fork ;
2307   struct rcu_head rcu ;
2308   struct pipe_inode_info *splice_pipe ;
2309   struct task_delay_info *delays ;
2310   int make_it_fail ;
2311   int nr_dirtied ;
2312   int nr_dirtied_pause ;
2313   unsigned long dirty_paused_when ;
2314   int latency_record_count ;
2315   struct latency_record latency_record[32] ;
2316   unsigned long timer_slack_ns ;
2317   unsigned long default_timer_slack_ns ;
2318   struct list_head *scm_work_list ;
2319   unsigned long trace ;
2320   unsigned long trace_recursion ;
2321   struct memcg_batch_info memcg_batch ;
2322   atomic_t ptrace_bp_refcnt ;
2323};
2324#line 1681
2325struct pid_namespace;
2326#line 28 "include/linux/of.h"
2327typedef u32 phandle;
2328#line 31 "include/linux/of.h"
2329struct property {
2330   char *name ;
2331   int length ;
2332   void *value ;
2333   struct property *next ;
2334   unsigned long _flags ;
2335   unsigned int unique_id ;
2336};
2337#line 44
2338struct proc_dir_entry;
2339#line 44 "include/linux/of.h"
2340struct device_node {
2341   char const   *name ;
2342   char const   *type ;
2343   phandle phandle ;
2344   char *full_name ;
2345   struct property *properties ;
2346   struct property *deadprops ;
2347   struct device_node *parent ;
2348   struct device_node *child ;
2349   struct device_node *sibling ;
2350   struct device_node *next ;
2351   struct device_node *allnext ;
2352   struct proc_dir_entry *pde ;
2353   struct kref kref ;
2354   unsigned long _flags ;
2355   void *data ;
2356};
2357#line 44 "include/linux/i2c.h"
2358struct i2c_msg;
2359#line 44
2360struct i2c_msg;
2361#line 45
2362struct i2c_algorithm;
2363#line 45
2364struct i2c_algorithm;
2365#line 46
2366struct i2c_adapter;
2367#line 46
2368struct i2c_adapter;
2369#line 49
2370union i2c_smbus_data;
2371#line 49
2372union i2c_smbus_data;
2373#line 52
2374struct module;
2375#line 352 "include/linux/i2c.h"
2376struct i2c_algorithm {
2377   int (*master_xfer)(struct i2c_adapter *adap , struct i2c_msg *msgs , int num ) ;
2378   int (*smbus_xfer)(struct i2c_adapter *adap , u16 addr , unsigned short flags ,
2379                     char read_write , u8 command , int size , union i2c_smbus_data *data ) ;
2380   u32 (*functionality)(struct i2c_adapter * ) ;
2381};
2382#line 373 "include/linux/i2c.h"
2383struct i2c_adapter {
2384   struct module *owner ;
2385   unsigned int class ;
2386   struct i2c_algorithm  const  *algo ;
2387   void *algo_data ;
2388   struct rt_mutex bus_lock ;
2389   int timeout ;
2390   int retries ;
2391   struct device dev ;
2392   int nr ;
2393   char name[48] ;
2394   struct completion dev_released ;
2395   struct mutex userspace_clients_lock ;
2396   struct list_head userspace_clients ;
2397};
2398#line 538 "include/linux/i2c.h"
2399struct i2c_msg {
2400   __u16 addr ;
2401   __u16 flags ;
2402   __u16 len ;
2403   __u8 *buf ;
2404};
2405#line 596 "include/linux/i2c.h"
2406union i2c_smbus_data {
2407   __u8 byte ;
2408   __u16 word ;
2409   __u8 block[34] ;
2410};
2411#line 55 "include/linux/i2c-algo-pca.h"
2412struct i2c_algo_pca_data {
2413   void *data ;
2414   void (*write_byte)(void *data , int reg , int val ) ;
2415   int (*read_byte)(void *data , int reg ) ;
2416   int (*wait_for_completion)(void *data ) ;
2417   void (*reset_chip)(void *data ) ;
2418   unsigned int i2c_clock ;
2419};
2420#line 1 "<compiler builtins>"
2421long __builtin_expect(long val , long res ) ;
2422#line 100 "include/linux/printk.h"
2423extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
2424#line 49 "include/linux/dynamic_debug.h"
2425extern int ( /* format attribute */  __dynamic_dev_dbg)(struct _ddebug *descriptor ,
2426                                                        struct device  const  *dev ,
2427                                                        char const   *fmt  , ...) ;
2428#line 152 "include/linux/mutex.h"
2429void mutex_lock(struct mutex *lock ) ;
2430#line 153
2431int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2432#line 154
2433int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2434#line 168
2435int mutex_trylock(struct mutex *lock ) ;
2436#line 169
2437void mutex_unlock(struct mutex *lock ) ;
2438#line 170
2439int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2440#line 82 "include/linux/jiffies.h"
2441extern unsigned long volatile   jiffies  __attribute__((__section__(".data"))) ;
2442#line 356 "include/linux/moduleparam.h"
2443extern struct kernel_param_ops param_ops_int ;
2444#line 10 "include/asm-generic/delay.h"
2445extern void __const_udelay(unsigned long xloops ) ;
2446#line 46 "include/linux/delay.h"
2447extern void msleep(unsigned int msecs ) ;
2448#line 891 "include/linux/device.h"
2449extern int ( /* format attribute */  dev_err)(struct device  const  *dev , char const   *fmt 
2450                                              , ...) ;
2451#line 446 "include/linux/i2c.h"
2452extern int i2c_add_adapter(struct i2c_adapter * ) ;
2453#line 448
2454extern int i2c_add_numbered_adapter(struct i2c_adapter * ) ;
2455#line 67 "include/linux/i2c-algo-pca.h"
2456int i2c_pca_add_bus(struct i2c_adapter *adap ) ;
2457#line 68
2458int i2c_pca_add_numbered_bus(struct i2c_adapter *adap ) ;
2459#line 40 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2460static int i2c_debug  ;
2461#line 52 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2462static void pca9665_reset(void *pd ) 
2463{ struct i2c_algo_pca_data *adap ;
2464  unsigned long __cil_tmp3 ;
2465  unsigned long __cil_tmp4 ;
2466  void (*__cil_tmp5)(void *data , int reg , int val ) ;
2467  void *__cil_tmp6 ;
2468  unsigned long __cil_tmp7 ;
2469  unsigned long __cil_tmp8 ;
2470  void (*__cil_tmp9)(void *data , int reg , int val ) ;
2471  void *__cil_tmp10 ;
2472  unsigned long __cil_tmp11 ;
2473  unsigned long __cil_tmp12 ;
2474  void (*__cil_tmp13)(void *data , int reg , int val ) ;
2475  void *__cil_tmp14 ;
2476
2477  {
2478  {
2479#line 54
2480  adap = (struct i2c_algo_pca_data *)pd;
2481#line 55
2482  __cil_tmp3 = (unsigned long )adap;
2483#line 55
2484  __cil_tmp4 = __cil_tmp3 + 8;
2485#line 55
2486  __cil_tmp5 = *((void (**)(void *data , int reg , int val ))__cil_tmp4);
2487#line 55
2488  __cil_tmp6 = *((void **)adap);
2489#line 55
2490  (*__cil_tmp5)(__cil_tmp6, 0, 5);
2491#line 56
2492  __cil_tmp7 = (unsigned long )adap;
2493#line 56
2494  __cil_tmp8 = __cil_tmp7 + 8;
2495#line 56
2496  __cil_tmp9 = *((void (**)(void *data , int reg , int val ))__cil_tmp8);
2497#line 56
2498  __cil_tmp10 = *((void **)adap);
2499#line 56
2500  (*__cil_tmp9)(__cil_tmp10, 2, 165);
2501#line 57
2502  __cil_tmp11 = (unsigned long )adap;
2503#line 57
2504  __cil_tmp12 = __cil_tmp11 + 8;
2505#line 57
2506  __cil_tmp13 = *((void (**)(void *data , int reg , int val ))__cil_tmp12);
2507#line 57
2508  __cil_tmp14 = *((void **)adap);
2509#line 57
2510  (*__cil_tmp13)(__cil_tmp14, 2, 90);
2511  }
2512#line 58
2513  return;
2514}
2515}
2516#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2517static int pca_start(struct i2c_algo_pca_data *adap ) 
2518{ int sta ;
2519  int tmp___7 ;
2520  int tmp___8 ;
2521  unsigned long __cil_tmp5 ;
2522  unsigned long __cil_tmp6 ;
2523  int (*__cil_tmp7)(void *data , int reg ) ;
2524  void *__cil_tmp8 ;
2525  int *__cil_tmp9 ;
2526  int __cil_tmp10 ;
2527  unsigned long __cil_tmp11 ;
2528  unsigned long __cil_tmp12 ;
2529  void (*__cil_tmp13)(void *data , int reg , int val ) ;
2530  void *__cil_tmp14 ;
2531  unsigned long __cil_tmp15 ;
2532  unsigned long __cil_tmp16 ;
2533  int (*__cil_tmp17)(void *data ) ;
2534  void *__cil_tmp18 ;
2535
2536  {
2537  {
2538#line 67
2539  __cil_tmp5 = (unsigned long )adap;
2540#line 67
2541  __cil_tmp6 = __cil_tmp5 + 16;
2542#line 67
2543  __cil_tmp7 = *((int (**)(void *data , int reg ))__cil_tmp6);
2544#line 67
2545  __cil_tmp8 = *((void **)adap);
2546#line 67
2547  tmp___7 = (*__cil_tmp7)(__cil_tmp8, 3);
2548#line 67
2549  sta = tmp___7;
2550  }
2551  {
2552#line 68
2553  while (1) {
2554    while_continue: /* CIL Label */ ;
2555    {
2556#line 68
2557    __cil_tmp9 = & i2c_debug;
2558#line 68
2559    __cil_tmp10 = *__cil_tmp9;
2560#line 68
2561    if (__cil_tmp10 >= 2) {
2562      {
2563#line 68
2564      printk("<7>=== START\n");
2565      }
2566    } else {
2567
2568    }
2569    }
2570#line 68
2571    goto while_break;
2572  }
2573  while_break: /* CIL Label */ ;
2574  }
2575  {
2576#line 69
2577  sta = sta | 32;
2578#line 70
2579  sta = sta & -25;
2580#line 71
2581  __cil_tmp11 = (unsigned long )adap;
2582#line 71
2583  __cil_tmp12 = __cil_tmp11 + 8;
2584#line 71
2585  __cil_tmp13 = *((void (**)(void *data , int reg , int val ))__cil_tmp12);
2586#line 71
2587  __cil_tmp14 = *((void **)adap);
2588#line 71
2589  (*__cil_tmp13)(__cil_tmp14, 3, sta);
2590#line 72
2591  __cil_tmp15 = (unsigned long )adap;
2592#line 72
2593  __cil_tmp16 = __cil_tmp15 + 24;
2594#line 72
2595  __cil_tmp17 = *((int (**)(void *data ))__cil_tmp16);
2596#line 72
2597  __cil_tmp18 = *((void **)adap);
2598#line 72
2599  tmp___8 = (*__cil_tmp17)(__cil_tmp18);
2600  }
2601#line 72
2602  return (tmp___8);
2603}
2604}
2605#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2606static int pca_repeated_start(struct i2c_algo_pca_data *adap ) 
2607{ int sta ;
2608  int tmp___7 ;
2609  int tmp___8 ;
2610  unsigned long __cil_tmp5 ;
2611  unsigned long __cil_tmp6 ;
2612  int (*__cil_tmp7)(void *data , int reg ) ;
2613  void *__cil_tmp8 ;
2614  int *__cil_tmp9 ;
2615  int __cil_tmp10 ;
2616  unsigned long __cil_tmp11 ;
2617  unsigned long __cil_tmp12 ;
2618  void (*__cil_tmp13)(void *data , int reg , int val ) ;
2619  void *__cil_tmp14 ;
2620  unsigned long __cil_tmp15 ;
2621  unsigned long __cil_tmp16 ;
2622  int (*__cil_tmp17)(void *data ) ;
2623  void *__cil_tmp18 ;
2624
2625  {
2626  {
2627#line 82
2628  __cil_tmp5 = (unsigned long )adap;
2629#line 82
2630  __cil_tmp6 = __cil_tmp5 + 16;
2631#line 82
2632  __cil_tmp7 = *((int (**)(void *data , int reg ))__cil_tmp6);
2633#line 82
2634  __cil_tmp8 = *((void **)adap);
2635#line 82
2636  tmp___7 = (*__cil_tmp7)(__cil_tmp8, 3);
2637#line 82
2638  sta = tmp___7;
2639  }
2640  {
2641#line 83
2642  while (1) {
2643    while_continue: /* CIL Label */ ;
2644    {
2645#line 83
2646    __cil_tmp9 = & i2c_debug;
2647#line 83
2648    __cil_tmp10 = *__cil_tmp9;
2649#line 83
2650    if (__cil_tmp10 >= 2) {
2651      {
2652#line 83
2653      printk("<7>=== REPEATED START\n");
2654      }
2655    } else {
2656
2657    }
2658    }
2659#line 83
2660    goto while_break;
2661  }
2662  while_break: /* CIL Label */ ;
2663  }
2664  {
2665#line 84
2666  sta = sta | 32;
2667#line 85
2668  sta = sta & -25;
2669#line 86
2670  __cil_tmp11 = (unsigned long )adap;
2671#line 86
2672  __cil_tmp12 = __cil_tmp11 + 8;
2673#line 86
2674  __cil_tmp13 = *((void (**)(void *data , int reg , int val ))__cil_tmp12);
2675#line 86
2676  __cil_tmp14 = *((void **)adap);
2677#line 86
2678  (*__cil_tmp13)(__cil_tmp14, 3, sta);
2679#line 87
2680  __cil_tmp15 = (unsigned long )adap;
2681#line 87
2682  __cil_tmp16 = __cil_tmp15 + 24;
2683#line 87
2684  __cil_tmp17 = *((int (**)(void *data ))__cil_tmp16);
2685#line 87
2686  __cil_tmp18 = *((void **)adap);
2687#line 87
2688  tmp___8 = (*__cil_tmp17)(__cil_tmp18);
2689  }
2690#line 87
2691  return (tmp___8);
2692}
2693}
2694#line 99 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2695static void pca_stop(struct i2c_algo_pca_data *adap ) 
2696{ int sta ;
2697  int tmp___7 ;
2698  unsigned long __cil_tmp4 ;
2699  unsigned long __cil_tmp5 ;
2700  int (*__cil_tmp6)(void *data , int reg ) ;
2701  void *__cil_tmp7 ;
2702  int *__cil_tmp8 ;
2703  int __cil_tmp9 ;
2704  unsigned long __cil_tmp10 ;
2705  unsigned long __cil_tmp11 ;
2706  void (*__cil_tmp12)(void *data , int reg , int val ) ;
2707  void *__cil_tmp13 ;
2708
2709  {
2710  {
2711#line 101
2712  __cil_tmp4 = (unsigned long )adap;
2713#line 101
2714  __cil_tmp5 = __cil_tmp4 + 16;
2715#line 101
2716  __cil_tmp6 = *((int (**)(void *data , int reg ))__cil_tmp5);
2717#line 101
2718  __cil_tmp7 = *((void **)adap);
2719#line 101
2720  tmp___7 = (*__cil_tmp6)(__cil_tmp7, 3);
2721#line 101
2722  sta = tmp___7;
2723  }
2724  {
2725#line 102
2726  while (1) {
2727    while_continue: /* CIL Label */ ;
2728    {
2729#line 102
2730    __cil_tmp8 = & i2c_debug;
2731#line 102
2732    __cil_tmp9 = *__cil_tmp8;
2733#line 102
2734    if (__cil_tmp9 >= 2) {
2735      {
2736#line 102
2737      printk("<7>=== STOP\n");
2738      }
2739    } else {
2740
2741    }
2742    }
2743#line 102
2744    goto while_break;
2745  }
2746  while_break: /* CIL Label */ ;
2747  }
2748  {
2749#line 103
2750  sta = sta | 16;
2751#line 104
2752  sta = sta & -41;
2753#line 105
2754  __cil_tmp10 = (unsigned long )adap;
2755#line 105
2756  __cil_tmp11 = __cil_tmp10 + 8;
2757#line 105
2758  __cil_tmp12 = *((void (**)(void *data , int reg , int val ))__cil_tmp11);
2759#line 105
2760  __cil_tmp13 = *((void **)adap);
2761#line 105
2762  (*__cil_tmp12)(__cil_tmp13, 3, sta);
2763  }
2764#line 106
2765  return;
2766}
2767}
2768#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2769static int pca_address(struct i2c_algo_pca_data *adap , struct i2c_msg *msg ) 
2770{ int sta ;
2771  int tmp___7 ;
2772  int addr ;
2773  int tmp___8 ;
2774  int tmp___9 ;
2775  unsigned long __cil_tmp8 ;
2776  unsigned long __cil_tmp9 ;
2777  int (*__cil_tmp10)(void *data , int reg ) ;
2778  void *__cil_tmp11 ;
2779  __u16 __cil_tmp12 ;
2780  int __cil_tmp13 ;
2781  int __cil_tmp14 ;
2782  unsigned long __cil_tmp15 ;
2783  unsigned long __cil_tmp16 ;
2784  __u16 __cil_tmp17 ;
2785  int __cil_tmp18 ;
2786  int *__cil_tmp19 ;
2787  int __cil_tmp20 ;
2788  unsigned long __cil_tmp21 ;
2789  unsigned long __cil_tmp22 ;
2790  __u16 __cil_tmp23 ;
2791  int __cil_tmp24 ;
2792  __u16 __cil_tmp25 ;
2793  int __cil_tmp26 ;
2794  unsigned long __cil_tmp27 ;
2795  unsigned long __cil_tmp28 ;
2796  void (*__cil_tmp29)(void *data , int reg , int val ) ;
2797  void *__cil_tmp30 ;
2798  unsigned long __cil_tmp31 ;
2799  unsigned long __cil_tmp32 ;
2800  void (*__cil_tmp33)(void *data , int reg , int val ) ;
2801  void *__cil_tmp34 ;
2802  unsigned long __cil_tmp35 ;
2803  unsigned long __cil_tmp36 ;
2804  int (*__cil_tmp37)(void *data ) ;
2805  void *__cil_tmp38 ;
2806
2807  {
2808  {
2809#line 116
2810  __cil_tmp8 = (unsigned long )adap;
2811#line 116
2812  __cil_tmp9 = __cil_tmp8 + 16;
2813#line 116
2814  __cil_tmp10 = *((int (**)(void *data , int reg ))__cil_tmp9);
2815#line 116
2816  __cil_tmp11 = *((void **)adap);
2817#line 116
2818  tmp___7 = (*__cil_tmp10)(__cil_tmp11, 3);
2819#line 116
2820  sta = tmp___7;
2821#line 119
2822  __cil_tmp12 = *((__u16 *)msg);
2823#line 119
2824  __cil_tmp13 = (int )__cil_tmp12;
2825#line 119
2826  __cil_tmp14 = 127 & __cil_tmp13;
2827#line 119
2828  addr = __cil_tmp14 << 1;
2829  }
2830  {
2831#line 120
2832  __cil_tmp15 = (unsigned long )msg;
2833#line 120
2834  __cil_tmp16 = __cil_tmp15 + 2;
2835#line 120
2836  __cil_tmp17 = *((__u16 *)__cil_tmp16);
2837#line 120
2838  __cil_tmp18 = (int )__cil_tmp17;
2839#line 120
2840  if (__cil_tmp18 & 1) {
2841#line 121
2842    addr = addr | 1;
2843  } else {
2844
2845  }
2846  }
2847  {
2848#line 122
2849  while (1) {
2850    while_continue: /* CIL Label */ ;
2851    {
2852#line 122
2853    __cil_tmp19 = & i2c_debug;
2854#line 122
2855    __cil_tmp20 = *__cil_tmp19;
2856#line 122
2857    if (__cil_tmp20 >= 2) {
2858      {
2859#line 122
2860      __cil_tmp21 = (unsigned long )msg;
2861#line 122
2862      __cil_tmp22 = __cil_tmp21 + 2;
2863#line 122
2864      __cil_tmp23 = *((__u16 *)__cil_tmp22);
2865#line 122
2866      __cil_tmp24 = (int )__cil_tmp23;
2867#line 122
2868      if (__cil_tmp24 & 1) {
2869#line 122
2870        tmp___8 = 'R';
2871      } else {
2872#line 122
2873        tmp___8 = 'W';
2874      }
2875      }
2876      {
2877#line 122
2878      __cil_tmp25 = *((__u16 *)msg);
2879#line 122
2880      __cil_tmp26 = (int )__cil_tmp25;
2881#line 122
2882      printk("<7>=== SLAVE ADDRESS %#04x+%c=%#04x\n", __cil_tmp26, tmp___8, addr);
2883      }
2884    } else {
2885
2886    }
2887    }
2888#line 122
2889    goto while_break;
2890  }
2891  while_break: /* CIL Label */ ;
2892  }
2893  {
2894#line 125
2895  __cil_tmp27 = (unsigned long )adap;
2896#line 125
2897  __cil_tmp28 = __cil_tmp27 + 8;
2898#line 125
2899  __cil_tmp29 = *((void (**)(void *data , int reg , int val ))__cil_tmp28);
2900#line 125
2901  __cil_tmp30 = *((void **)adap);
2902#line 125
2903  (*__cil_tmp29)(__cil_tmp30, 1, addr);
2904#line 127
2905  sta = sta & -57;
2906#line 128
2907  __cil_tmp31 = (unsigned long )adap;
2908#line 128
2909  __cil_tmp32 = __cil_tmp31 + 8;
2910#line 128
2911  __cil_tmp33 = *((void (**)(void *data , int reg , int val ))__cil_tmp32);
2912#line 128
2913  __cil_tmp34 = *((void **)adap);
2914#line 128
2915  (*__cil_tmp33)(__cil_tmp34, 3, sta);
2916#line 130
2917  __cil_tmp35 = (unsigned long )adap;
2918#line 130
2919  __cil_tmp36 = __cil_tmp35 + 24;
2920#line 130
2921  __cil_tmp37 = *((int (**)(void *data ))__cil_tmp36);
2922#line 130
2923  __cil_tmp38 = *((void **)adap);
2924#line 130
2925  tmp___9 = (*__cil_tmp37)(__cil_tmp38);
2926  }
2927#line 130
2928  return (tmp___9);
2929}
2930}
2931#line 138 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
2932static int pca_tx_byte(struct i2c_algo_pca_data *adap , __u8 b ) 
2933{ int sta ;
2934  int tmp___7 ;
2935  int tmp___8 ;
2936  unsigned long __cil_tmp6 ;
2937  unsigned long __cil_tmp7 ;
2938  int (*__cil_tmp8)(void *data , int reg ) ;
2939  void *__cil_tmp9 ;
2940  int *__cil_tmp10 ;
2941  int __cil_tmp11 ;
2942  int __cil_tmp12 ;
2943  unsigned long __cil_tmp13 ;
2944  unsigned long __cil_tmp14 ;
2945  void (*__cil_tmp15)(void *data , int reg , int val ) ;
2946  void *__cil_tmp16 ;
2947  int __cil_tmp17 ;
2948  unsigned long __cil_tmp18 ;
2949  unsigned long __cil_tmp19 ;
2950  void (*__cil_tmp20)(void *data , int reg , int val ) ;
2951  void *__cil_tmp21 ;
2952  unsigned long __cil_tmp22 ;
2953  unsigned long __cil_tmp23 ;
2954  int (*__cil_tmp24)(void *data ) ;
2955  void *__cil_tmp25 ;
2956
2957  {
2958  {
2959#line 141
2960  __cil_tmp6 = (unsigned long )adap;
2961#line 141
2962  __cil_tmp7 = __cil_tmp6 + 16;
2963#line 141
2964  __cil_tmp8 = *((int (**)(void *data , int reg ))__cil_tmp7);
2965#line 141
2966  __cil_tmp9 = *((void **)adap);
2967#line 141
2968  tmp___7 = (*__cil_tmp8)(__cil_tmp9, 3);
2969#line 141
2970  sta = tmp___7;
2971  }
2972  {
2973#line 142
2974  while (1) {
2975    while_continue: /* CIL Label */ ;
2976    {
2977#line 142
2978    __cil_tmp10 = & i2c_debug;
2979#line 142
2980    __cil_tmp11 = *__cil_tmp10;
2981#line 142
2982    if (__cil_tmp11 >= 2) {
2983      {
2984#line 142
2985      __cil_tmp12 = (int )b;
2986#line 142
2987      printk("<7>=== WRITE %#04x\n", __cil_tmp12);
2988      }
2989    } else {
2990
2991    }
2992    }
2993#line 142
2994    goto while_break;
2995  }
2996  while_break: /* CIL Label */ ;
2997  }
2998  {
2999#line 143
3000  __cil_tmp13 = (unsigned long )adap;
3001#line 143
3002  __cil_tmp14 = __cil_tmp13 + 8;
3003#line 143
3004  __cil_tmp15 = *((void (**)(void *data , int reg , int val ))__cil_tmp14);
3005#line 143
3006  __cil_tmp16 = *((void **)adap);
3007#line 143
3008  __cil_tmp17 = (int )b;
3009#line 143
3010  (*__cil_tmp15)(__cil_tmp16, 1, __cil_tmp17);
3011#line 145
3012  sta = sta & -57;
3013#line 146
3014  __cil_tmp18 = (unsigned long )adap;
3015#line 146
3016  __cil_tmp19 = __cil_tmp18 + 8;
3017#line 146
3018  __cil_tmp20 = *((void (**)(void *data , int reg , int val ))__cil_tmp19);
3019#line 146
3020  __cil_tmp21 = *((void **)adap);
3021#line 146
3022  (*__cil_tmp20)(__cil_tmp21, 3, sta);
3023#line 148
3024  __cil_tmp22 = (unsigned long )adap;
3025#line 148
3026  __cil_tmp23 = __cil_tmp22 + 24;
3027#line 148
3028  __cil_tmp24 = *((int (**)(void *data ))__cil_tmp23);
3029#line 148
3030  __cil_tmp25 = *((void **)adap);
3031#line 148
3032  tmp___8 = (*__cil_tmp24)(__cil_tmp25);
3033  }
3034#line 148
3035  return (tmp___8);
3036}
3037}
3038#line 156 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
3039static void pca_rx_byte(struct i2c_algo_pca_data *adap , __u8 *b , int ack ) 
3040{ int tmp___7 ;
3041  char const   *tmp___8 ;
3042  unsigned long __cil_tmp6 ;
3043  unsigned long __cil_tmp7 ;
3044  int (*__cil_tmp8)(void *data , int reg ) ;
3045  void *__cil_tmp9 ;
3046  int *__cil_tmp10 ;
3047  int __cil_tmp11 ;
3048  __u8 __cil_tmp12 ;
3049  int __cil_tmp13 ;
3050
3051  {
3052  {
3053#line 159
3054  __cil_tmp6 = (unsigned long )adap;
3055#line 159
3056  __cil_tmp7 = __cil_tmp6 + 16;
3057#line 159
3058  __cil_tmp8 = *((int (**)(void *data , int reg ))__cil_tmp7);
3059#line 159
3060  __cil_tmp9 = *((void **)adap);
3061#line 159
3062  tmp___7 = (*__cil_tmp8)(__cil_tmp9, 1);
3063#line 159
3064  *b = (__u8 )tmp___7;
3065  }
3066  {
3067#line 160
3068  while (1) {
3069    while_continue: /* CIL Label */ ;
3070    {
3071#line 160
3072    __cil_tmp10 = & i2c_debug;
3073#line 160
3074    __cil_tmp11 = *__cil_tmp10;
3075#line 160
3076    if (__cil_tmp11 >= 2) {
3077#line 160
3078      if (ack) {
3079#line 160
3080        tmp___8 = "ACK";
3081      } else {
3082#line 160
3083        tmp___8 = "NACK";
3084      }
3085      {
3086#line 160
3087      __cil_tmp12 = *b;
3088#line 160
3089      __cil_tmp13 = (int )__cil_tmp12;
3090#line 160
3091      printk("<7>=== READ %#04x %s\n", __cil_tmp13, tmp___8);
3092      }
3093    } else {
3094
3095    }
3096    }
3097#line 160
3098    goto while_break;
3099  }
3100  while_break: /* CIL Label */ ;
3101  }
3102#line 161
3103  return;
3104}
3105}
3106#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
3107static int pca_rx_ack(struct i2c_algo_pca_data *adap , int ack ) 
3108{ int sta ;
3109  int tmp___7 ;
3110  int tmp___8 ;
3111  unsigned long __cil_tmp6 ;
3112  unsigned long __cil_tmp7 ;
3113  int (*__cil_tmp8)(void *data , int reg ) ;
3114  void *__cil_tmp9 ;
3115  unsigned long __cil_tmp10 ;
3116  unsigned long __cil_tmp11 ;
3117  void (*__cil_tmp12)(void *data , int reg , int val ) ;
3118  void *__cil_tmp13 ;
3119  unsigned long __cil_tmp14 ;
3120  unsigned long __cil_tmp15 ;
3121  int (*__cil_tmp16)(void *data ) ;
3122  void *__cil_tmp17 ;
3123
3124  {
3125  {
3126#line 171
3127  __cil_tmp6 = (unsigned long )adap;
3128#line 171
3129  __cil_tmp7 = __cil_tmp6 + 16;
3130#line 171
3131  __cil_tmp8 = *((int (**)(void *data , int reg ))__cil_tmp7);
3132#line 171
3133  __cil_tmp9 = *((void **)adap);
3134#line 171
3135  tmp___7 = (*__cil_tmp8)(__cil_tmp9, 3);
3136#line 171
3137  sta = tmp___7;
3138#line 173
3139  sta = sta & -185;
3140  }
3141#line 175
3142  if (ack) {
3143#line 176
3144    sta = sta | 128;
3145  } else {
3146
3147  }
3148  {
3149#line 178
3150  __cil_tmp10 = (unsigned long )adap;
3151#line 178
3152  __cil_tmp11 = __cil_tmp10 + 8;
3153#line 178
3154  __cil_tmp12 = *((void (**)(void *data , int reg , int val ))__cil_tmp11);
3155#line 178
3156  __cil_tmp13 = *((void **)adap);
3157#line 178
3158  (*__cil_tmp12)(__cil_tmp13, 3, sta);
3159#line 179
3160  __cil_tmp14 = (unsigned long )adap;
3161#line 179
3162  __cil_tmp15 = __cil_tmp14 + 24;
3163#line 179
3164  __cil_tmp16 = *((int (**)(void *data ))__cil_tmp15);
3165#line 179
3166  __cil_tmp17 = *((void **)adap);
3167#line 179
3168  tmp___8 = (*__cil_tmp16)(__cil_tmp17);
3169  }
3170#line 179
3171  return (tmp___8);
3172}
3173}
3174#line 199
3175static int pca_xfer(struct i2c_adapter *i2c_adap , struct i2c_msg *msgs , int num ) ;
3176#line 199 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
3177static struct _ddebug  __attribute__((__aligned__(8))) descriptor  __attribute__((__used__,
3178__section__("__verbose")))  =    {"i2c_algo_pca", "pca_xfer", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c",
3179    "bus is not idle. status is %#04x\n", 200U, 1U};
3180#line 182 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
3181static int pca_xfer(struct i2c_adapter *i2c_adap , struct i2c_msg *msgs , int num ) 
3182{ struct i2c_algo_pca_data *adap ;
3183  struct i2c_msg *msg ;
3184  int curmsg ;
3185  int numbytes ;
3186  int state ;
3187  int ret ;
3188  int completed ;
3189  unsigned long timeout ;
3190  long tmp___7 ;
3191  int addr ;
3192  int i ;
3193  char const   *tmp___8 ;
3194  char const   *tmp___9 ;
3195  int tmp___10 ;
3196  int tmp___11 ;
3197  unsigned long __cil_tmp23 ;
3198  unsigned long __cil_tmp24 ;
3199  void *__cil_tmp25 ;
3200  void *__cil_tmp26 ;
3201  unsigned long __cil_tmp27 ;
3202  unsigned long __cil_tmp28 ;
3203  int __cil_tmp29 ;
3204  unsigned long volatile   __cil_tmp30 ;
3205  unsigned long volatile   __cil_tmp31 ;
3206  unsigned long __cil_tmp32 ;
3207  unsigned long __cil_tmp33 ;
3208  int (*__cil_tmp34)(void *data , int reg ) ;
3209  void *__cil_tmp35 ;
3210  long __cil_tmp36 ;
3211  long __cil_tmp37 ;
3212  long __cil_tmp38 ;
3213  struct _ddebug  __attribute__((__aligned__(8))) *__cil_tmp39 ;
3214  unsigned int __cil_tmp40 ;
3215  unsigned int __cil_tmp41 ;
3216  int __cil_tmp42 ;
3217  int __cil_tmp43 ;
3218  long __cil_tmp44 ;
3219  unsigned long __cil_tmp45 ;
3220  unsigned long __cil_tmp46 ;
3221  struct device *__cil_tmp47 ;
3222  struct device  const  *__cil_tmp48 ;
3223  int *__cil_tmp49 ;
3224  int __cil_tmp50 ;
3225  int *__cil_tmp51 ;
3226  int __cil_tmp52 ;
3227  __u16 __cil_tmp53 ;
3228  int __cil_tmp54 ;
3229  unsigned long __cil_tmp55 ;
3230  unsigned long __cil_tmp56 ;
3231  __u16 __cil_tmp57 ;
3232  int __cil_tmp58 ;
3233  unsigned long __cil_tmp59 ;
3234  unsigned long __cil_tmp60 ;
3235  __u16 __cil_tmp61 ;
3236  int __cil_tmp62 ;
3237  int __cil_tmp63 ;
3238  int __cil_tmp64 ;
3239  unsigned long __cil_tmp65 ;
3240  unsigned long __cil_tmp66 ;
3241  __u16 __cil_tmp67 ;
3242  int __cil_tmp68 ;
3243  unsigned long __cil_tmp69 ;
3244  unsigned long __cil_tmp70 ;
3245  __u16 __cil_tmp71 ;
3246  int __cil_tmp72 ;
3247  int __cil_tmp73 ;
3248  unsigned long __cil_tmp74 ;
3249  unsigned long __cil_tmp75 ;
3250  __u16 __cil_tmp76 ;
3251  int __cil_tmp77 ;
3252  unsigned long __cil_tmp78 ;
3253  unsigned long __cil_tmp79 ;
3254  __u16 __cil_tmp80 ;
3255  int __cil_tmp81 ;
3256  int __cil_tmp82 ;
3257  unsigned long __cil_tmp83 ;
3258  unsigned long __cil_tmp84 ;
3259  __u8 *__cil_tmp85 ;
3260  __u8 *__cil_tmp86 ;
3261  __u8 __cil_tmp87 ;
3262  int __cil_tmp88 ;
3263  unsigned long __cil_tmp89 ;
3264  unsigned long __cil_tmp90 ;
3265  int (*__cil_tmp91)(void *data , int reg ) ;
3266  void *__cil_tmp92 ;
3267  int *__cil_tmp93 ;
3268  int __cil_tmp94 ;
3269  unsigned long __cil_tmp95 ;
3270  unsigned long __cil_tmp96 ;
3271  __u16 __cil_tmp97 ;
3272  int __cil_tmp98 ;
3273  unsigned long __cil_tmp99 ;
3274  unsigned long __cil_tmp100 ;
3275  __u8 *__cil_tmp101 ;
3276  __u8 *__cil_tmp102 ;
3277  __u8 __cil_tmp103 ;
3278  int *__cil_tmp104 ;
3279  int __cil_tmp105 ;
3280  unsigned long __cil_tmp106 ;
3281  unsigned long __cil_tmp107 ;
3282  __u16 __cil_tmp108 ;
3283  int __cil_tmp109 ;
3284  int __cil_tmp110 ;
3285  unsigned long __cil_tmp111 ;
3286  unsigned long __cil_tmp112 ;
3287  __u16 __cil_tmp113 ;
3288  int __cil_tmp114 ;
3289  unsigned long __cil_tmp115 ;
3290  unsigned long __cil_tmp116 ;
3291  __u8 *__cil_tmp117 ;
3292  __u8 *__cil_tmp118 ;
3293  unsigned long __cil_tmp119 ;
3294  unsigned long __cil_tmp120 ;
3295  __u16 __cil_tmp121 ;
3296  int __cil_tmp122 ;
3297  int __cil_tmp123 ;
3298  int __cil_tmp124 ;
3299  int *__cil_tmp125 ;
3300  int __cil_tmp126 ;
3301  int *__cil_tmp127 ;
3302  int __cil_tmp128 ;
3303  int *__cil_tmp129 ;
3304  int __cil_tmp130 ;
3305  unsigned long __cil_tmp131 ;
3306  unsigned long __cil_tmp132 ;
3307  __u16 __cil_tmp133 ;
3308  int __cil_tmp134 ;
3309  int __cil_tmp135 ;
3310  unsigned long __cil_tmp136 ;
3311  unsigned long __cil_tmp137 ;
3312  __u8 *__cil_tmp138 ;
3313  __u8 *__cil_tmp139 ;
3314  int *__cil_tmp140 ;
3315  int __cil_tmp141 ;
3316  unsigned long __cil_tmp142 ;
3317  unsigned long __cil_tmp143 ;
3318  __u16 __cil_tmp144 ;
3319  int __cil_tmp145 ;
3320  int *__cil_tmp146 ;
3321  int __cil_tmp147 ;
3322  unsigned long __cil_tmp148 ;
3323  unsigned long __cil_tmp149 ;
3324  void (*__cil_tmp150)(void *data ) ;
3325  void *__cil_tmp151 ;
3326  int *__cil_tmp152 ;
3327  int __cil_tmp153 ;
3328  unsigned long __cil_tmp154 ;
3329  unsigned long __cil_tmp155 ;
3330  void (*__cil_tmp156)(void *data ) ;
3331  void *__cil_tmp157 ;
3332  int *__cil_tmp158 ;
3333  int __cil_tmp159 ;
3334  unsigned long __cil_tmp160 ;
3335  unsigned long __cil_tmp161 ;
3336  void (*__cil_tmp162)(void *data ) ;
3337  void *__cil_tmp163 ;
3338  unsigned long __cil_tmp164 ;
3339  unsigned long __cil_tmp165 ;
3340  struct device *__cil_tmp166 ;
3341  struct device  const  *__cil_tmp167 ;
3342  int *__cil_tmp168 ;
3343  int __cil_tmp169 ;
3344  unsigned long __cil_tmp170 ;
3345  unsigned long __cil_tmp171 ;
3346  int (*__cil_tmp172)(void *data , int reg ) ;
3347  void *__cil_tmp173 ;
3348  unsigned long __cil_tmp174 ;
3349  unsigned long __cil_tmp175 ;
3350  int (*__cil_tmp176)(void *data , int reg ) ;
3351  void *__cil_tmp177 ;
3352
3353  {
3354#line 186
3355  __cil_tmp23 = (unsigned long )i2c_adap;
3356#line 186
3357  __cil_tmp24 = __cil_tmp23 + 24;
3358#line 186
3359  __cil_tmp25 = *((void **)__cil_tmp24);
3360#line 186
3361  adap = (struct i2c_algo_pca_data *)__cil_tmp25;
3362#line 187
3363  __cil_tmp26 = (void *)0;
3364#line 187
3365  msg = (struct i2c_msg *)__cil_tmp26;
3366#line 189
3367  numbytes = 0;
3368#line 192
3369  completed = 1;
3370#line 193
3371  __cil_tmp27 = (unsigned long )i2c_adap;
3372#line 193
3373  __cil_tmp28 = __cil_tmp27 + 120;
3374#line 193
3375  __cil_tmp29 = *((int *)__cil_tmp28);
3376#line 193
3377  __cil_tmp30 = (unsigned long volatile   )__cil_tmp29;
3378#line 193
3379  __cil_tmp31 = jiffies + __cil_tmp30;
3380#line 193
3381  timeout = (unsigned long )__cil_tmp31;
3382  {
3383#line 195
3384  while (1) {
3385    while_continue: /* CIL Label */ ;
3386    {
3387#line 195
3388    __cil_tmp32 = (unsigned long )adap;
3389#line 195
3390    __cil_tmp33 = __cil_tmp32 + 16;
3391#line 195
3392    __cil_tmp34 = *((int (**)(void *data , int reg ))__cil_tmp33);
3393#line 195
3394    __cil_tmp35 = *((void **)adap);
3395#line 195
3396    state = (*__cil_tmp34)(__cil_tmp35, 0);
3397    }
3398#line 195
3399    if (state != 248) {
3400
3401    } else {
3402#line 195
3403      goto while_break;
3404    }
3405    {
3406#line 196
3407    __cil_tmp36 = (long )timeout;
3408#line 196
3409    __cil_tmp37 = (long )jiffies;
3410#line 196
3411    __cil_tmp38 = __cil_tmp37 - __cil_tmp36;
3412#line 196
3413    if (__cil_tmp38 < 0L) {
3414      {
3415#line 197
3416      msleep(10U);
3417      }
3418    } else {
3419      {
3420#line 199
3421      while (1) {
3422        while_continue___0: /* CIL Label */ ;
3423        {
3424#line 199
3425        while (1) {
3426          while_continue___1: /* CIL Label */ ;
3427          {
3428#line 199
3429          __cil_tmp39 = & descriptor;
3430#line 199
3431          __cil_tmp40 = __cil_tmp39->flags;
3432#line 199
3433          __cil_tmp41 = __cil_tmp40 & 1U;
3434#line 199
3435          __cil_tmp42 = ! __cil_tmp41;
3436#line 199
3437          __cil_tmp43 = ! __cil_tmp42;
3438#line 199
3439          __cil_tmp44 = (long )__cil_tmp43;
3440#line 199
3441          tmp___7 = __builtin_expect(__cil_tmp44, 0L);
3442          }
3443#line 199
3444          if (tmp___7) {
3445            {
3446#line 199
3447            __cil_tmp45 = (unsigned long )i2c_adap;
3448#line 199
3449            __cil_tmp46 = __cil_tmp45 + 128;
3450#line 199
3451            __cil_tmp47 = (struct device *)__cil_tmp46;
3452#line 199
3453            __cil_tmp48 = (struct device  const  *)__cil_tmp47;
3454#line 199
3455            __dynamic_dev_dbg(& descriptor, __cil_tmp48, "bus is not idle. status is %#04x\n",
3456                              state);
3457            }
3458          } else {
3459
3460          }
3461#line 199
3462          goto while_break___1;
3463        }
3464        while_break___1: /* CIL Label */ ;
3465        }
3466#line 199
3467        goto while_break___0;
3468      }
3469      while_break___0: /* CIL Label */ ;
3470      }
3471#line 201
3472      return (-16);
3473    }
3474    }
3475  }
3476  while_break: /* CIL Label */ ;
3477  }
3478  {
3479#line 205
3480  while (1) {
3481    while_continue___2: /* CIL Label */ ;
3482    {
3483#line 205
3484    __cil_tmp49 = & i2c_debug;
3485#line 205
3486    __cil_tmp50 = *__cil_tmp49;
3487#line 205
3488    if (__cil_tmp50 >= 1) {
3489      {
3490#line 205
3491      printk("<7>{{{ XFER %d messages\n", num);
3492      }
3493    } else {
3494
3495    }
3496    }
3497#line 205
3498    goto while_break___2;
3499  }
3500  while_break___2: /* CIL Label */ ;
3501  }
3502  {
3503#line 207
3504  __cil_tmp51 = & i2c_debug;
3505#line 207
3506  __cil_tmp52 = *__cil_tmp51;
3507#line 207
3508  if (__cil_tmp52 >= 2) {
3509#line 208
3510    curmsg = 0;
3511    {
3512#line 208
3513    while (1) {
3514      while_continue___3: /* CIL Label */ ;
3515#line 208
3516      if (curmsg < num) {
3517
3518      } else {
3519#line 208
3520        goto while_break___3;
3521      }
3522#line 210
3523      msg = msgs + curmsg;
3524#line 212
3525      __cil_tmp53 = *((__u16 *)msg);
3526#line 212
3527      __cil_tmp54 = (int )__cil_tmp53;
3528#line 212
3529      addr = 127 & __cil_tmp54;
3530      {
3531#line 214
3532      __cil_tmp55 = (unsigned long )msg;
3533#line 214
3534      __cil_tmp56 = __cil_tmp55 + 2;
3535#line 214
3536      __cil_tmp57 = *((__u16 *)__cil_tmp56);
3537#line 214
3538      __cil_tmp58 = (int )__cil_tmp57;
3539#line 214
3540      if (__cil_tmp58 & 1) {
3541        {
3542#line 215
3543        __cil_tmp59 = (unsigned long )msg;
3544#line 215
3545        __cil_tmp60 = __cil_tmp59 + 4;
3546#line 215
3547        __cil_tmp61 = *((__u16 *)__cil_tmp60);
3548#line 215
3549        __cil_tmp62 = (int )__cil_tmp61;
3550#line 215
3551        __cil_tmp63 = addr << 1;
3552#line 215
3553        __cil_tmp64 = __cil_tmp63 | 1;
3554#line 215
3555        printk("<6>    [%02d] RD %d bytes from %#02x [%#02x, ...]\n", curmsg, __cil_tmp62,
3556               addr, __cil_tmp64);
3557        }
3558      } else {
3559        {
3560#line 218
3561        __cil_tmp65 = (unsigned long )msg;
3562#line 218
3563        __cil_tmp66 = __cil_tmp65 + 4;
3564#line 218
3565        __cil_tmp67 = *((__u16 *)__cil_tmp66);
3566#line 218
3567        __cil_tmp68 = (int )__cil_tmp67;
3568#line 218
3569        if (__cil_tmp68 == 0) {
3570#line 218
3571          tmp___8 = "";
3572        } else {
3573#line 218
3574          tmp___8 = ", ";
3575        }
3576        }
3577        {
3578#line 218
3579        __cil_tmp69 = (unsigned long )msg;
3580#line 218
3581        __cil_tmp70 = __cil_tmp69 + 4;
3582#line 218
3583        __cil_tmp71 = *((__u16 *)__cil_tmp70);
3584#line 218
3585        __cil_tmp72 = (int )__cil_tmp71;
3586#line 218
3587        __cil_tmp73 = addr << 1;
3588#line 218
3589        printk("<6>    [%02d] WR %d bytes to %#02x [%#02x%s", curmsg, __cil_tmp72,
3590               addr, __cil_tmp73, tmp___8);
3591#line 221
3592        i = 0;
3593        }
3594        {
3595#line 221
3596        while (1) {
3597          while_continue___4: /* CIL Label */ ;
3598          {
3599#line 221
3600          __cil_tmp74 = (unsigned long )msg;
3601#line 221
3602          __cil_tmp75 = __cil_tmp74 + 4;
3603#line 221
3604          __cil_tmp76 = *((__u16 *)__cil_tmp75);
3605#line 221
3606          __cil_tmp77 = (int )__cil_tmp76;
3607#line 221
3608          if (i < __cil_tmp77) {
3609
3610          } else {
3611#line 221
3612            goto while_break___4;
3613          }
3614          }
3615          {
3616#line 222
3617          __cil_tmp78 = (unsigned long )msg;
3618#line 222
3619          __cil_tmp79 = __cil_tmp78 + 4;
3620#line 222
3621          __cil_tmp80 = *((__u16 *)__cil_tmp79);
3622#line 222
3623          __cil_tmp81 = (int )__cil_tmp80;
3624#line 222
3625          __cil_tmp82 = __cil_tmp81 - 1;
3626#line 222
3627          if (i == __cil_tmp82) {
3628#line 222
3629            tmp___9 = "";
3630          } else {
3631#line 222
3632            tmp___9 = ", ";
3633          }
3634          }
3635          {
3636#line 222
3637          __cil_tmp83 = (unsigned long )msg;
3638#line 222
3639          __cil_tmp84 = __cil_tmp83 + 8;
3640#line 222
3641          __cil_tmp85 = *((__u8 **)__cil_tmp84);
3642#line 222
3643          __cil_tmp86 = __cil_tmp85 + i;
3644#line 222
3645          __cil_tmp87 = *__cil_tmp86;
3646#line 222
3647          __cil_tmp88 = (int )__cil_tmp87;
3648#line 222
3649          printk("%#04x%s", __cil_tmp88, tmp___9);
3650#line 221
3651          i = i + 1;
3652          }
3653        }
3654        while_break___4: /* CIL Label */ ;
3655        }
3656        {
3657#line 223
3658        printk("]\n");
3659        }
3660      }
3661      }
3662#line 208
3663      curmsg = curmsg + 1;
3664    }
3665    while_break___3: /* CIL Label */ ;
3666    }
3667  } else {
3668
3669  }
3670  }
3671#line 228
3672  curmsg = 0;
3673#line 229
3674  ret = -5;
3675  {
3676#line 230
3677  while (1) {
3678    while_continue___5: /* CIL Label */ ;
3679#line 230
3680    if (curmsg < num) {
3681
3682    } else {
3683#line 230
3684      goto while_break___5;
3685    }
3686    {
3687#line 231
3688    __cil_tmp89 = (unsigned long )adap;
3689#line 231
3690    __cil_tmp90 = __cil_tmp89 + 16;
3691#line 231
3692    __cil_tmp91 = *((int (**)(void *data , int reg ))__cil_tmp90);
3693#line 231
3694    __cil_tmp92 = *((void **)adap);
3695#line 231
3696    state = (*__cil_tmp91)(__cil_tmp92, 0);
3697    }
3698    {
3699#line 233
3700    while (1) {
3701      while_continue___6: /* CIL Label */ ;
3702      {
3703#line 233
3704      __cil_tmp93 = & i2c_debug;
3705#line 233
3706      __cil_tmp94 = *__cil_tmp93;
3707#line 233
3708      if (__cil_tmp94 >= 3) {
3709        {
3710#line 233
3711        printk("<7>STATE is 0x%02x\n", state);
3712        }
3713      } else {
3714
3715      }
3716      }
3717#line 233
3718      goto while_break___6;
3719    }
3720    while_break___6: /* CIL Label */ ;
3721    }
3722#line 234
3723    msg = msgs + curmsg;
3724#line 237
3725    if (state == 248) {
3726#line 237
3727      goto case_248;
3728    } else
3729#line 241
3730    if (state == 8) {
3731#line 241
3732      goto case_8;
3733    } else
3734#line 242
3735    if (state == 16) {
3736#line 242
3737      goto case_8;
3738    } else
3739#line 246
3740    if (state == 24) {
3741#line 246
3742      goto case_24;
3743    } else
3744#line 247
3745    if (state == 40) {
3746#line 247
3747      goto case_24;
3748    } else
3749#line 261
3750    if (state == 32) {
3751#line 261
3752      goto case_32;
3753    } else
3754#line 267
3755    if (state == 64) {
3756#line 267
3757      goto case_64;
3758    } else
3759#line 271
3760    if (state == 80) {
3761#line 271
3762      goto case_80;
3763    } else
3764#line 286
3765    if (state == 72) {
3766#line 286
3767      goto case_72;
3768    } else
3769#line 292
3770    if (state == 48) {
3771#line 292
3772      goto case_48;
3773    } else
3774#line 297
3775    if (state == 56) {
3776#line 297
3777      goto case_56;
3778    } else
3779#line 311
3780    if (state == 88) {
3781#line 311
3782      goto case_88;
3783    } else
3784#line 327
3785    if (state == 112) {
3786#line 327
3787      goto case_112;
3788    } else
3789#line 331
3790    if (state == 144) {
3791#line 331
3792      goto case_144;
3793    } else
3794#line 335
3795    if (state == 0) {
3796#line 335
3797      goto case_0;
3798    } else {
3799      {
3800#line 339
3801      goto switch_default;
3802#line 236
3803      if (0) {
3804        case_248: /* CIL Label */ 
3805        {
3806#line 238
3807        completed = pca_start(adap);
3808        }
3809#line 239
3810        goto switch_break;
3811        case_8: /* CIL Label */ 
3812        case_16: /* CIL Label */ 
3813        {
3814#line 243
3815        completed = pca_address(adap, msg);
3816        }
3817#line 244
3818        goto switch_break;
3819        case_24: /* CIL Label */ 
3820        case_40: /* CIL Label */ 
3821        {
3822#line 248
3823        __cil_tmp95 = (unsigned long )msg;
3824#line 248
3825        __cil_tmp96 = __cil_tmp95 + 4;
3826#line 248
3827        __cil_tmp97 = *((__u16 *)__cil_tmp96);
3828#line 248
3829        __cil_tmp98 = (int )__cil_tmp97;
3830#line 248
3831        if (numbytes < __cil_tmp98) {
3832          {
3833#line 249
3834          __cil_tmp99 = (unsigned long )msg;
3835#line 249
3836          __cil_tmp100 = __cil_tmp99 + 8;
3837#line 249
3838          __cil_tmp101 = *((__u8 **)__cil_tmp100);
3839#line 249
3840          __cil_tmp102 = __cil_tmp101 + numbytes;
3841#line 249
3842          __cil_tmp103 = *__cil_tmp102;
3843#line 249
3844          completed = pca_tx_byte(adap, __cil_tmp103);
3845#line 251
3846          numbytes = numbytes + 1;
3847          }
3848#line 252
3849          goto switch_break;
3850        } else {
3851
3852        }
3853        }
3854#line 254
3855        curmsg = curmsg + 1;
3856#line 254
3857        numbytes = 0;
3858#line 255
3859        if (curmsg == num) {
3860          {
3861#line 256
3862          pca_stop(adap);
3863          }
3864        } else {
3865          {
3866#line 258
3867          completed = pca_repeated_start(adap);
3868          }
3869        }
3870#line 259
3871        goto switch_break;
3872        case_32: /* CIL Label */ 
3873        {
3874#line 262
3875        while (1) {
3876          while_continue___7: /* CIL Label */ ;
3877          {
3878#line 262
3879          __cil_tmp104 = & i2c_debug;
3880#line 262
3881          __cil_tmp105 = *__cil_tmp104;
3882#line 262
3883          if (__cil_tmp105 >= 2) {
3884            {
3885#line 262
3886            printk("<7>NOT ACK received after SLA+W\n");
3887            }
3888          } else {
3889
3890          }
3891          }
3892#line 262
3893          goto while_break___7;
3894        }
3895        while_break___7: /* CIL Label */ ;
3896        }
3897        {
3898#line 263
3899        pca_stop(adap);
3900#line 264
3901        ret = -6;
3902        }
3903#line 265
3904        goto out;
3905        case_64: /* CIL Label */ 
3906        {
3907#line 268
3908        __cil_tmp106 = (unsigned long )msg;
3909#line 268
3910        __cil_tmp107 = __cil_tmp106 + 4;
3911#line 268
3912        __cil_tmp108 = *((__u16 *)__cil_tmp107);
3913#line 268
3914        __cil_tmp109 = (int )__cil_tmp108;
3915#line 268
3916        __cil_tmp110 = __cil_tmp109 > 1;
3917#line 268
3918        completed = pca_rx_ack(adap, __cil_tmp110);
3919        }
3920#line 269
3921        goto switch_break;
3922        case_80: /* CIL Label */ 
3923        {
3924#line 272
3925        __cil_tmp111 = (unsigned long )msg;
3926#line 272
3927        __cil_tmp112 = __cil_tmp111 + 4;
3928#line 272
3929        __cil_tmp113 = *((__u16 *)__cil_tmp112);
3930#line 272
3931        __cil_tmp114 = (int )__cil_tmp113;
3932#line 272
3933        if (numbytes < __cil_tmp114) {
3934          {
3935#line 273
3936          __cil_tmp115 = (unsigned long )msg;
3937#line 273
3938          __cil_tmp116 = __cil_tmp115 + 8;
3939#line 273
3940          __cil_tmp117 = *((__u8 **)__cil_tmp116);
3941#line 273
3942          __cil_tmp118 = __cil_tmp117 + numbytes;
3943#line 273
3944          pca_rx_byte(adap, __cil_tmp118, 1);
3945#line 274
3946          numbytes = numbytes + 1;
3947#line 275
3948          __cil_tmp119 = (unsigned long )msg;
3949#line 275
3950          __cil_tmp120 = __cil_tmp119 + 4;
3951#line 275
3952          __cil_tmp121 = *((__u16 *)__cil_tmp120);
3953#line 275
3954          __cil_tmp122 = (int )__cil_tmp121;
3955#line 275
3956          __cil_tmp123 = __cil_tmp122 - 1;
3957#line 275
3958          __cil_tmp124 = numbytes < __cil_tmp123;
3959#line 275
3960          completed = pca_rx_ack(adap, __cil_tmp124);
3961          }
3962#line 277
3963          goto switch_break;
3964        } else {
3965
3966        }
3967        }
3968#line 279
3969        curmsg = curmsg + 1;
3970#line 279
3971        numbytes = 0;
3972#line 280
3973        if (curmsg == num) {
3974          {
3975#line 281
3976          pca_stop(adap);
3977          }
3978        } else {
3979          {
3980#line 283
3981          completed = pca_repeated_start(adap);
3982          }
3983        }
3984#line 284
3985        goto switch_break;
3986        case_72: /* CIL Label */ 
3987        {
3988#line 287
3989        while (1) {
3990          while_continue___8: /* CIL Label */ ;
3991          {
3992#line 287
3993          __cil_tmp125 = & i2c_debug;
3994#line 287
3995          __cil_tmp126 = *__cil_tmp125;
3996#line 287
3997          if (__cil_tmp126 >= 2) {
3998            {
3999#line 287
4000            printk("<7>NOT ACK received after SLA+R\n");
4001            }
4002          } else {
4003
4004          }
4005          }
4006#line 287
4007          goto while_break___8;
4008        }
4009        while_break___8: /* CIL Label */ ;
4010        }
4011        {
4012#line 288
4013        pca_stop(adap);
4014#line 289
4015        ret = -6;
4016        }
4017#line 290
4018        goto out;
4019        case_48: /* CIL Label */ 
4020        {
4021#line 293
4022        while (1) {
4023          while_continue___9: /* CIL Label */ ;
4024          {
4025#line 293
4026          __cil_tmp127 = & i2c_debug;
4027#line 293
4028          __cil_tmp128 = *__cil_tmp127;
4029#line 293
4030          if (__cil_tmp128 >= 2) {
4031            {
4032#line 293
4033            printk("<7>NOT ACK received after data byte\n");
4034            }
4035          } else {
4036
4037          }
4038          }
4039#line 293
4040          goto while_break___9;
4041        }
4042        while_break___9: /* CIL Label */ ;
4043        }
4044        {
4045#line 294
4046        pca_stop(adap);
4047        }
4048#line 295
4049        goto out;
4050        case_56: /* CIL Label */ 
4051        {
4052#line 298
4053        while (1) {
4054          while_continue___10: /* CIL Label */ ;
4055          {
4056#line 298
4057          __cil_tmp129 = & i2c_debug;
4058#line 298
4059          __cil_tmp130 = *__cil_tmp129;
4060#line 298
4061          if (__cil_tmp130 >= 2) {
4062            {
4063#line 298
4064            printk("<7>Arbitration lost\n");
4065            }
4066          } else {
4067
4068          }
4069          }
4070#line 298
4071          goto while_break___10;
4072        }
4073        while_break___10: /* CIL Label */ ;
4074        }
4075        {
4076#line 308
4077        pca_start(adap);
4078        }
4079#line 309
4080        goto out;
4081        case_88: /* CIL Label */ 
4082        {
4083#line 312
4084        __cil_tmp131 = (unsigned long )msg;
4085#line 312
4086        __cil_tmp132 = __cil_tmp131 + 4;
4087#line 312
4088        __cil_tmp133 = *((__u16 *)__cil_tmp132);
4089#line 312
4090        __cil_tmp134 = (int )__cil_tmp133;
4091#line 312
4092        __cil_tmp135 = __cil_tmp134 - 1;
4093#line 312
4094        if (numbytes == __cil_tmp135) {
4095          {
4096#line 313
4097          __cil_tmp136 = (unsigned long )msg;
4098#line 313
4099          __cil_tmp137 = __cil_tmp136 + 8;
4100#line 313
4101          __cil_tmp138 = *((__u8 **)__cil_tmp137);
4102#line 313
4103          __cil_tmp139 = __cil_tmp138 + numbytes;
4104#line 313
4105          pca_rx_byte(adap, __cil_tmp139, 0);
4106#line 314
4107          curmsg = curmsg + 1;
4108#line 314
4109          numbytes = 0;
4110          }
4111#line 315
4112          if (curmsg == num) {
4113            {
4114#line 316
4115            pca_stop(adap);
4116            }
4117          } else {
4118            {
4119#line 318
4120            completed = pca_repeated_start(adap);
4121            }
4122          }
4123        } else {
4124          {
4125#line 320
4126          while (1) {
4127            while_continue___11: /* CIL Label */ ;
4128            {
4129#line 320
4130            __cil_tmp140 = & i2c_debug;
4131#line 320
4132            __cil_tmp141 = *__cil_tmp140;
4133#line 320
4134            if (__cil_tmp141 >= 2) {
4135              {
4136#line 320
4137              __cil_tmp142 = (unsigned long )msg;
4138#line 320
4139              __cil_tmp143 = __cil_tmp142 + 4;
4140#line 320
4141              __cil_tmp144 = *((__u16 *)__cil_tmp143);
4142#line 320
4143              __cil_tmp145 = (int )__cil_tmp144;
4144#line 320
4145              printk("<7>NOT ACK sent after data byte received. Not final byte. numbytes %d. len %d\n",
4146                     numbytes, __cil_tmp145);
4147              }
4148            } else {
4149
4150            }
4151            }
4152#line 320
4153            goto while_break___11;
4154          }
4155          while_break___11: /* CIL Label */ ;
4156          }
4157          {
4158#line 323
4159          pca_stop(adap);
4160          }
4161#line 324
4162          goto out;
4163        }
4164        }
4165#line 326
4166        goto switch_break;
4167        case_112: /* CIL Label */ 
4168        {
4169#line 328
4170        while (1) {
4171          while_continue___12: /* CIL Label */ ;
4172          {
4173#line 328
4174          __cil_tmp146 = & i2c_debug;
4175#line 328
4176          __cil_tmp147 = *__cil_tmp146;
4177#line 328
4178          if (__cil_tmp147 >= 2) {
4179            {
4180#line 328
4181            printk("<7>BUS ERROR - SDA Stuck low\n");
4182            }
4183          } else {
4184
4185          }
4186          }
4187#line 328
4188          goto while_break___12;
4189        }
4190        while_break___12: /* CIL Label */ ;
4191        }
4192        {
4193#line 329
4194        __cil_tmp148 = (unsigned long )adap;
4195#line 329
4196        __cil_tmp149 = __cil_tmp148 + 32;
4197#line 329
4198        __cil_tmp150 = *((void (**)(void *data ))__cil_tmp149);
4199#line 329
4200        __cil_tmp151 = *((void **)adap);
4201#line 329
4202        (*__cil_tmp150)(__cil_tmp151);
4203        }
4204#line 330
4205        goto out;
4206        case_144: /* CIL Label */ 
4207        {
4208#line 332
4209        while (1) {
4210          while_continue___13: /* CIL Label */ ;
4211          {
4212#line 332
4213          __cil_tmp152 = & i2c_debug;
4214#line 332
4215          __cil_tmp153 = *__cil_tmp152;
4216#line 332
4217          if (__cil_tmp153 >= 2) {
4218            {
4219#line 332
4220            printk("<7>BUS ERROR - SCL Stuck low\n");
4221            }
4222          } else {
4223
4224          }
4225          }
4226#line 332
4227          goto while_break___13;
4228        }
4229        while_break___13: /* CIL Label */ ;
4230        }
4231        {
4232#line 333
4233        __cil_tmp154 = (unsigned long )adap;
4234#line 333
4235        __cil_tmp155 = __cil_tmp154 + 32;
4236#line 333
4237        __cil_tmp156 = *((void (**)(void *data ))__cil_tmp155);
4238#line 333
4239        __cil_tmp157 = *((void **)adap);
4240#line 333
4241        (*__cil_tmp156)(__cil_tmp157);
4242        }
4243#line 334
4244        goto out;
4245        case_0: /* CIL Label */ 
4246        {
4247#line 336
4248        while (1) {
4249          while_continue___14: /* CIL Label */ ;
4250          {
4251#line 336
4252          __cil_tmp158 = & i2c_debug;
4253#line 336
4254          __cil_tmp159 = *__cil_tmp158;
4255#line 336
4256          if (__cil_tmp159 >= 2) {
4257            {
4258#line 336
4259            printk("<7>BUS ERROR - Illegal START or STOP\n");
4260            }
4261          } else {
4262
4263          }
4264          }
4265#line 336
4266          goto while_break___14;
4267        }
4268        while_break___14: /* CIL Label */ ;
4269        }
4270        {
4271#line 337
4272        __cil_tmp160 = (unsigned long )adap;
4273#line 337
4274        __cil_tmp161 = __cil_tmp160 + 32;
4275#line 337
4276        __cil_tmp162 = *((void (**)(void *data ))__cil_tmp161);
4277#line 337
4278        __cil_tmp163 = *((void **)adap);
4279#line 337
4280        (*__cil_tmp162)(__cil_tmp163);
4281        }
4282#line 338
4283        goto out;
4284        switch_default: /* CIL Label */ 
4285        {
4286#line 340
4287        __cil_tmp164 = (unsigned long )i2c_adap;
4288#line 340
4289        __cil_tmp165 = __cil_tmp164 + 128;
4290#line 340
4291        __cil_tmp166 = (struct device *)__cil_tmp165;
4292#line 340
4293        __cil_tmp167 = (struct device  const  *)__cil_tmp166;
4294#line 340
4295        dev_err(__cil_tmp167, "unhandled SIO state 0x%02x\n", state);
4296        }
4297#line 341
4298        goto switch_break;
4299      } else {
4300        switch_break: /* CIL Label */ ;
4301      }
4302      }
4303    }
4304#line 344
4305    if (! completed) {
4306#line 345
4307      goto out;
4308    } else {
4309
4310    }
4311  }
4312  while_break___5: /* CIL Label */ ;
4313  }
4314#line 348
4315  ret = curmsg;
4316  out: 
4317  {
4318#line 350
4319  while (1) {
4320    while_continue___15: /* CIL Label */ ;
4321    {
4322#line 350
4323    __cil_tmp168 = & i2c_debug;
4324#line 350
4325    __cil_tmp169 = *__cil_tmp168;
4326#line 350
4327    if (__cil_tmp169 >= 1) {
4328      {
4329#line 350
4330      __cil_tmp170 = (unsigned long )adap;
4331#line 350
4332      __cil_tmp171 = __cil_tmp170 + 16;
4333#line 350
4334      __cil_tmp172 = *((int (**)(void *data , int reg ))__cil_tmp171);
4335#line 350
4336      __cil_tmp173 = *((void **)adap);
4337#line 350
4338      tmp___10 = (*__cil_tmp172)(__cil_tmp173, 3);
4339#line 350
4340      __cil_tmp174 = (unsigned long )adap;
4341#line 350
4342      __cil_tmp175 = __cil_tmp174 + 16;
4343#line 350
4344      __cil_tmp176 = *((int (**)(void *data , int reg ))__cil_tmp175);
4345#line 350
4346      __cil_tmp177 = *((void **)adap);
4347#line 350
4348      tmp___11 = (*__cil_tmp176)(__cil_tmp177, 0);
4349#line 350
4350      printk("<7>}}} transferred %d/%d messages. status is %#04x. control is %#04x\n",
4351             curmsg, num, tmp___11, tmp___10);
4352      }
4353    } else {
4354
4355    }
4356    }
4357#line 350
4358    goto while_break___15;
4359  }
4360  while_break___15: /* CIL Label */ ;
4361  }
4362#line 354
4363  return (ret);
4364}
4365}
4366#line 357 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
4367static u32 pca_func(struct i2c_adapter *adap ) 
4368{ 
4369
4370  {
4371#line 359
4372  return ((u32 )251592713);
4373}
4374}
4375#line 362 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
4376static struct i2c_algorithm  const  pca_algo  =    {& pca_xfer, (int (*)(struct i2c_adapter *adap , u16 addr , unsigned short flags ,
4377                         char read_write , u8 command , int size , union i2c_smbus_data *data ))0,
4378    & pca_func};
4379#line 367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
4380static unsigned int pca_probe_chip(struct i2c_adapter *adap ) 
4381{ struct i2c_algo_pca_data *pca_data ;
4382  int tmp___7 ;
4383  unsigned long __cil_tmp4 ;
4384  unsigned long __cil_tmp5 ;
4385  void *__cil_tmp6 ;
4386  unsigned long __cil_tmp7 ;
4387  unsigned long __cil_tmp8 ;
4388  void (*__cil_tmp9)(void *data , int reg , int val ) ;
4389  void *__cil_tmp10 ;
4390  unsigned long __cil_tmp11 ;
4391  unsigned long __cil_tmp12 ;
4392  void (*__cil_tmp13)(void *data , int reg , int val ) ;
4393  void *__cil_tmp14 ;
4394  unsigned long __cil_tmp15 ;
4395  unsigned long __cil_tmp16 ;
4396  void (*__cil_tmp17)(void *data , int reg , int val ) ;
4397  void *__cil_tmp18 ;
4398  unsigned long __cil_tmp19 ;
4399  unsigned long __cil_tmp20 ;
4400  void (*__cil_tmp21)(void *data , int reg , int val ) ;
4401  void *__cil_tmp22 ;
4402  unsigned long __cil_tmp23 ;
4403  unsigned long __cil_tmp24 ;
4404  void (*__cil_tmp25)(void *data , int reg , int val ) ;
4405  void *__cil_tmp26 ;
4406  unsigned long __cil_tmp27 ;
4407  unsigned long __cil_tmp28 ;
4408  int (*__cil_tmp29)(void *data , int reg ) ;
4409  void *__cil_tmp30 ;
4410  unsigned long __cil_tmp31 ;
4411  unsigned long __cil_tmp32 ;
4412  unsigned long __cil_tmp33 ;
4413  unsigned long __cil_tmp34 ;
4414  char *__cil_tmp35 ;
4415  unsigned long __cil_tmp36 ;
4416  unsigned long __cil_tmp37 ;
4417  unsigned long __cil_tmp38 ;
4418  unsigned long __cil_tmp39 ;
4419  char *__cil_tmp40 ;
4420
4421  {
4422  {
4423#line 369
4424  __cil_tmp4 = (unsigned long )adap;
4425#line 369
4426  __cil_tmp5 = __cil_tmp4 + 24;
4427#line 369
4428  __cil_tmp6 = *((void **)__cil_tmp5);
4429#line 369
4430  pca_data = (struct i2c_algo_pca_data *)__cil_tmp6;
4431#line 375
4432  __cil_tmp7 = (unsigned long )pca_data;
4433#line 375
4434  __cil_tmp8 = __cil_tmp7 + 8;
4435#line 375
4436  __cil_tmp9 = *((void (**)(void *data , int reg , int val ))__cil_tmp8);
4437#line 375
4438  __cil_tmp10 = *((void **)pca_data);
4439#line 375
4440  (*__cil_tmp9)(__cil_tmp10, 0, 1);
4441#line 376
4442  __cil_tmp11 = (unsigned long )pca_data;
4443#line 376
4444  __cil_tmp12 = __cil_tmp11 + 8;
4445#line 376
4446  __cil_tmp13 = *((void (**)(void *data , int reg , int val ))__cil_tmp12);
4447#line 376
4448  __cil_tmp14 = *((void **)pca_data);
4449#line 376
4450  (*__cil_tmp13)(__cil_tmp14, 2, 170);
4451#line 377
4452  __cil_tmp15 = (unsigned long )pca_data;
4453#line 377
4454  __cil_tmp16 = __cil_tmp15 + 8;
4455#line 377
4456  __cil_tmp17 = *((void (**)(void *data , int reg , int val ))__cil_tmp16);
4457#line 377
4458  __cil_tmp18 = *((void **)pca_data);
4459#line 377
4460  (*__cil_tmp17)(__cil_tmp18, 0, 4);
4461#line 378
4462  __cil_tmp19 = (unsigned long )pca_data;
4463#line 378
4464  __cil_tmp20 = __cil_tmp19 + 8;
4465#line 378
4466  __cil_tmp21 = *((void (**)(void *data , int reg , int val ))__cil_tmp20);
4467#line 378
4468  __cil_tmp22 = *((void **)pca_data);
4469#line 378
4470  (*__cil_tmp21)(__cil_tmp22, 2, 0);
4471#line 379
4472  __cil_tmp23 = (unsigned long )pca_data;
4473#line 379
4474  __cil_tmp24 = __cil_tmp23 + 8;
4475#line 379
4476  __cil_tmp25 = *((void (**)(void *data , int reg , int val ))__cil_tmp24);
4477#line 379
4478  __cil_tmp26 = *((void **)pca_data);
4479#line 379
4480  (*__cil_tmp25)(__cil_tmp26, 0, 1);
4481#line 380
4482  __cil_tmp27 = (unsigned long )pca_data;
4483#line 380
4484  __cil_tmp28 = __cil_tmp27 + 16;
4485#line 380
4486  __cil_tmp29 = *((int (**)(void *data , int reg ))__cil_tmp28);
4487#line 380
4488  __cil_tmp30 = *((void **)pca_data);
4489#line 380
4490  tmp___7 = (*__cil_tmp29)(__cil_tmp30, 2);
4491  }
4492#line 380
4493  if (tmp___7 == 170) {
4494    {
4495#line 381
4496    __cil_tmp31 = 0 * 1UL;
4497#line 381
4498    __cil_tmp32 = 900 + __cil_tmp31;
4499#line 381
4500    __cil_tmp33 = (unsigned long )adap;
4501#line 381
4502    __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
4503#line 381
4504    __cil_tmp35 = (char *)__cil_tmp34;
4505#line 381
4506    printk("<6>%s: PCA9665 detected.\n", __cil_tmp35);
4507    }
4508#line 382
4509    return (1U);
4510  } else {
4511    {
4512#line 384
4513    __cil_tmp36 = 0 * 1UL;
4514#line 384
4515    __cil_tmp37 = 900 + __cil_tmp36;
4516#line 384
4517    __cil_tmp38 = (unsigned long )adap;
4518#line 384
4519    __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
4520#line 384
4521    __cil_tmp40 = (char *)__cil_tmp39;
4522#line 384
4523    printk("<6>%s: PCA9564 detected.\n", __cil_tmp40);
4524    }
4525#line 385
4526    return (0U);
4527  }
4528}
4529}
4530#line 396
4531static int pca_init(struct i2c_adapter *adap ) ;
4532#line 396 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
4533static int freqs[8]  = 
4534#line 396
4535  {      330,      288,      217,      146, 
4536        88,      59,      44,      36};
4537#line 389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
4538static int pca_init(struct i2c_adapter *adap ) 
4539{ struct i2c_algo_pca_data *pca_data ;
4540  int clock ;
4541  int clock___0 ;
4542  int mode ;
4543  int tlow ;
4544  int thi ;
4545  int min_tlow ;
4546  int min_thi ;
4547  int raise_fall_time ;
4548  unsigned int tmp___7 ;
4549  unsigned long __cil_tmp12 ;
4550  unsigned long __cil_tmp13 ;
4551  void *__cil_tmp14 ;
4552  unsigned long __cil_tmp15 ;
4553  unsigned long __cil_tmp16 ;
4554  unsigned long __cil_tmp17 ;
4555  unsigned long __cil_tmp18 ;
4556  unsigned int __cil_tmp19 ;
4557  unsigned long __cil_tmp20 ;
4558  unsigned long __cil_tmp21 ;
4559  unsigned int __cil_tmp22 ;
4560  unsigned long __cil_tmp23 ;
4561  unsigned long __cil_tmp24 ;
4562  unsigned long __cil_tmp25 ;
4563  unsigned long __cil_tmp26 ;
4564  unsigned long __cil_tmp27 ;
4565  unsigned long __cil_tmp28 ;
4566  unsigned long __cil_tmp29 ;
4567  unsigned long __cil_tmp30 ;
4568  unsigned long __cil_tmp31 ;
4569  unsigned long __cil_tmp32 ;
4570  unsigned long __cil_tmp33 ;
4571  unsigned long __cil_tmp34 ;
4572  unsigned long __cil_tmp35 ;
4573  unsigned long __cil_tmp36 ;
4574  unsigned long __cil_tmp37 ;
4575  unsigned long __cil_tmp38 ;
4576  unsigned long __cil_tmp39 ;
4577  unsigned long __cil_tmp40 ;
4578  unsigned long __cil_tmp41 ;
4579  unsigned long __cil_tmp42 ;
4580  char *__cil_tmp43 ;
4581  unsigned long __cil_tmp44 ;
4582  unsigned long __cil_tmp45 ;
4583  unsigned long __cil_tmp46 ;
4584  unsigned long __cil_tmp47 ;
4585  unsigned long __cil_tmp48 ;
4586  unsigned long __cil_tmp49 ;
4587  char *__cil_tmp50 ;
4588  unsigned long __cil_tmp51 ;
4589  unsigned long __cil_tmp52 ;
4590  void (*__cil_tmp53)(void *data ) ;
4591  void *__cil_tmp54 ;
4592  unsigned long __cil_tmp55 ;
4593  unsigned long __cil_tmp56 ;
4594  unsigned int __cil_tmp57 ;
4595  unsigned long __cil_tmp58 ;
4596  unsigned long __cil_tmp59 ;
4597  unsigned long __cil_tmp60 ;
4598  unsigned long __cil_tmp61 ;
4599  char *__cil_tmp62 ;
4600  unsigned long __cil_tmp63 ;
4601  unsigned long __cil_tmp64 ;
4602  int __cil_tmp65 ;
4603  unsigned long __cil_tmp66 ;
4604  unsigned long __cil_tmp67 ;
4605  void (*__cil_tmp68)(void *data , int reg , int val ) ;
4606  void *__cil_tmp69 ;
4607  int __cil_tmp70 ;
4608  unsigned long __cil_tmp71 ;
4609  unsigned long __cil_tmp72 ;
4610  unsigned long __cil_tmp73 ;
4611  unsigned long __cil_tmp74 ;
4612  unsigned int __cil_tmp75 ;
4613  unsigned long __cil_tmp76 ;
4614  unsigned long __cil_tmp77 ;
4615  unsigned long __cil_tmp78 ;
4616  unsigned long __cil_tmp79 ;
4617  char *__cil_tmp80 ;
4618  unsigned long __cil_tmp81 ;
4619  unsigned long __cil_tmp82 ;
4620  unsigned long __cil_tmp83 ;
4621  unsigned long __cil_tmp84 ;
4622  unsigned int __cil_tmp85 ;
4623  unsigned long __cil_tmp86 ;
4624  unsigned long __cil_tmp87 ;
4625  unsigned long __cil_tmp88 ;
4626  unsigned long __cil_tmp89 ;
4627  char *__cil_tmp90 ;
4628  unsigned long __cil_tmp91 ;
4629  unsigned long __cil_tmp92 ;
4630  unsigned long __cil_tmp93 ;
4631  unsigned long __cil_tmp94 ;
4632  unsigned int __cil_tmp95 ;
4633  unsigned int __cil_tmp96 ;
4634  unsigned long __cil_tmp97 ;
4635  unsigned long __cil_tmp98 ;
4636  unsigned int __cil_tmp99 ;
4637  unsigned long __cil_tmp100 ;
4638  unsigned long __cil_tmp101 ;
4639  unsigned int __cil_tmp102 ;
4640  unsigned long __cil_tmp103 ;
4641  unsigned long __cil_tmp104 ;
4642  unsigned int __cil_tmp105 ;
4643  int __cil_tmp106 ;
4644  int __cil_tmp107 ;
4645  int __cil_tmp108 ;
4646  int __cil_tmp109 ;
4647  int __cil_tmp110 ;
4648  int __cil_tmp111 ;
4649  int __cil_tmp112 ;
4650  int __cil_tmp113 ;
4651  int __cil_tmp114 ;
4652  unsigned long __cil_tmp115 ;
4653  unsigned long __cil_tmp116 ;
4654  void (*__cil_tmp117)(void *data ) ;
4655  void *__cil_tmp118 ;
4656  unsigned long __cil_tmp119 ;
4657  unsigned long __cil_tmp120 ;
4658  unsigned long __cil_tmp121 ;
4659  unsigned long __cil_tmp122 ;
4660  char *__cil_tmp123 ;
4661  int __cil_tmp124 ;
4662  unsigned long __cil_tmp125 ;
4663  unsigned long __cil_tmp126 ;
4664  void (*__cil_tmp127)(void *data , int reg , int val ) ;
4665  void *__cil_tmp128 ;
4666  unsigned long __cil_tmp129 ;
4667  unsigned long __cil_tmp130 ;
4668  void (*__cil_tmp131)(void *data , int reg , int val ) ;
4669  void *__cil_tmp132 ;
4670  unsigned long __cil_tmp133 ;
4671  unsigned long __cil_tmp134 ;
4672  void (*__cil_tmp135)(void *data , int reg , int val ) ;
4673  void *__cil_tmp136 ;
4674  unsigned long __cil_tmp137 ;
4675  unsigned long __cil_tmp138 ;
4676  void (*__cil_tmp139)(void *data , int reg , int val ) ;
4677  void *__cil_tmp140 ;
4678  unsigned long __cil_tmp141 ;
4679  unsigned long __cil_tmp142 ;
4680  void (*__cil_tmp143)(void *data , int reg , int val ) ;
4681  void *__cil_tmp144 ;
4682  unsigned long __cil_tmp145 ;
4683  unsigned long __cil_tmp146 ;
4684  void (*__cil_tmp147)(void *data , int reg , int val ) ;
4685  void *__cil_tmp148 ;
4686  unsigned long __cil_tmp149 ;
4687  unsigned long __cil_tmp150 ;
4688  void (*__cil_tmp151)(void *data , int reg , int val ) ;
4689  void *__cil_tmp152 ;
4690
4691  {
4692  {
4693#line 391
4694  __cil_tmp12 = (unsigned long )adap;
4695#line 391
4696  __cil_tmp13 = __cil_tmp12 + 24;
4697#line 391
4698  __cil_tmp14 = *((void **)__cil_tmp13);
4699#line 391
4700  pca_data = (struct i2c_algo_pca_data *)__cil_tmp14;
4701#line 393
4702  __cil_tmp15 = (unsigned long )adap;
4703#line 393
4704  __cil_tmp16 = __cil_tmp15 + 16;
4705#line 393
4706  *((struct i2c_algorithm  const  **)__cil_tmp16) = & pca_algo;
4707#line 395
4708  tmp___7 = pca_probe_chip(adap);
4709  }
4710#line 395
4711  if (tmp___7 == 0U) {
4712    {
4713#line 399
4714    __cil_tmp17 = (unsigned long )pca_data;
4715#line 399
4716    __cil_tmp18 = __cil_tmp17 + 40;
4717#line 399
4718    __cil_tmp19 = *((unsigned int *)__cil_tmp18);
4719#line 399
4720    if (__cil_tmp19 > 7U) {
4721      {
4722#line 400
4723      __cil_tmp20 = (unsigned long )pca_data;
4724#line 400
4725      __cil_tmp21 = __cil_tmp20 + 40;
4726#line 400
4727      __cil_tmp22 = *((unsigned int *)__cil_tmp21);
4728#line 401
4729      if ((int )__cil_tmp22 == 330000) {
4730#line 401
4731        goto case_330000;
4732      } else
4733#line 404
4734      if ((int )__cil_tmp22 == 288000) {
4735#line 404
4736        goto case_288000;
4737      } else
4738#line 407
4739      if ((int )__cil_tmp22 == 217000) {
4740#line 407
4741        goto case_217000;
4742      } else
4743#line 410
4744      if ((int )__cil_tmp22 == 146000) {
4745#line 410
4746        goto case_146000;
4747      } else
4748#line 413
4749      if ((int )__cil_tmp22 == 88000) {
4750#line 413
4751        goto case_88000;
4752      } else
4753#line 416
4754      if ((int )__cil_tmp22 == 59000) {
4755#line 416
4756        goto case_59000;
4757      } else
4758#line 419
4759      if ((int )__cil_tmp22 == 44000) {
4760#line 419
4761        goto case_44000;
4762      } else
4763#line 422
4764      if ((int )__cil_tmp22 == 36000) {
4765#line 422
4766        goto case_36000;
4767      } else {
4768        {
4769#line 425
4770        goto switch_default;
4771#line 400
4772        if (0) {
4773          case_330000: /* CIL Label */ 
4774#line 402
4775          __cil_tmp23 = (unsigned long )pca_data;
4776#line 402
4777          __cil_tmp24 = __cil_tmp23 + 40;
4778#line 402
4779          *((unsigned int *)__cil_tmp24) = 0U;
4780#line 403
4781          goto switch_break;
4782          case_288000: /* CIL Label */ 
4783#line 405
4784          __cil_tmp25 = (unsigned long )pca_data;
4785#line 405
4786          __cil_tmp26 = __cil_tmp25 + 40;
4787#line 405
4788          *((unsigned int *)__cil_tmp26) = 1U;
4789#line 406
4790          goto switch_break;
4791          case_217000: /* CIL Label */ 
4792#line 408
4793          __cil_tmp27 = (unsigned long )pca_data;
4794#line 408
4795          __cil_tmp28 = __cil_tmp27 + 40;
4796#line 408
4797          *((unsigned int *)__cil_tmp28) = 2U;
4798#line 409
4799          goto switch_break;
4800          case_146000: /* CIL Label */ 
4801#line 411
4802          __cil_tmp29 = (unsigned long )pca_data;
4803#line 411
4804          __cil_tmp30 = __cil_tmp29 + 40;
4805#line 411
4806          *((unsigned int *)__cil_tmp30) = 3U;
4807#line 412
4808          goto switch_break;
4809          case_88000: /* CIL Label */ 
4810#line 414
4811          __cil_tmp31 = (unsigned long )pca_data;
4812#line 414
4813          __cil_tmp32 = __cil_tmp31 + 40;
4814#line 414
4815          *((unsigned int *)__cil_tmp32) = 4U;
4816#line 415
4817          goto switch_break;
4818          case_59000: /* CIL Label */ 
4819#line 417
4820          __cil_tmp33 = (unsigned long )pca_data;
4821#line 417
4822          __cil_tmp34 = __cil_tmp33 + 40;
4823#line 417
4824          *((unsigned int *)__cil_tmp34) = 5U;
4825#line 418
4826          goto switch_break;
4827          case_44000: /* CIL Label */ 
4828#line 420
4829          __cil_tmp35 = (unsigned long )pca_data;
4830#line 420
4831          __cil_tmp36 = __cil_tmp35 + 40;
4832#line 420
4833          *((unsigned int *)__cil_tmp36) = 6U;
4834#line 421
4835          goto switch_break;
4836          case_36000: /* CIL Label */ 
4837#line 423
4838          __cil_tmp37 = (unsigned long )pca_data;
4839#line 423
4840          __cil_tmp38 = __cil_tmp37 + 40;
4841#line 423
4842          *((unsigned int *)__cil_tmp38) = 7U;
4843#line 424
4844          goto switch_break;
4845          switch_default: /* CIL Label */ 
4846          {
4847#line 426
4848          __cil_tmp39 = 0 * 1UL;
4849#line 426
4850          __cil_tmp40 = 900 + __cil_tmp39;
4851#line 426
4852          __cil_tmp41 = (unsigned long )adap;
4853#line 426
4854          __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
4855#line 426
4856          __cil_tmp43 = (char *)__cil_tmp42;
4857#line 426
4858          printk("<4>%s: Invalid I2C clock speed selected. Using default 59kHz.\n",
4859                 __cil_tmp43);
4860#line 429
4861          __cil_tmp44 = (unsigned long )pca_data;
4862#line 429
4863          __cil_tmp45 = __cil_tmp44 + 40;
4864#line 429
4865          *((unsigned int *)__cil_tmp45) = 5U;
4866          }
4867        } else {
4868          switch_break: /* CIL Label */ ;
4869        }
4870        }
4871      }
4872      }
4873    } else {
4874      {
4875#line 432
4876      __cil_tmp46 = 0 * 1UL;
4877#line 432
4878      __cil_tmp47 = 900 + __cil_tmp46;
4879#line 432
4880      __cil_tmp48 = (unsigned long )adap;
4881#line 432
4882      __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
4883#line 432
4884      __cil_tmp50 = (char *)__cil_tmp49;
4885#line 432
4886      printk("<4>%s: Choosing the clock frequency based on index is deprecated. Use the nominal frequency.\n",
4887             __cil_tmp50);
4888      }
4889    }
4890    }
4891    {
4892#line 438
4893    __cil_tmp51 = (unsigned long )pca_data;
4894#line 438
4895    __cil_tmp52 = __cil_tmp51 + 32;
4896#line 438
4897    __cil_tmp53 = *((void (**)(void *data ))__cil_tmp52);
4898#line 438
4899    __cil_tmp54 = *((void **)pca_data);
4900#line 438
4901    (*__cil_tmp53)(__cil_tmp54);
4902#line 440
4903    __cil_tmp55 = (unsigned long )pca_data;
4904#line 440
4905    __cil_tmp56 = __cil_tmp55 + 40;
4906#line 440
4907    __cil_tmp57 = *((unsigned int *)__cil_tmp56);
4908#line 440
4909    clock = (int )__cil_tmp57;
4910#line 441
4911    __cil_tmp58 = 0 * 1UL;
4912#line 441
4913    __cil_tmp59 = 900 + __cil_tmp58;
4914#line 441
4915    __cil_tmp60 = (unsigned long )adap;
4916#line 441
4917    __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
4918#line 441
4919    __cil_tmp62 = (char *)__cil_tmp61;
4920#line 441
4921    __cil_tmp63 = clock * 4UL;
4922#line 441
4923    __cil_tmp64 = (unsigned long )(freqs) + __cil_tmp63;
4924#line 441
4925    __cil_tmp65 = *((int *)__cil_tmp64);
4926#line 441
4927    printk("<6>%s: Clock frequency is %dkHz\n", __cil_tmp62, __cil_tmp65);
4928#line 444
4929    __cil_tmp66 = (unsigned long )pca_data;
4930#line 444
4931    __cil_tmp67 = __cil_tmp66 + 8;
4932#line 444
4933    __cil_tmp68 = *((void (**)(void *data , int reg , int val ))__cil_tmp67);
4934#line 444
4935    __cil_tmp69 = *((void **)pca_data);
4936#line 444
4937    __cil_tmp70 = 64 | clock;
4938#line 444
4939    (*__cil_tmp68)(__cil_tmp69, 3, __cil_tmp70);
4940    }
4941  } else {
4942#line 463
4943    __cil_tmp71 = (unsigned long )pca_data;
4944#line 463
4945    __cil_tmp72 = __cil_tmp71 + 32;
4946#line 463
4947    *((void (**)(void *data ))__cil_tmp72) = & pca9665_reset;
4948    {
4949#line 465
4950    __cil_tmp73 = (unsigned long )pca_data;
4951#line 465
4952    __cil_tmp74 = __cil_tmp73 + 40;
4953#line 465
4954    __cil_tmp75 = *((unsigned int *)__cil_tmp74);
4955#line 465
4956    if (__cil_tmp75 > 1265800U) {
4957      {
4958#line 466
4959      __cil_tmp76 = 0 * 1UL;
4960#line 466
4961      __cil_tmp77 = 900 + __cil_tmp76;
4962#line 466
4963      __cil_tmp78 = (unsigned long )adap;
4964#line 466
4965      __cil_tmp79 = __cil_tmp78 + __cil_tmp77;
4966#line 466
4967      __cil_tmp80 = (char *)__cil_tmp79;
4968#line 466
4969      printk("<4>%s: I2C clock speed too high. Using 1265.8kHz.\n", __cil_tmp80);
4970#line 468
4971      __cil_tmp81 = (unsigned long )pca_data;
4972#line 468
4973      __cil_tmp82 = __cil_tmp81 + 40;
4974#line 468
4975      *((unsigned int *)__cil_tmp82) = 1265800U;
4976      }
4977    } else {
4978
4979    }
4980    }
4981    {
4982#line 471
4983    __cil_tmp83 = (unsigned long )pca_data;
4984#line 471
4985    __cil_tmp84 = __cil_tmp83 + 40;
4986#line 471
4987    __cil_tmp85 = *((unsigned int *)__cil_tmp84);
4988#line 471
4989    if (__cil_tmp85 < 60300U) {
4990      {
4991#line 472
4992      __cil_tmp86 = 0 * 1UL;
4993#line 472
4994      __cil_tmp87 = 900 + __cil_tmp86;
4995#line 472
4996      __cil_tmp88 = (unsigned long )adap;
4997#line 472
4998      __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
4999#line 472
5000      __cil_tmp90 = (char *)__cil_tmp89;
5001#line 472
5002      printk("<4>%s: I2C clock speed too low. Using 60.3kHz.\n", __cil_tmp90);
5003#line 474
5004      __cil_tmp91 = (unsigned long )pca_data;
5005#line 474
5006      __cil_tmp92 = __cil_tmp91 + 40;
5007#line 474
5008      *((unsigned int *)__cil_tmp92) = 60300U;
5009      }
5010    } else {
5011
5012    }
5013    }
5014#line 478
5015    __cil_tmp93 = (unsigned long )pca_data;
5016#line 478
5017    __cil_tmp94 = __cil_tmp93 + 40;
5018#line 478
5019    __cil_tmp95 = *((unsigned int *)__cil_tmp94);
5020#line 478
5021    __cil_tmp96 = __cil_tmp95 / 100U;
5022#line 478
5023    clock___0 = (int )__cil_tmp96;
5024    {
5025#line 480
5026    __cil_tmp97 = (unsigned long )pca_data;
5027#line 480
5028    __cil_tmp98 = __cil_tmp97 + 40;
5029#line 480
5030    __cil_tmp99 = *((unsigned int *)__cil_tmp98);
5031#line 480
5032    if (__cil_tmp99 > 10000U) {
5033#line 481
5034      mode = 3;
5035#line 482
5036      min_tlow = 14;
5037#line 483
5038      min_thi = 5;
5039#line 484
5040      raise_fall_time = 22;
5041    } else {
5042      {
5043#line 485
5044      __cil_tmp100 = (unsigned long )pca_data;
5045#line 485
5046      __cil_tmp101 = __cil_tmp100 + 40;
5047#line 485
5048      __cil_tmp102 = *((unsigned int *)__cil_tmp101);
5049#line 485
5050      if (__cil_tmp102 > 4000U) {
5051#line 486
5052        mode = 2;
5053#line 487
5054        min_tlow = 17;
5055#line 488
5056        min_thi = 9;
5057#line 489
5058        raise_fall_time = 22;
5059      } else {
5060        {
5061#line 490
5062        __cil_tmp103 = (unsigned long )pca_data;
5063#line 490
5064        __cil_tmp104 = __cil_tmp103 + 40;
5065#line 490
5066        __cil_tmp105 = *((unsigned int *)__cil_tmp104);
5067#line 490
5068        if (__cil_tmp105 > 1000U) {
5069#line 491
5070          mode = 1;
5071#line 492
5072          min_tlow = 44;
5073#line 493
5074          min_thi = 20;
5075#line 494
5076          raise_fall_time = 58;
5077        } else {
5078#line 496
5079          mode = 0;
5080#line 497
5081          min_tlow = 157;
5082#line 498
5083          min_thi = 134;
5084#line 499
5085          raise_fall_time = 127;
5086        }
5087        }
5088      }
5089      }
5090    }
5091    }
5092#line 506
5093    if (clock___0 < 648) {
5094#line 507
5095      tlow = 255;
5096#line 508
5097      __cil_tmp106 = clock___0 * raise_fall_time;
5098#line 508
5099      thi = 1000000 - __cil_tmp106;
5100#line 509
5101      __cil_tmp107 = 3 * clock___0;
5102#line 509
5103      __cil_tmp108 = __cil_tmp107 - tlow;
5104#line 509
5105      thi = thi / __cil_tmp108;
5106    } else {
5107#line 511
5108      __cil_tmp109 = clock___0 * raise_fall_time;
5109#line 511
5110      __cil_tmp110 = 1000000 - __cil_tmp109;
5111#line 511
5112      tlow = __cil_tmp110 * min_tlow;
5113#line 512
5114      __cil_tmp111 = min_thi + min_tlow;
5115#line 512
5116      __cil_tmp112 = 3 * clock___0;
5117#line 512
5118      __cil_tmp113 = __cil_tmp112 * __cil_tmp111;
5119#line 512
5120      tlow = tlow / __cil_tmp113;
5121#line 513
5122      __cil_tmp114 = tlow * min_thi;
5123#line 513
5124      thi = __cil_tmp114 / min_tlow;
5125    }
5126    {
5127#line 516
5128    __cil_tmp115 = (unsigned long )pca_data;
5129#line 516
5130    __cil_tmp116 = __cil_tmp115 + 32;
5131#line 516
5132    __cil_tmp117 = *((void (**)(void *data ))__cil_tmp116);
5133#line 516
5134    __cil_tmp118 = *((void **)pca_data);
5135#line 516
5136    (*__cil_tmp117)(__cil_tmp118);
5137#line 518
5138    __cil_tmp119 = 0 * 1UL;
5139#line 518
5140    __cil_tmp120 = 900 + __cil_tmp119;
5141#line 518
5142    __cil_tmp121 = (unsigned long )adap;
5143#line 518
5144    __cil_tmp122 = __cil_tmp121 + __cil_tmp120;
5145#line 518
5146    __cil_tmp123 = (char *)__cil_tmp122;
5147#line 518
5148    __cil_tmp124 = clock___0 * 100;
5149#line 518
5150    printk("<6>%s: Clock frequency is %dHz\n", __cil_tmp123, __cil_tmp124);
5151#line 521
5152    __cil_tmp125 = (unsigned long )pca_data;
5153#line 521
5154    __cil_tmp126 = __cil_tmp125 + 8;
5155#line 521
5156    __cil_tmp127 = *((void (**)(void *data , int reg , int val ))__cil_tmp126);
5157#line 521
5158    __cil_tmp128 = *((void **)pca_data);
5159#line 521
5160    (*__cil_tmp127)(__cil_tmp128, 0, 6);
5161#line 522
5162    __cil_tmp129 = (unsigned long )pca_data;
5163#line 522
5164    __cil_tmp130 = __cil_tmp129 + 8;
5165#line 522
5166    __cil_tmp131 = *((void (**)(void *data , int reg , int val ))__cil_tmp130);
5167#line 522
5168    __cil_tmp132 = *((void **)pca_data);
5169#line 522
5170    (*__cil_tmp131)(__cil_tmp132, 2, mode);
5171#line 523
5172    __cil_tmp133 = (unsigned long )pca_data;
5173#line 523
5174    __cil_tmp134 = __cil_tmp133 + 8;
5175#line 523
5176    __cil_tmp135 = *((void (**)(void *data , int reg , int val ))__cil_tmp134);
5177#line 523
5178    __cil_tmp136 = *((void **)pca_data);
5179#line 523
5180    (*__cil_tmp135)(__cil_tmp136, 0, 2);
5181#line 524
5182    __cil_tmp137 = (unsigned long )pca_data;
5183#line 524
5184    __cil_tmp138 = __cil_tmp137 + 8;
5185#line 524
5186    __cil_tmp139 = *((void (**)(void *data , int reg , int val ))__cil_tmp138);
5187#line 524
5188    __cil_tmp140 = *((void **)pca_data);
5189#line 524
5190    (*__cil_tmp139)(__cil_tmp140, 2, tlow);
5191#line 525
5192    __cil_tmp141 = (unsigned long )pca_data;
5193#line 525
5194    __cil_tmp142 = __cil_tmp141 + 8;
5195#line 525
5196    __cil_tmp143 = *((void (**)(void *data , int reg , int val ))__cil_tmp142);
5197#line 525
5198    __cil_tmp144 = *((void **)pca_data);
5199#line 525
5200    (*__cil_tmp143)(__cil_tmp144, 0, 3);
5201#line 526
5202    __cil_tmp145 = (unsigned long )pca_data;
5203#line 526
5204    __cil_tmp146 = __cil_tmp145 + 8;
5205#line 526
5206    __cil_tmp147 = *((void (**)(void *data , int reg , int val ))__cil_tmp146);
5207#line 526
5208    __cil_tmp148 = *((void **)pca_data);
5209#line 526
5210    (*__cil_tmp147)(__cil_tmp148, 2, thi);
5211#line 528
5212    __cil_tmp149 = (unsigned long )pca_data;
5213#line 528
5214    __cil_tmp150 = __cil_tmp149 + 8;
5215#line 528
5216    __cil_tmp151 = *((void (**)(void *data , int reg , int val ))__cil_tmp150);
5217#line 528
5218    __cil_tmp152 = *((void **)pca_data);
5219#line 528
5220    (*__cil_tmp151)(__cil_tmp152, 3, 64);
5221    }
5222  }
5223  {
5224#line 530
5225  __const_udelay(2147500UL);
5226  }
5227#line 532
5228  return (0);
5229}
5230}
5231#line 538 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5232int i2c_pca_add_bus(struct i2c_adapter *adap ) 
5233{ int rval ;
5234  int tmp___7 ;
5235
5236  {
5237  {
5238#line 542
5239  rval = pca_init(adap);
5240  }
5241#line 543
5242  if (rval) {
5243#line 544
5244    return (rval);
5245  } else {
5246
5247  }
5248  {
5249#line 546
5250  tmp___7 = i2c_add_adapter(adap);
5251  }
5252#line 546
5253  return (tmp___7);
5254}
5255}
5256#line 548
5257extern void *__crc_i2c_pca_add_bus  __attribute__((__weak__)) ;
5258#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5259static unsigned long const   __kcrctab_i2c_pca_add_bus  __attribute__((__used__, __unused__,
5260__section__("___kcrctab+i2c_pca_add_bus")))  =    (unsigned long const   )((unsigned long )(& __crc_i2c_pca_add_bus));
5261#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5262static char const   __kstrtab_i2c_pca_add_bus[16]  __attribute__((__section__("__ksymtab_strings"),
5263__aligned__(1)))  = 
5264#line 548
5265  {      (char const   )'i',      (char const   )'2',      (char const   )'c',      (char const   )'_', 
5266        (char const   )'p',      (char const   )'c',      (char const   )'a',      (char const   )'_', 
5267        (char const   )'a',      (char const   )'d',      (char const   )'d',      (char const   )'_', 
5268        (char const   )'b',      (char const   )'u',      (char const   )'s',      (char const   )'\000'};
5269#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5270static struct kernel_symbol  const  __ksymtab_i2c_pca_add_bus  __attribute__((__used__,
5271__unused__, __section__("___ksymtab+i2c_pca_add_bus")))  =    {(unsigned long )(& i2c_pca_add_bus), __kstrtab_i2c_pca_add_bus};
5272#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5273int i2c_pca_add_numbered_bus(struct i2c_adapter *adap ) 
5274{ int rval ;
5275  int tmp___7 ;
5276
5277  {
5278  {
5279#line 554
5280  rval = pca_init(adap);
5281  }
5282#line 555
5283  if (rval) {
5284#line 556
5285    return (rval);
5286  } else {
5287
5288  }
5289  {
5290#line 558
5291  tmp___7 = i2c_add_numbered_adapter(adap);
5292  }
5293#line 558
5294  return (tmp___7);
5295}
5296}
5297#line 560
5298extern void *__crc_i2c_pca_add_numbered_bus  __attribute__((__weak__)) ;
5299#line 560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5300static unsigned long const   __kcrctab_i2c_pca_add_numbered_bus  __attribute__((__used__,
5301__unused__, __section__("___kcrctab+i2c_pca_add_numbered_bus")))  =    (unsigned long const   )((unsigned long )(& __crc_i2c_pca_add_numbered_bus));
5302#line 560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5303static char const   __kstrtab_i2c_pca_add_numbered_bus[25]  __attribute__((__section__("__ksymtab_strings"),
5304__aligned__(1)))  = 
5305#line 560
5306  {      (char const   )'i',      (char const   )'2',      (char const   )'c',      (char const   )'_', 
5307        (char const   )'p',      (char const   )'c',      (char const   )'a',      (char const   )'_', 
5308        (char const   )'a',      (char const   )'d',      (char const   )'d',      (char const   )'_', 
5309        (char const   )'n',      (char const   )'u',      (char const   )'m',      (char const   )'b', 
5310        (char const   )'e',      (char const   )'r',      (char const   )'e',      (char const   )'d', 
5311        (char const   )'_',      (char const   )'b',      (char const   )'u',      (char const   )'s', 
5312        (char const   )'\000'};
5313#line 560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5314static struct kernel_symbol  const  __ksymtab_i2c_pca_add_numbered_bus  __attribute__((__used__,
5315__unused__, __section__("___ksymtab+i2c_pca_add_numbered_bus")))  =    {(unsigned long )(& i2c_pca_add_numbered_bus), __kstrtab_i2c_pca_add_numbered_bus};
5316#line 562 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5317static char const   __mod_author563[80]  __attribute__((__used__, __unused__, __section__(".modinfo"),
5318__aligned__(1)))  = 
5319#line 562
5320  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
5321        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'I', 
5322        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'C', 
5323        (char const   )'a',      (char const   )'m',      (char const   )'p',      (char const   )'b', 
5324        (char const   )'e',      (char const   )'l',      (char const   )'l',      (char const   )' ', 
5325        (char const   )'<',      (char const   )'i',      (char const   )'c',      (char const   )'a', 
5326        (char const   )'m',      (char const   )'p',      (char const   )'b',      (char const   )'e', 
5327        (char const   )'l',      (char const   )'l',      (char const   )'@',      (char const   )'a', 
5328        (char const   )'r',      (char const   )'c',      (char const   )'o',      (char const   )'m', 
5329        (char const   )'.',      (char const   )'c',      (char const   )'o',      (char const   )'m', 
5330        (char const   )'>',      (char const   )',',      (char const   )' ',      (char const   )'W', 
5331        (char const   )'o',      (char const   )'l',      (char const   )'f',      (char const   )'r', 
5332        (char const   )'a',      (char const   )'m',      (char const   )' ',      (char const   )'S', 
5333        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )' ', 
5334        (char const   )'<',      (char const   )'w',      (char const   )'.',      (char const   )'s', 
5335        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'@', 
5336        (char const   )'p',      (char const   )'e',      (char const   )'n',      (char const   )'g', 
5337        (char const   )'u',      (char const   )'t',      (char const   )'r',      (char const   )'o', 
5338        (char const   )'n',      (char const   )'i',      (char const   )'x',      (char const   )'.', 
5339        (char const   )'d',      (char const   )'e',      (char const   )'>',      (char const   )'\000'};
5340#line 564 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5341static char const   __mod_description564[46]  __attribute__((__used__, __unused__,
5342__section__(".modinfo"), __aligned__(1)))  = 
5343#line 564
5344  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
5345        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
5346        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
5347        (char const   )'I',      (char const   )'2',      (char const   )'C',      (char const   )'-', 
5348        (char const   )'B',      (char const   )'u',      (char const   )'s',      (char const   )' ', 
5349        (char const   )'P',      (char const   )'C',      (char const   )'A',      (char const   )'9', 
5350        (char const   )'5',      (char const   )'6',      (char const   )'4',      (char const   )'/', 
5351        (char const   )'P',      (char const   )'C',      (char const   )'A',      (char const   )'9', 
5352        (char const   )'6',      (char const   )'6',      (char const   )'5',      (char const   )' ', 
5353        (char const   )'a',      (char const   )'l',      (char const   )'g',      (char const   )'o', 
5354        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'h', 
5355        (char const   )'m',      (char const   )'\000'};
5356#line 565 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5357static char const   __mod_license565[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
5358__aligned__(1)))  = 
5359#line 565
5360  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
5361        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
5362        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
5363#line 567 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5364static char const   __param_str_i2c_debug[10]  = 
5365#line 567
5366  {      (char const   )'i',      (char const   )'2',      (char const   )'c',      (char const   )'_', 
5367        (char const   )'d',      (char const   )'e',      (char const   )'b',      (char const   )'u', 
5368        (char const   )'g',      (char const   )'\000'};
5369#line 567 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5370static struct kernel_param  const  __param_i2c_debug  __attribute__((__used__, __unused__,
5371__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_i2c_debug, (struct kernel_param_ops  const  *)(& param_ops_int), (u16 )0,
5372    (s16 )0, {(void *)(& i2c_debug)}};
5373#line 567 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5374static char const   __mod_i2c_debugtype567[23]  __attribute__((__used__, __unused__,
5375__section__(".modinfo"), __aligned__(1)))  = 
5376#line 567
5377  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
5378        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
5379        (char const   )'=',      (char const   )'i',      (char const   )'2',      (char const   )'c', 
5380        (char const   )'_',      (char const   )'d',      (char const   )'e',      (char const   )'b', 
5381        (char const   )'u',      (char const   )'g',      (char const   )':',      (char const   )'i', 
5382        (char const   )'n',      (char const   )'t',      (char const   )'\000'};
5383#line 585
5384void ldv_check_final_state(void) ;
5385#line 591
5386extern void ldv_initialize(void) ;
5387#line 594
5388extern int __VERIFIER_nondet_int(void) ;
5389#line 597 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5390int LDV_IN_INTERRUPT  ;
5391#line 600 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5392void main(void) 
5393{ struct i2c_adapter *var_group1 ;
5394  struct i2c_msg *var_group2 ;
5395  int var_pca_xfer_8_p2 ;
5396  int tmp___7 ;
5397  int tmp___8 ;
5398
5399  {
5400  {
5401#line 654
5402  LDV_IN_INTERRUPT = 1;
5403#line 663
5404  ldv_initialize();
5405  }
5406  {
5407#line 667
5408  while (1) {
5409    while_continue: /* CIL Label */ ;
5410    {
5411#line 667
5412    tmp___8 = __VERIFIER_nondet_int();
5413    }
5414#line 667
5415    if (tmp___8) {
5416
5417    } else {
5418#line 667
5419      goto while_break;
5420    }
5421    {
5422#line 670
5423    tmp___7 = __VERIFIER_nondet_int();
5424    }
5425#line 672
5426    if (tmp___7 == 0) {
5427#line 672
5428      goto case_0;
5429    } else
5430#line 703
5431    if (tmp___7 == 1) {
5432#line 703
5433      goto case_1;
5434    } else {
5435      {
5436#line 734
5437      goto switch_default;
5438#line 670
5439      if (0) {
5440        case_0: /* CIL Label */ 
5441        {
5442#line 695
5443        pca_xfer(var_group1, var_group2, var_pca_xfer_8_p2);
5444        }
5445#line 702
5446        goto switch_break;
5447        case_1: /* CIL Label */ 
5448        {
5449#line 726
5450        pca_func(var_group1);
5451        }
5452#line 733
5453        goto switch_break;
5454        switch_default: /* CIL Label */ 
5455#line 734
5456        goto switch_break;
5457      } else {
5458        switch_break: /* CIL Label */ ;
5459      }
5460      }
5461    }
5462  }
5463  while_break: /* CIL Label */ ;
5464  }
5465  {
5466#line 743
5467  ldv_check_final_state();
5468  }
5469#line 746
5470  return;
5471}
5472}
5473#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
5474void ldv_blast_assert(void) 
5475{ 
5476
5477  {
5478  ERROR: 
5479#line 6
5480  goto ERROR;
5481}
5482}
5483#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
5484extern int __VERIFIER_nondet_int(void) ;
5485#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5486int ldv_mutex  =    1;
5487#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5488int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
5489{ int nondetermined ;
5490
5491  {
5492#line 29
5493  if (ldv_mutex == 1) {
5494
5495  } else {
5496    {
5497#line 29
5498    ldv_blast_assert();
5499    }
5500  }
5501  {
5502#line 32
5503  nondetermined = __VERIFIER_nondet_int();
5504  }
5505#line 35
5506  if (nondetermined) {
5507#line 38
5508    ldv_mutex = 2;
5509#line 40
5510    return (0);
5511  } else {
5512#line 45
5513    return (-4);
5514  }
5515}
5516}
5517#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5518int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
5519{ int nondetermined ;
5520
5521  {
5522#line 57
5523  if (ldv_mutex == 1) {
5524
5525  } else {
5526    {
5527#line 57
5528    ldv_blast_assert();
5529    }
5530  }
5531  {
5532#line 60
5533  nondetermined = __VERIFIER_nondet_int();
5534  }
5535#line 63
5536  if (nondetermined) {
5537#line 66
5538    ldv_mutex = 2;
5539#line 68
5540    return (0);
5541  } else {
5542#line 73
5543    return (-4);
5544  }
5545}
5546}
5547#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5548int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
5549{ int atomic_value_after_dec ;
5550
5551  {
5552#line 83
5553  if (ldv_mutex == 1) {
5554
5555  } else {
5556    {
5557#line 83
5558    ldv_blast_assert();
5559    }
5560  }
5561  {
5562#line 86
5563  atomic_value_after_dec = __VERIFIER_nondet_int();
5564  }
5565#line 89
5566  if (atomic_value_after_dec == 0) {
5567#line 92
5568    ldv_mutex = 2;
5569#line 94
5570    return (1);
5571  } else {
5572
5573  }
5574#line 98
5575  return (0);
5576}
5577}
5578#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5579void mutex_lock(struct mutex *lock ) 
5580{ 
5581
5582  {
5583#line 108
5584  if (ldv_mutex == 1) {
5585
5586  } else {
5587    {
5588#line 108
5589    ldv_blast_assert();
5590    }
5591  }
5592#line 110
5593  ldv_mutex = 2;
5594#line 111
5595  return;
5596}
5597}
5598#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5599int mutex_trylock(struct mutex *lock ) 
5600{ int nondetermined ;
5601
5602  {
5603#line 121
5604  if (ldv_mutex == 1) {
5605
5606  } else {
5607    {
5608#line 121
5609    ldv_blast_assert();
5610    }
5611  }
5612  {
5613#line 124
5614  nondetermined = __VERIFIER_nondet_int();
5615  }
5616#line 127
5617  if (nondetermined) {
5618#line 130
5619    ldv_mutex = 2;
5620#line 132
5621    return (1);
5622  } else {
5623#line 137
5624    return (0);
5625  }
5626}
5627}
5628#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5629void mutex_unlock(struct mutex *lock ) 
5630{ 
5631
5632  {
5633#line 147
5634  if (ldv_mutex == 2) {
5635
5636  } else {
5637    {
5638#line 147
5639    ldv_blast_assert();
5640    }
5641  }
5642#line 149
5643  ldv_mutex = 1;
5644#line 150
5645  return;
5646}
5647}
5648#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5649void ldv_check_final_state(void) 
5650{ 
5651
5652  {
5653#line 156
5654  if (ldv_mutex == 1) {
5655
5656  } else {
5657    {
5658#line 156
5659    ldv_blast_assert();
5660    }
5661  }
5662#line 157
5663  return;
5664}
5665}
5666#line 755 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/250/dscv_tempdir/dscv/ri/32_1/drivers/i2c/algos/i2c-algo-pca.c.common.c"
5667long s__builtin_expect(long val , long res ) 
5668{ 
5669
5670  {
5671#line 756
5672  return (val);
5673}
5674}