Showing error 891

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--i2c--i2c-smbus.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4121
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 48 "include/asm-generic/int-ll64.h"
  21typedef int s32;
  22#line 49 "include/asm-generic/int-ll64.h"
  23typedef unsigned int u32;
  24#line 51 "include/asm-generic/int-ll64.h"
  25typedef long long s64;
  26#line 52 "include/asm-generic/int-ll64.h"
  27typedef unsigned long long u64;
  28#line 14 "include/asm-generic/posix_types.h"
  29typedef long __kernel_long_t;
  30#line 15 "include/asm-generic/posix_types.h"
  31typedef unsigned long __kernel_ulong_t;
  32#line 31 "include/asm-generic/posix_types.h"
  33typedef int __kernel_pid_t;
  34#line 52 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_uid32_t;
  36#line 53 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_gid32_t;
  38#line 75 "include/asm-generic/posix_types.h"
  39typedef __kernel_ulong_t __kernel_size_t;
  40#line 76 "include/asm-generic/posix_types.h"
  41typedef __kernel_long_t __kernel_ssize_t;
  42#line 91 "include/asm-generic/posix_types.h"
  43typedef long long __kernel_loff_t;
  44#line 92 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_time_t;
  46#line 93 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_clock_t;
  48#line 94 "include/asm-generic/posix_types.h"
  49typedef int __kernel_timer_t;
  50#line 95 "include/asm-generic/posix_types.h"
  51typedef int __kernel_clockid_t;
  52#line 21 "include/linux/types.h"
  53typedef __u32 __kernel_dev_t;
  54#line 24 "include/linux/types.h"
  55typedef __kernel_dev_t dev_t;
  56#line 27 "include/linux/types.h"
  57typedef unsigned short umode_t;
  58#line 30 "include/linux/types.h"
  59typedef __kernel_pid_t pid_t;
  60#line 35 "include/linux/types.h"
  61typedef __kernel_clockid_t clockid_t;
  62#line 38 "include/linux/types.h"
  63typedef _Bool bool;
  64#line 40 "include/linux/types.h"
  65typedef __kernel_uid32_t uid_t;
  66#line 41 "include/linux/types.h"
  67typedef __kernel_gid32_t gid_t;
  68#line 54 "include/linux/types.h"
  69typedef __kernel_loff_t loff_t;
  70#line 63 "include/linux/types.h"
  71typedef __kernel_size_t size_t;
  72#line 68 "include/linux/types.h"
  73typedef __kernel_ssize_t ssize_t;
  74#line 78 "include/linux/types.h"
  75typedef __kernel_time_t time_t;
  76#line 111 "include/linux/types.h"
  77typedef __s32 int32_t;
  78#line 117 "include/linux/types.h"
  79typedef __u32 uint32_t;
  80#line 202 "include/linux/types.h"
  81typedef unsigned int gfp_t;
  82#line 221 "include/linux/types.h"
  83struct __anonstruct_atomic_t_6 {
  84   int counter ;
  85};
  86#line 221 "include/linux/types.h"
  87typedef struct __anonstruct_atomic_t_6 atomic_t;
  88#line 226 "include/linux/types.h"
  89struct __anonstruct_atomic64_t_7 {
  90   long counter ;
  91};
  92#line 226 "include/linux/types.h"
  93typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  94#line 227 "include/linux/types.h"
  95struct list_head {
  96   struct list_head *next ;
  97   struct list_head *prev ;
  98};
  99#line 232
 100struct hlist_node;
 101#line 232 "include/linux/types.h"
 102struct hlist_head {
 103   struct hlist_node *first ;
 104};
 105#line 236 "include/linux/types.h"
 106struct hlist_node {
 107   struct hlist_node *next ;
 108   struct hlist_node **pprev ;
 109};
 110#line 247 "include/linux/types.h"
 111struct rcu_head {
 112   struct rcu_head *next ;
 113   void (*func)(struct rcu_head * ) ;
 114};
 115#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 116struct module;
 117#line 55
 118struct module;
 119#line 146 "include/linux/init.h"
 120typedef void (*ctor_fn_t)(void);
 121#line 305 "include/linux/printk.h"
 122struct _ddebug {
 123   char const   *modname ;
 124   char const   *function ;
 125   char const   *filename ;
 126   char const   *format ;
 127   unsigned int lineno : 18 ;
 128   unsigned char flags ;
 129};
 130#line 46 "include/linux/dynamic_debug.h"
 131struct device;
 132#line 46
 133struct device;
 134#line 57
 135struct completion;
 136#line 57
 137struct completion;
 138#line 58
 139struct pt_regs;
 140#line 58
 141struct pt_regs;
 142#line 348 "include/linux/kernel.h"
 143struct pid;
 144#line 348
 145struct pid;
 146#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 147struct timespec;
 148#line 112
 149struct timespec;
 150#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 151struct page;
 152#line 58
 153struct page;
 154#line 26 "include/asm-generic/getorder.h"
 155struct task_struct;
 156#line 26
 157struct task_struct;
 158#line 28
 159struct mm_struct;
 160#line 28
 161struct mm_struct;
 162#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 163struct pt_regs {
 164   unsigned long r15 ;
 165   unsigned long r14 ;
 166   unsigned long r13 ;
 167   unsigned long r12 ;
 168   unsigned long bp ;
 169   unsigned long bx ;
 170   unsigned long r11 ;
 171   unsigned long r10 ;
 172   unsigned long r9 ;
 173   unsigned long r8 ;
 174   unsigned long ax ;
 175   unsigned long cx ;
 176   unsigned long dx ;
 177   unsigned long si ;
 178   unsigned long di ;
 179   unsigned long orig_ax ;
 180   unsigned long ip ;
 181   unsigned long cs ;
 182   unsigned long flags ;
 183   unsigned long sp ;
 184   unsigned long ss ;
 185};
 186#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 187struct __anonstruct_ldv_2180_13 {
 188   unsigned int a ;
 189   unsigned int b ;
 190};
 191#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 192struct __anonstruct_ldv_2195_14 {
 193   u16 limit0 ;
 194   u16 base0 ;
 195   unsigned char base1 ;
 196   unsigned char type : 4 ;
 197   unsigned char s : 1 ;
 198   unsigned char dpl : 2 ;
 199   unsigned char p : 1 ;
 200   unsigned char limit : 4 ;
 201   unsigned char avl : 1 ;
 202   unsigned char l : 1 ;
 203   unsigned char d : 1 ;
 204   unsigned char g : 1 ;
 205   unsigned char base2 ;
 206};
 207#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 208union __anonunion_ldv_2196_12 {
 209   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 210   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 211};
 212#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 213struct desc_struct {
 214   union __anonunion_ldv_2196_12 ldv_2196 ;
 215};
 216#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 217typedef unsigned long pgdval_t;
 218#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 219typedef unsigned long pgprotval_t;
 220#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 221struct pgprot {
 222   pgprotval_t pgprot ;
 223};
 224#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 225typedef struct pgprot pgprot_t;
 226#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 227struct __anonstruct_pgd_t_16 {
 228   pgdval_t pgd ;
 229};
 230#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 231typedef struct __anonstruct_pgd_t_16 pgd_t;
 232#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 233typedef struct page *pgtable_t;
 234#line 290
 235struct file;
 236#line 290
 237struct file;
 238#line 337
 239struct thread_struct;
 240#line 337
 241struct thread_struct;
 242#line 339
 243struct cpumask;
 244#line 339
 245struct cpumask;
 246#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 247struct arch_spinlock;
 248#line 327
 249struct arch_spinlock;
 250#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 251struct kernel_vm86_regs {
 252   struct pt_regs pt ;
 253   unsigned short es ;
 254   unsigned short __esh ;
 255   unsigned short ds ;
 256   unsigned short __dsh ;
 257   unsigned short fs ;
 258   unsigned short __fsh ;
 259   unsigned short gs ;
 260   unsigned short __gsh ;
 261};
 262#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 263union __anonunion_ldv_2824_19 {
 264   struct pt_regs *regs ;
 265   struct kernel_vm86_regs *vm86 ;
 266};
 267#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 268struct math_emu_info {
 269   long ___orig_eip ;
 270   union __anonunion_ldv_2824_19 ldv_2824 ;
 271};
 272#line 306 "include/linux/bitmap.h"
 273struct bug_entry {
 274   int bug_addr_disp ;
 275   int file_disp ;
 276   unsigned short line ;
 277   unsigned short flags ;
 278};
 279#line 89 "include/linux/bug.h"
 280struct cpumask {
 281   unsigned long bits[64U] ;
 282};
 283#line 14 "include/linux/cpumask.h"
 284typedef struct cpumask cpumask_t;
 285#line 637 "include/linux/cpumask.h"
 286typedef struct cpumask *cpumask_var_t;
 287#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 288struct static_key;
 289#line 234
 290struct static_key;
 291#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 292struct i387_fsave_struct {
 293   u32 cwd ;
 294   u32 swd ;
 295   u32 twd ;
 296   u32 fip ;
 297   u32 fcs ;
 298   u32 foo ;
 299   u32 fos ;
 300   u32 st_space[20U] ;
 301   u32 status ;
 302};
 303#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 304struct __anonstruct_ldv_5180_24 {
 305   u64 rip ;
 306   u64 rdp ;
 307};
 308#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 309struct __anonstruct_ldv_5186_25 {
 310   u32 fip ;
 311   u32 fcs ;
 312   u32 foo ;
 313   u32 fos ;
 314};
 315#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 316union __anonunion_ldv_5187_23 {
 317   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 318   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 319};
 320#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 321union __anonunion_ldv_5196_26 {
 322   u32 padding1[12U] ;
 323   u32 sw_reserved[12U] ;
 324};
 325#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 326struct i387_fxsave_struct {
 327   u16 cwd ;
 328   u16 swd ;
 329   u16 twd ;
 330   u16 fop ;
 331   union __anonunion_ldv_5187_23 ldv_5187 ;
 332   u32 mxcsr ;
 333   u32 mxcsr_mask ;
 334   u32 st_space[32U] ;
 335   u32 xmm_space[64U] ;
 336   u32 padding[12U] ;
 337   union __anonunion_ldv_5196_26 ldv_5196 ;
 338};
 339#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340struct i387_soft_struct {
 341   u32 cwd ;
 342   u32 swd ;
 343   u32 twd ;
 344   u32 fip ;
 345   u32 fcs ;
 346   u32 foo ;
 347   u32 fos ;
 348   u32 st_space[20U] ;
 349   u8 ftop ;
 350   u8 changed ;
 351   u8 lookahead ;
 352   u8 no_update ;
 353   u8 rm ;
 354   u8 alimit ;
 355   struct math_emu_info *info ;
 356   u32 entry_eip ;
 357};
 358#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 359struct ymmh_struct {
 360   u32 ymmh_space[64U] ;
 361};
 362#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 363struct xsave_hdr_struct {
 364   u64 xstate_bv ;
 365   u64 reserved1[2U] ;
 366   u64 reserved2[5U] ;
 367};
 368#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 369struct xsave_struct {
 370   struct i387_fxsave_struct i387 ;
 371   struct xsave_hdr_struct xsave_hdr ;
 372   struct ymmh_struct ymmh ;
 373};
 374#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 375union thread_xstate {
 376   struct i387_fsave_struct fsave ;
 377   struct i387_fxsave_struct fxsave ;
 378   struct i387_soft_struct soft ;
 379   struct xsave_struct xsave ;
 380};
 381#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 382struct fpu {
 383   unsigned int last_cpu ;
 384   unsigned int has_fpu ;
 385   union thread_xstate *state ;
 386};
 387#line 433
 388struct kmem_cache;
 389#line 434
 390struct perf_event;
 391#line 434
 392struct perf_event;
 393#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394struct thread_struct {
 395   struct desc_struct tls_array[3U] ;
 396   unsigned long sp0 ;
 397   unsigned long sp ;
 398   unsigned long usersp ;
 399   unsigned short es ;
 400   unsigned short ds ;
 401   unsigned short fsindex ;
 402   unsigned short gsindex ;
 403   unsigned long fs ;
 404   unsigned long gs ;
 405   struct perf_event *ptrace_bps[4U] ;
 406   unsigned long debugreg6 ;
 407   unsigned long ptrace_dr7 ;
 408   unsigned long cr2 ;
 409   unsigned long trap_nr ;
 410   unsigned long error_code ;
 411   struct fpu fpu ;
 412   unsigned long *io_bitmap_ptr ;
 413   unsigned long iopl ;
 414   unsigned int io_bitmap_max ;
 415};
 416#line 23 "include/asm-generic/atomic-long.h"
 417typedef atomic64_t atomic_long_t;
 418#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 419typedef u16 __ticket_t;
 420#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 421typedef u32 __ticketpair_t;
 422#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 423struct __raw_tickets {
 424   __ticket_t head ;
 425   __ticket_t tail ;
 426};
 427#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 428union __anonunion_ldv_5907_29 {
 429   __ticketpair_t head_tail ;
 430   struct __raw_tickets tickets ;
 431};
 432#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 433struct arch_spinlock {
 434   union __anonunion_ldv_5907_29 ldv_5907 ;
 435};
 436#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 437typedef struct arch_spinlock arch_spinlock_t;
 438#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 439struct lockdep_map;
 440#line 34
 441struct lockdep_map;
 442#line 55 "include/linux/debug_locks.h"
 443struct stack_trace {
 444   unsigned int nr_entries ;
 445   unsigned int max_entries ;
 446   unsigned long *entries ;
 447   int skip ;
 448};
 449#line 26 "include/linux/stacktrace.h"
 450struct lockdep_subclass_key {
 451   char __one_byte ;
 452};
 453#line 53 "include/linux/lockdep.h"
 454struct lock_class_key {
 455   struct lockdep_subclass_key subkeys[8U] ;
 456};
 457#line 59 "include/linux/lockdep.h"
 458struct lock_class {
 459   struct list_head hash_entry ;
 460   struct list_head lock_entry ;
 461   struct lockdep_subclass_key *key ;
 462   unsigned int subclass ;
 463   unsigned int dep_gen_id ;
 464   unsigned long usage_mask ;
 465   struct stack_trace usage_traces[13U] ;
 466   struct list_head locks_after ;
 467   struct list_head locks_before ;
 468   unsigned int version ;
 469   unsigned long ops ;
 470   char const   *name ;
 471   int name_version ;
 472   unsigned long contention_point[4U] ;
 473   unsigned long contending_point[4U] ;
 474};
 475#line 144 "include/linux/lockdep.h"
 476struct lockdep_map {
 477   struct lock_class_key *key ;
 478   struct lock_class *class_cache[2U] ;
 479   char const   *name ;
 480   int cpu ;
 481   unsigned long ip ;
 482};
 483#line 187 "include/linux/lockdep.h"
 484struct held_lock {
 485   u64 prev_chain_key ;
 486   unsigned long acquire_ip ;
 487   struct lockdep_map *instance ;
 488   struct lockdep_map *nest_lock ;
 489   u64 waittime_stamp ;
 490   u64 holdtime_stamp ;
 491   unsigned short class_idx : 13 ;
 492   unsigned char irq_context : 2 ;
 493   unsigned char trylock : 1 ;
 494   unsigned char read : 2 ;
 495   unsigned char check : 2 ;
 496   unsigned char hardirqs_off : 1 ;
 497   unsigned short references : 11 ;
 498};
 499#line 556 "include/linux/lockdep.h"
 500struct raw_spinlock {
 501   arch_spinlock_t raw_lock ;
 502   unsigned int magic ;
 503   unsigned int owner_cpu ;
 504   void *owner ;
 505   struct lockdep_map dep_map ;
 506};
 507#line 32 "include/linux/spinlock_types.h"
 508typedef struct raw_spinlock raw_spinlock_t;
 509#line 33 "include/linux/spinlock_types.h"
 510struct __anonstruct_ldv_6122_33 {
 511   u8 __padding[24U] ;
 512   struct lockdep_map dep_map ;
 513};
 514#line 33 "include/linux/spinlock_types.h"
 515union __anonunion_ldv_6123_32 {
 516   struct raw_spinlock rlock ;
 517   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 518};
 519#line 33 "include/linux/spinlock_types.h"
 520struct spinlock {
 521   union __anonunion_ldv_6123_32 ldv_6123 ;
 522};
 523#line 76 "include/linux/spinlock_types.h"
 524typedef struct spinlock spinlock_t;
 525#line 110 "include/linux/seqlock.h"
 526struct seqcount {
 527   unsigned int sequence ;
 528};
 529#line 121 "include/linux/seqlock.h"
 530typedef struct seqcount seqcount_t;
 531#line 254 "include/linux/seqlock.h"
 532struct timespec {
 533   __kernel_time_t tv_sec ;
 534   long tv_nsec ;
 535};
 536#line 48 "include/linux/wait.h"
 537struct __wait_queue_head {
 538   spinlock_t lock ;
 539   struct list_head task_list ;
 540};
 541#line 53 "include/linux/wait.h"
 542typedef struct __wait_queue_head wait_queue_head_t;
 543#line 98 "include/linux/nodemask.h"
 544struct __anonstruct_nodemask_t_36 {
 545   unsigned long bits[16U] ;
 546};
 547#line 98 "include/linux/nodemask.h"
 548typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 549#line 670 "include/linux/mmzone.h"
 550struct mutex {
 551   atomic_t count ;
 552   spinlock_t wait_lock ;
 553   struct list_head wait_list ;
 554   struct task_struct *owner ;
 555   char const   *name ;
 556   void *magic ;
 557   struct lockdep_map dep_map ;
 558};
 559#line 63 "include/linux/mutex.h"
 560struct mutex_waiter {
 561   struct list_head list ;
 562   struct task_struct *task ;
 563   void *magic ;
 564};
 565#line 171
 566struct rw_semaphore;
 567#line 171
 568struct rw_semaphore;
 569#line 172 "include/linux/mutex.h"
 570struct rw_semaphore {
 571   long count ;
 572   raw_spinlock_t wait_lock ;
 573   struct list_head wait_list ;
 574   struct lockdep_map dep_map ;
 575};
 576#line 128 "include/linux/rwsem.h"
 577struct completion {
 578   unsigned int done ;
 579   wait_queue_head_t wait ;
 580};
 581#line 312 "include/linux/jiffies.h"
 582union ktime {
 583   s64 tv64 ;
 584};
 585#line 59 "include/linux/ktime.h"
 586typedef union ktime ktime_t;
 587#line 341
 588struct tvec_base;
 589#line 341
 590struct tvec_base;
 591#line 342 "include/linux/ktime.h"
 592struct timer_list {
 593   struct list_head entry ;
 594   unsigned long expires ;
 595   struct tvec_base *base ;
 596   void (*function)(unsigned long  ) ;
 597   unsigned long data ;
 598   int slack ;
 599   int start_pid ;
 600   void *start_site ;
 601   char start_comm[16U] ;
 602   struct lockdep_map lockdep_map ;
 603};
 604#line 289 "include/linux/timer.h"
 605struct hrtimer;
 606#line 289
 607struct hrtimer;
 608#line 290
 609enum hrtimer_restart;
 610#line 302
 611struct work_struct;
 612#line 302
 613struct work_struct;
 614#line 45 "include/linux/workqueue.h"
 615struct work_struct {
 616   atomic_long_t data ;
 617   struct list_head entry ;
 618   void (*func)(struct work_struct * ) ;
 619   struct lockdep_map lockdep_map ;
 620};
 621#line 46 "include/linux/pm.h"
 622struct pm_message {
 623   int event ;
 624};
 625#line 52 "include/linux/pm.h"
 626typedef struct pm_message pm_message_t;
 627#line 53 "include/linux/pm.h"
 628struct dev_pm_ops {
 629   int (*prepare)(struct device * ) ;
 630   void (*complete)(struct device * ) ;
 631   int (*suspend)(struct device * ) ;
 632   int (*resume)(struct device * ) ;
 633   int (*freeze)(struct device * ) ;
 634   int (*thaw)(struct device * ) ;
 635   int (*poweroff)(struct device * ) ;
 636   int (*restore)(struct device * ) ;
 637   int (*suspend_late)(struct device * ) ;
 638   int (*resume_early)(struct device * ) ;
 639   int (*freeze_late)(struct device * ) ;
 640   int (*thaw_early)(struct device * ) ;
 641   int (*poweroff_late)(struct device * ) ;
 642   int (*restore_early)(struct device * ) ;
 643   int (*suspend_noirq)(struct device * ) ;
 644   int (*resume_noirq)(struct device * ) ;
 645   int (*freeze_noirq)(struct device * ) ;
 646   int (*thaw_noirq)(struct device * ) ;
 647   int (*poweroff_noirq)(struct device * ) ;
 648   int (*restore_noirq)(struct device * ) ;
 649   int (*runtime_suspend)(struct device * ) ;
 650   int (*runtime_resume)(struct device * ) ;
 651   int (*runtime_idle)(struct device * ) ;
 652};
 653#line 289
 654enum rpm_status {
 655    RPM_ACTIVE = 0,
 656    RPM_RESUMING = 1,
 657    RPM_SUSPENDED = 2,
 658    RPM_SUSPENDING = 3
 659} ;
 660#line 296
 661enum rpm_request {
 662    RPM_REQ_NONE = 0,
 663    RPM_REQ_IDLE = 1,
 664    RPM_REQ_SUSPEND = 2,
 665    RPM_REQ_AUTOSUSPEND = 3,
 666    RPM_REQ_RESUME = 4
 667} ;
 668#line 304
 669struct wakeup_source;
 670#line 304
 671struct wakeup_source;
 672#line 494 "include/linux/pm.h"
 673struct pm_subsys_data {
 674   spinlock_t lock ;
 675   unsigned int refcount ;
 676};
 677#line 499
 678struct dev_pm_qos_request;
 679#line 499
 680struct pm_qos_constraints;
 681#line 499 "include/linux/pm.h"
 682struct dev_pm_info {
 683   pm_message_t power_state ;
 684   unsigned char can_wakeup : 1 ;
 685   unsigned char async_suspend : 1 ;
 686   bool is_prepared ;
 687   bool is_suspended ;
 688   bool ignore_children ;
 689   spinlock_t lock ;
 690   struct list_head entry ;
 691   struct completion completion ;
 692   struct wakeup_source *wakeup ;
 693   bool wakeup_path ;
 694   struct timer_list suspend_timer ;
 695   unsigned long timer_expires ;
 696   struct work_struct work ;
 697   wait_queue_head_t wait_queue ;
 698   atomic_t usage_count ;
 699   atomic_t child_count ;
 700   unsigned char disable_depth : 3 ;
 701   unsigned char idle_notification : 1 ;
 702   unsigned char request_pending : 1 ;
 703   unsigned char deferred_resume : 1 ;
 704   unsigned char run_wake : 1 ;
 705   unsigned char runtime_auto : 1 ;
 706   unsigned char no_callbacks : 1 ;
 707   unsigned char irq_safe : 1 ;
 708   unsigned char use_autosuspend : 1 ;
 709   unsigned char timer_autosuspends : 1 ;
 710   enum rpm_request request ;
 711   enum rpm_status runtime_status ;
 712   int runtime_error ;
 713   int autosuspend_delay ;
 714   unsigned long last_busy ;
 715   unsigned long active_jiffies ;
 716   unsigned long suspended_jiffies ;
 717   unsigned long accounting_timestamp ;
 718   ktime_t suspend_time ;
 719   s64 max_time_suspended_ns ;
 720   struct dev_pm_qos_request *pq_req ;
 721   struct pm_subsys_data *subsys_data ;
 722   struct pm_qos_constraints *constraints ;
 723};
 724#line 558 "include/linux/pm.h"
 725struct dev_pm_domain {
 726   struct dev_pm_ops ops ;
 727};
 728#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 729struct __anonstruct_mm_context_t_101 {
 730   void *ldt ;
 731   int size ;
 732   unsigned short ia32_compat ;
 733   struct mutex lock ;
 734   void *vdso ;
 735};
 736#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 737typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 738#line 18 "include/asm-generic/pci_iomap.h"
 739struct vm_area_struct;
 740#line 18
 741struct vm_area_struct;
 742#line 835 "include/linux/sysctl.h"
 743struct rb_node {
 744   unsigned long rb_parent_color ;
 745   struct rb_node *rb_right ;
 746   struct rb_node *rb_left ;
 747};
 748#line 108 "include/linux/rbtree.h"
 749struct rb_root {
 750   struct rb_node *rb_node ;
 751};
 752#line 176
 753struct nsproxy;
 754#line 176
 755struct nsproxy;
 756#line 37 "include/linux/kmod.h"
 757struct cred;
 758#line 37
 759struct cred;
 760#line 18 "include/linux/elf.h"
 761typedef __u64 Elf64_Addr;
 762#line 19 "include/linux/elf.h"
 763typedef __u16 Elf64_Half;
 764#line 23 "include/linux/elf.h"
 765typedef __u32 Elf64_Word;
 766#line 24 "include/linux/elf.h"
 767typedef __u64 Elf64_Xword;
 768#line 193 "include/linux/elf.h"
 769struct elf64_sym {
 770   Elf64_Word st_name ;
 771   unsigned char st_info ;
 772   unsigned char st_other ;
 773   Elf64_Half st_shndx ;
 774   Elf64_Addr st_value ;
 775   Elf64_Xword st_size ;
 776};
 777#line 201 "include/linux/elf.h"
 778typedef struct elf64_sym Elf64_Sym;
 779#line 445
 780struct sock;
 781#line 445
 782struct sock;
 783#line 446
 784struct kobject;
 785#line 446
 786struct kobject;
 787#line 447
 788enum kobj_ns_type {
 789    KOBJ_NS_TYPE_NONE = 0,
 790    KOBJ_NS_TYPE_NET = 1,
 791    KOBJ_NS_TYPES = 2
 792} ;
 793#line 453 "include/linux/elf.h"
 794struct kobj_ns_type_operations {
 795   enum kobj_ns_type type ;
 796   void *(*grab_current_ns)(void) ;
 797   void const   *(*netlink_ns)(struct sock * ) ;
 798   void const   *(*initial_ns)(void) ;
 799   void (*drop_ns)(void * ) ;
 800};
 801#line 57 "include/linux/kobject_ns.h"
 802struct attribute {
 803   char const   *name ;
 804   umode_t mode ;
 805   struct lock_class_key *key ;
 806   struct lock_class_key skey ;
 807};
 808#line 33 "include/linux/sysfs.h"
 809struct attribute_group {
 810   char const   *name ;
 811   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 812   struct attribute **attrs ;
 813};
 814#line 62 "include/linux/sysfs.h"
 815struct bin_attribute {
 816   struct attribute attr ;
 817   size_t size ;
 818   void *private ;
 819   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 820                   loff_t  , size_t  ) ;
 821   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 822                    loff_t  , size_t  ) ;
 823   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 824};
 825#line 98 "include/linux/sysfs.h"
 826struct sysfs_ops {
 827   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 828   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 829   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 830};
 831#line 117
 832struct sysfs_dirent;
 833#line 117
 834struct sysfs_dirent;
 835#line 182 "include/linux/sysfs.h"
 836struct kref {
 837   atomic_t refcount ;
 838};
 839#line 49 "include/linux/kobject.h"
 840struct kset;
 841#line 49
 842struct kobj_type;
 843#line 49 "include/linux/kobject.h"
 844struct kobject {
 845   char const   *name ;
 846   struct list_head entry ;
 847   struct kobject *parent ;
 848   struct kset *kset ;
 849   struct kobj_type *ktype ;
 850   struct sysfs_dirent *sd ;
 851   struct kref kref ;
 852   unsigned char state_initialized : 1 ;
 853   unsigned char state_in_sysfs : 1 ;
 854   unsigned char state_add_uevent_sent : 1 ;
 855   unsigned char state_remove_uevent_sent : 1 ;
 856   unsigned char uevent_suppress : 1 ;
 857};
 858#line 107 "include/linux/kobject.h"
 859struct kobj_type {
 860   void (*release)(struct kobject * ) ;
 861   struct sysfs_ops  const  *sysfs_ops ;
 862   struct attribute **default_attrs ;
 863   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 864   void const   *(*namespace)(struct kobject * ) ;
 865};
 866#line 115 "include/linux/kobject.h"
 867struct kobj_uevent_env {
 868   char *envp[32U] ;
 869   int envp_idx ;
 870   char buf[2048U] ;
 871   int buflen ;
 872};
 873#line 122 "include/linux/kobject.h"
 874struct kset_uevent_ops {
 875   int (* const  filter)(struct kset * , struct kobject * ) ;
 876   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 877   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 878};
 879#line 139 "include/linux/kobject.h"
 880struct kset {
 881   struct list_head list ;
 882   spinlock_t list_lock ;
 883   struct kobject kobj ;
 884   struct kset_uevent_ops  const  *uevent_ops ;
 885};
 886#line 215
 887struct kernel_param;
 888#line 215
 889struct kernel_param;
 890#line 216 "include/linux/kobject.h"
 891struct kernel_param_ops {
 892   int (*set)(char const   * , struct kernel_param  const  * ) ;
 893   int (*get)(char * , struct kernel_param  const  * ) ;
 894   void (*free)(void * ) ;
 895};
 896#line 49 "include/linux/moduleparam.h"
 897struct kparam_string;
 898#line 49
 899struct kparam_array;
 900#line 49 "include/linux/moduleparam.h"
 901union __anonunion_ldv_13363_134 {
 902   void *arg ;
 903   struct kparam_string  const  *str ;
 904   struct kparam_array  const  *arr ;
 905};
 906#line 49 "include/linux/moduleparam.h"
 907struct kernel_param {
 908   char const   *name ;
 909   struct kernel_param_ops  const  *ops ;
 910   u16 perm ;
 911   s16 level ;
 912   union __anonunion_ldv_13363_134 ldv_13363 ;
 913};
 914#line 61 "include/linux/moduleparam.h"
 915struct kparam_string {
 916   unsigned int maxlen ;
 917   char *string ;
 918};
 919#line 67 "include/linux/moduleparam.h"
 920struct kparam_array {
 921   unsigned int max ;
 922   unsigned int elemsize ;
 923   unsigned int *num ;
 924   struct kernel_param_ops  const  *ops ;
 925   void *elem ;
 926};
 927#line 458 "include/linux/moduleparam.h"
 928struct static_key {
 929   atomic_t enabled ;
 930};
 931#line 225 "include/linux/jump_label.h"
 932struct tracepoint;
 933#line 225
 934struct tracepoint;
 935#line 226 "include/linux/jump_label.h"
 936struct tracepoint_func {
 937   void *func ;
 938   void *data ;
 939};
 940#line 29 "include/linux/tracepoint.h"
 941struct tracepoint {
 942   char const   *name ;
 943   struct static_key key ;
 944   void (*regfunc)(void) ;
 945   void (*unregfunc)(void) ;
 946   struct tracepoint_func *funcs ;
 947};
 948#line 86 "include/linux/tracepoint.h"
 949struct kernel_symbol {
 950   unsigned long value ;
 951   char const   *name ;
 952};
 953#line 27 "include/linux/export.h"
 954struct mod_arch_specific {
 955
 956};
 957#line 34 "include/linux/module.h"
 958struct module_param_attrs;
 959#line 34 "include/linux/module.h"
 960struct module_kobject {
 961   struct kobject kobj ;
 962   struct module *mod ;
 963   struct kobject *drivers_dir ;
 964   struct module_param_attrs *mp ;
 965};
 966#line 43 "include/linux/module.h"
 967struct module_attribute {
 968   struct attribute attr ;
 969   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 970   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 971                    size_t  ) ;
 972   void (*setup)(struct module * , char const   * ) ;
 973   int (*test)(struct module * ) ;
 974   void (*free)(struct module * ) ;
 975};
 976#line 69
 977struct exception_table_entry;
 978#line 69
 979struct exception_table_entry;
 980#line 198
 981enum module_state {
 982    MODULE_STATE_LIVE = 0,
 983    MODULE_STATE_COMING = 1,
 984    MODULE_STATE_GOING = 2
 985} ;
 986#line 204 "include/linux/module.h"
 987struct module_ref {
 988   unsigned long incs ;
 989   unsigned long decs ;
 990};
 991#line 219
 992struct module_sect_attrs;
 993#line 219
 994struct module_notes_attrs;
 995#line 219
 996struct ftrace_event_call;
 997#line 219 "include/linux/module.h"
 998struct module {
 999   enum module_state state ;
1000   struct list_head list ;
1001   char name[56U] ;
1002   struct module_kobject mkobj ;
1003   struct module_attribute *modinfo_attrs ;
1004   char const   *version ;
1005   char const   *srcversion ;
1006   struct kobject *holders_dir ;
1007   struct kernel_symbol  const  *syms ;
1008   unsigned long const   *crcs ;
1009   unsigned int num_syms ;
1010   struct kernel_param *kp ;
1011   unsigned int num_kp ;
1012   unsigned int num_gpl_syms ;
1013   struct kernel_symbol  const  *gpl_syms ;
1014   unsigned long const   *gpl_crcs ;
1015   struct kernel_symbol  const  *unused_syms ;
1016   unsigned long const   *unused_crcs ;
1017   unsigned int num_unused_syms ;
1018   unsigned int num_unused_gpl_syms ;
1019   struct kernel_symbol  const  *unused_gpl_syms ;
1020   unsigned long const   *unused_gpl_crcs ;
1021   struct kernel_symbol  const  *gpl_future_syms ;
1022   unsigned long const   *gpl_future_crcs ;
1023   unsigned int num_gpl_future_syms ;
1024   unsigned int num_exentries ;
1025   struct exception_table_entry *extable ;
1026   int (*init)(void) ;
1027   void *module_init ;
1028   void *module_core ;
1029   unsigned int init_size ;
1030   unsigned int core_size ;
1031   unsigned int init_text_size ;
1032   unsigned int core_text_size ;
1033   unsigned int init_ro_size ;
1034   unsigned int core_ro_size ;
1035   struct mod_arch_specific arch ;
1036   unsigned int taints ;
1037   unsigned int num_bugs ;
1038   struct list_head bug_list ;
1039   struct bug_entry *bug_table ;
1040   Elf64_Sym *symtab ;
1041   Elf64_Sym *core_symtab ;
1042   unsigned int num_symtab ;
1043   unsigned int core_num_syms ;
1044   char *strtab ;
1045   char *core_strtab ;
1046   struct module_sect_attrs *sect_attrs ;
1047   struct module_notes_attrs *notes_attrs ;
1048   char *args ;
1049   void *percpu ;
1050   unsigned int percpu_size ;
1051   unsigned int num_tracepoints ;
1052   struct tracepoint * const  *tracepoints_ptrs ;
1053   unsigned int num_trace_bprintk_fmt ;
1054   char const   **trace_bprintk_fmt_start ;
1055   struct ftrace_event_call **trace_events ;
1056   unsigned int num_trace_events ;
1057   struct list_head source_list ;
1058   struct list_head target_list ;
1059   struct task_struct *waiter ;
1060   void (*exit)(void) ;
1061   struct module_ref *refptr ;
1062   ctor_fn_t (**ctors)(void) ;
1063   unsigned int num_ctors ;
1064};
1065#line 88 "include/linux/kmemleak.h"
1066struct kmem_cache_cpu {
1067   void **freelist ;
1068   unsigned long tid ;
1069   struct page *page ;
1070   struct page *partial ;
1071   int node ;
1072   unsigned int stat[26U] ;
1073};
1074#line 55 "include/linux/slub_def.h"
1075struct kmem_cache_node {
1076   spinlock_t list_lock ;
1077   unsigned long nr_partial ;
1078   struct list_head partial ;
1079   atomic_long_t nr_slabs ;
1080   atomic_long_t total_objects ;
1081   struct list_head full ;
1082};
1083#line 66 "include/linux/slub_def.h"
1084struct kmem_cache_order_objects {
1085   unsigned long x ;
1086};
1087#line 76 "include/linux/slub_def.h"
1088struct kmem_cache {
1089   struct kmem_cache_cpu *cpu_slab ;
1090   unsigned long flags ;
1091   unsigned long min_partial ;
1092   int size ;
1093   int objsize ;
1094   int offset ;
1095   int cpu_partial ;
1096   struct kmem_cache_order_objects oo ;
1097   struct kmem_cache_order_objects max ;
1098   struct kmem_cache_order_objects min ;
1099   gfp_t allocflags ;
1100   int refcount ;
1101   void (*ctor)(void * ) ;
1102   int inuse ;
1103   int align ;
1104   int reserved ;
1105   char const   *name ;
1106   struct list_head list ;
1107   struct kobject kobj ;
1108   int remote_node_defrag_ratio ;
1109   struct kmem_cache_node *node[1024U] ;
1110};
1111#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
1112struct klist_node;
1113#line 15
1114struct klist_node;
1115#line 37 "include/linux/klist.h"
1116struct klist_node {
1117   void *n_klist ;
1118   struct list_head n_node ;
1119   struct kref n_ref ;
1120};
1121#line 67
1122struct dma_map_ops;
1123#line 67 "include/linux/klist.h"
1124struct dev_archdata {
1125   void *acpi_handle ;
1126   struct dma_map_ops *dma_ops ;
1127   void *iommu ;
1128};
1129#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1130struct device_private;
1131#line 17
1132struct device_private;
1133#line 18
1134struct device_driver;
1135#line 18
1136struct device_driver;
1137#line 19
1138struct driver_private;
1139#line 19
1140struct driver_private;
1141#line 20
1142struct class;
1143#line 20
1144struct class;
1145#line 21
1146struct subsys_private;
1147#line 21
1148struct subsys_private;
1149#line 22
1150struct bus_type;
1151#line 22
1152struct bus_type;
1153#line 23
1154struct device_node;
1155#line 23
1156struct device_node;
1157#line 24
1158struct iommu_ops;
1159#line 24
1160struct iommu_ops;
1161#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1162struct bus_attribute {
1163   struct attribute attr ;
1164   ssize_t (*show)(struct bus_type * , char * ) ;
1165   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1166};
1167#line 51 "include/linux/device.h"
1168struct device_attribute;
1169#line 51
1170struct driver_attribute;
1171#line 51 "include/linux/device.h"
1172struct bus_type {
1173   char const   *name ;
1174   char const   *dev_name ;
1175   struct device *dev_root ;
1176   struct bus_attribute *bus_attrs ;
1177   struct device_attribute *dev_attrs ;
1178   struct driver_attribute *drv_attrs ;
1179   int (*match)(struct device * , struct device_driver * ) ;
1180   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1181   int (*probe)(struct device * ) ;
1182   int (*remove)(struct device * ) ;
1183   void (*shutdown)(struct device * ) ;
1184   int (*suspend)(struct device * , pm_message_t  ) ;
1185   int (*resume)(struct device * ) ;
1186   struct dev_pm_ops  const  *pm ;
1187   struct iommu_ops *iommu_ops ;
1188   struct subsys_private *p ;
1189};
1190#line 125
1191struct device_type;
1192#line 182
1193struct of_device_id;
1194#line 182 "include/linux/device.h"
1195struct device_driver {
1196   char const   *name ;
1197   struct bus_type *bus ;
1198   struct module *owner ;
1199   char const   *mod_name ;
1200   bool suppress_bind_attrs ;
1201   struct of_device_id  const  *of_match_table ;
1202   int (*probe)(struct device * ) ;
1203   int (*remove)(struct device * ) ;
1204   void (*shutdown)(struct device * ) ;
1205   int (*suspend)(struct device * , pm_message_t  ) ;
1206   int (*resume)(struct device * ) ;
1207   struct attribute_group  const  **groups ;
1208   struct dev_pm_ops  const  *pm ;
1209   struct driver_private *p ;
1210};
1211#line 245 "include/linux/device.h"
1212struct driver_attribute {
1213   struct attribute attr ;
1214   ssize_t (*show)(struct device_driver * , char * ) ;
1215   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1216};
1217#line 299
1218struct class_attribute;
1219#line 299 "include/linux/device.h"
1220struct class {
1221   char const   *name ;
1222   struct module *owner ;
1223   struct class_attribute *class_attrs ;
1224   struct device_attribute *dev_attrs ;
1225   struct bin_attribute *dev_bin_attrs ;
1226   struct kobject *dev_kobj ;
1227   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1228   char *(*devnode)(struct device * , umode_t * ) ;
1229   void (*class_release)(struct class * ) ;
1230   void (*dev_release)(struct device * ) ;
1231   int (*suspend)(struct device * , pm_message_t  ) ;
1232   int (*resume)(struct device * ) ;
1233   struct kobj_ns_type_operations  const  *ns_type ;
1234   void const   *(*namespace)(struct device * ) ;
1235   struct dev_pm_ops  const  *pm ;
1236   struct subsys_private *p ;
1237};
1238#line 394 "include/linux/device.h"
1239struct class_attribute {
1240   struct attribute attr ;
1241   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1242   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1243   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1244};
1245#line 447 "include/linux/device.h"
1246struct device_type {
1247   char const   *name ;
1248   struct attribute_group  const  **groups ;
1249   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1250   char *(*devnode)(struct device * , umode_t * ) ;
1251   void (*release)(struct device * ) ;
1252   struct dev_pm_ops  const  *pm ;
1253};
1254#line 474 "include/linux/device.h"
1255struct device_attribute {
1256   struct attribute attr ;
1257   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1258   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1259                    size_t  ) ;
1260};
1261#line 557 "include/linux/device.h"
1262struct device_dma_parameters {
1263   unsigned int max_segment_size ;
1264   unsigned long segment_boundary_mask ;
1265};
1266#line 567
1267struct dma_coherent_mem;
1268#line 567 "include/linux/device.h"
1269struct device {
1270   struct device *parent ;
1271   struct device_private *p ;
1272   struct kobject kobj ;
1273   char const   *init_name ;
1274   struct device_type  const  *type ;
1275   struct mutex mutex ;
1276   struct bus_type *bus ;
1277   struct device_driver *driver ;
1278   void *platform_data ;
1279   struct dev_pm_info power ;
1280   struct dev_pm_domain *pm_domain ;
1281   int numa_node ;
1282   u64 *dma_mask ;
1283   u64 coherent_dma_mask ;
1284   struct device_dma_parameters *dma_parms ;
1285   struct list_head dma_pools ;
1286   struct dma_coherent_mem *dma_mem ;
1287   struct dev_archdata archdata ;
1288   struct device_node *of_node ;
1289   dev_t devt ;
1290   u32 id ;
1291   spinlock_t devres_lock ;
1292   struct list_head devres_head ;
1293   struct klist_node knode_class ;
1294   struct class *class ;
1295   struct attribute_group  const  **groups ;
1296   void (*release)(struct device * ) ;
1297};
1298#line 681 "include/linux/device.h"
1299struct wakeup_source {
1300   char const   *name ;
1301   struct list_head entry ;
1302   spinlock_t lock ;
1303   struct timer_list timer ;
1304   unsigned long timer_expires ;
1305   ktime_t total_time ;
1306   ktime_t max_time ;
1307   ktime_t last_time ;
1308   unsigned long event_count ;
1309   unsigned long active_count ;
1310   unsigned long relax_count ;
1311   unsigned long hit_count ;
1312   unsigned char active : 1 ;
1313};
1314#line 991
1315enum irqreturn {
1316    IRQ_NONE = 0,
1317    IRQ_HANDLED = 1,
1318    IRQ_WAKE_THREAD = 2
1319} ;
1320#line 16 "include/linux/irqreturn.h"
1321typedef enum irqreturn irqreturn_t;
1322#line 348 "include/linux/irq.h"
1323struct proc_dir_entry;
1324#line 348
1325struct proc_dir_entry;
1326#line 41 "include/asm-generic/sections.h"
1327struct exception_table_entry {
1328   unsigned long insn ;
1329   unsigned long fixup ;
1330};
1331#line 189 "include/linux/hardirq.h"
1332struct timerqueue_node {
1333   struct rb_node node ;
1334   ktime_t expires ;
1335};
1336#line 12 "include/linux/timerqueue.h"
1337struct timerqueue_head {
1338   struct rb_root head ;
1339   struct timerqueue_node *next ;
1340};
1341#line 50
1342struct hrtimer_clock_base;
1343#line 50
1344struct hrtimer_clock_base;
1345#line 51
1346struct hrtimer_cpu_base;
1347#line 51
1348struct hrtimer_cpu_base;
1349#line 60
1350enum hrtimer_restart {
1351    HRTIMER_NORESTART = 0,
1352    HRTIMER_RESTART = 1
1353} ;
1354#line 65 "include/linux/timerqueue.h"
1355struct hrtimer {
1356   struct timerqueue_node node ;
1357   ktime_t _softexpires ;
1358   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1359   struct hrtimer_clock_base *base ;
1360   unsigned long state ;
1361   int start_pid ;
1362   void *start_site ;
1363   char start_comm[16U] ;
1364};
1365#line 132 "include/linux/hrtimer.h"
1366struct hrtimer_clock_base {
1367   struct hrtimer_cpu_base *cpu_base ;
1368   int index ;
1369   clockid_t clockid ;
1370   struct timerqueue_head active ;
1371   ktime_t resolution ;
1372   ktime_t (*get_time)(void) ;
1373   ktime_t softirq_time ;
1374   ktime_t offset ;
1375};
1376#line 162 "include/linux/hrtimer.h"
1377struct hrtimer_cpu_base {
1378   raw_spinlock_t lock ;
1379   unsigned long active_bases ;
1380   ktime_t expires_next ;
1381   int hres_active ;
1382   int hang_detected ;
1383   unsigned long nr_events ;
1384   unsigned long nr_retries ;
1385   unsigned long nr_hangs ;
1386   ktime_t max_hang_time ;
1387   struct hrtimer_clock_base clock_base[3U] ;
1388};
1389#line 12 "include/linux/mod_devicetable.h"
1390typedef unsigned long kernel_ulong_t;
1391#line 215 "include/linux/mod_devicetable.h"
1392struct of_device_id {
1393   char name[32U] ;
1394   char type[32U] ;
1395   char compatible[128U] ;
1396   void *data ;
1397};
1398#line 425 "include/linux/mod_devicetable.h"
1399struct i2c_device_id {
1400   char name[20U] ;
1401   kernel_ulong_t driver_data ;
1402};
1403#line 93 "include/linux/capability.h"
1404struct kernel_cap_struct {
1405   __u32 cap[2U] ;
1406};
1407#line 96 "include/linux/capability.h"
1408typedef struct kernel_cap_struct kernel_cap_t;
1409#line 105
1410struct user_namespace;
1411#line 105
1412struct user_namespace;
1413#line 554
1414struct prio_tree_node;
1415#line 554 "include/linux/capability.h"
1416struct raw_prio_tree_node {
1417   struct prio_tree_node *left ;
1418   struct prio_tree_node *right ;
1419   struct prio_tree_node *parent ;
1420};
1421#line 19 "include/linux/prio_tree.h"
1422struct prio_tree_node {
1423   struct prio_tree_node *left ;
1424   struct prio_tree_node *right ;
1425   struct prio_tree_node *parent ;
1426   unsigned long start ;
1427   unsigned long last ;
1428};
1429#line 116
1430struct address_space;
1431#line 116
1432struct address_space;
1433#line 117 "include/linux/prio_tree.h"
1434union __anonunion_ldv_16899_139 {
1435   unsigned long index ;
1436   void *freelist ;
1437};
1438#line 117 "include/linux/prio_tree.h"
1439struct __anonstruct_ldv_16909_143 {
1440   unsigned short inuse ;
1441   unsigned short objects : 15 ;
1442   unsigned char frozen : 1 ;
1443};
1444#line 117 "include/linux/prio_tree.h"
1445union __anonunion_ldv_16910_142 {
1446   atomic_t _mapcount ;
1447   struct __anonstruct_ldv_16909_143 ldv_16909 ;
1448};
1449#line 117 "include/linux/prio_tree.h"
1450struct __anonstruct_ldv_16912_141 {
1451   union __anonunion_ldv_16910_142 ldv_16910 ;
1452   atomic_t _count ;
1453};
1454#line 117 "include/linux/prio_tree.h"
1455union __anonunion_ldv_16913_140 {
1456   unsigned long counters ;
1457   struct __anonstruct_ldv_16912_141 ldv_16912 ;
1458};
1459#line 117 "include/linux/prio_tree.h"
1460struct __anonstruct_ldv_16914_138 {
1461   union __anonunion_ldv_16899_139 ldv_16899 ;
1462   union __anonunion_ldv_16913_140 ldv_16913 ;
1463};
1464#line 117 "include/linux/prio_tree.h"
1465struct __anonstruct_ldv_16921_145 {
1466   struct page *next ;
1467   int pages ;
1468   int pobjects ;
1469};
1470#line 117 "include/linux/prio_tree.h"
1471union __anonunion_ldv_16922_144 {
1472   struct list_head lru ;
1473   struct __anonstruct_ldv_16921_145 ldv_16921 ;
1474};
1475#line 117 "include/linux/prio_tree.h"
1476union __anonunion_ldv_16927_146 {
1477   unsigned long private ;
1478   struct kmem_cache *slab ;
1479   struct page *first_page ;
1480};
1481#line 117 "include/linux/prio_tree.h"
1482struct page {
1483   unsigned long flags ;
1484   struct address_space *mapping ;
1485   struct __anonstruct_ldv_16914_138 ldv_16914 ;
1486   union __anonunion_ldv_16922_144 ldv_16922 ;
1487   union __anonunion_ldv_16927_146 ldv_16927 ;
1488   unsigned long debug_flags ;
1489};
1490#line 192 "include/linux/mm_types.h"
1491struct __anonstruct_vm_set_148 {
1492   struct list_head list ;
1493   void *parent ;
1494   struct vm_area_struct *head ;
1495};
1496#line 192 "include/linux/mm_types.h"
1497union __anonunion_shared_147 {
1498   struct __anonstruct_vm_set_148 vm_set ;
1499   struct raw_prio_tree_node prio_tree_node ;
1500};
1501#line 192
1502struct anon_vma;
1503#line 192
1504struct vm_operations_struct;
1505#line 192
1506struct mempolicy;
1507#line 192 "include/linux/mm_types.h"
1508struct vm_area_struct {
1509   struct mm_struct *vm_mm ;
1510   unsigned long vm_start ;
1511   unsigned long vm_end ;
1512   struct vm_area_struct *vm_next ;
1513   struct vm_area_struct *vm_prev ;
1514   pgprot_t vm_page_prot ;
1515   unsigned long vm_flags ;
1516   struct rb_node vm_rb ;
1517   union __anonunion_shared_147 shared ;
1518   struct list_head anon_vma_chain ;
1519   struct anon_vma *anon_vma ;
1520   struct vm_operations_struct  const  *vm_ops ;
1521   unsigned long vm_pgoff ;
1522   struct file *vm_file ;
1523   void *vm_private_data ;
1524   struct mempolicy *vm_policy ;
1525};
1526#line 255 "include/linux/mm_types.h"
1527struct core_thread {
1528   struct task_struct *task ;
1529   struct core_thread *next ;
1530};
1531#line 261 "include/linux/mm_types.h"
1532struct core_state {
1533   atomic_t nr_threads ;
1534   struct core_thread dumper ;
1535   struct completion startup ;
1536};
1537#line 274 "include/linux/mm_types.h"
1538struct mm_rss_stat {
1539   atomic_long_t count[3U] ;
1540};
1541#line 287
1542struct linux_binfmt;
1543#line 287
1544struct mmu_notifier_mm;
1545#line 287 "include/linux/mm_types.h"
1546struct mm_struct {
1547   struct vm_area_struct *mmap ;
1548   struct rb_root mm_rb ;
1549   struct vm_area_struct *mmap_cache ;
1550   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1551                                      unsigned long  , unsigned long  ) ;
1552   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1553   unsigned long mmap_base ;
1554   unsigned long task_size ;
1555   unsigned long cached_hole_size ;
1556   unsigned long free_area_cache ;
1557   pgd_t *pgd ;
1558   atomic_t mm_users ;
1559   atomic_t mm_count ;
1560   int map_count ;
1561   spinlock_t page_table_lock ;
1562   struct rw_semaphore mmap_sem ;
1563   struct list_head mmlist ;
1564   unsigned long hiwater_rss ;
1565   unsigned long hiwater_vm ;
1566   unsigned long total_vm ;
1567   unsigned long locked_vm ;
1568   unsigned long pinned_vm ;
1569   unsigned long shared_vm ;
1570   unsigned long exec_vm ;
1571   unsigned long stack_vm ;
1572   unsigned long reserved_vm ;
1573   unsigned long def_flags ;
1574   unsigned long nr_ptes ;
1575   unsigned long start_code ;
1576   unsigned long end_code ;
1577   unsigned long start_data ;
1578   unsigned long end_data ;
1579   unsigned long start_brk ;
1580   unsigned long brk ;
1581   unsigned long start_stack ;
1582   unsigned long arg_start ;
1583   unsigned long arg_end ;
1584   unsigned long env_start ;
1585   unsigned long env_end ;
1586   unsigned long saved_auxv[44U] ;
1587   struct mm_rss_stat rss_stat ;
1588   struct linux_binfmt *binfmt ;
1589   cpumask_var_t cpu_vm_mask_var ;
1590   mm_context_t context ;
1591   unsigned int faultstamp ;
1592   unsigned int token_priority ;
1593   unsigned int last_interval ;
1594   unsigned long flags ;
1595   struct core_state *core_state ;
1596   spinlock_t ioctx_lock ;
1597   struct hlist_head ioctx_list ;
1598   struct task_struct *owner ;
1599   struct file *exe_file ;
1600   unsigned long num_exe_file_vmas ;
1601   struct mmu_notifier_mm *mmu_notifier_mm ;
1602   pgtable_t pmd_huge_pte ;
1603   struct cpumask cpumask_allocation ;
1604};
1605#line 7 "include/asm-generic/cputime.h"
1606typedef unsigned long cputime_t;
1607#line 98 "include/linux/sem.h"
1608struct sem_undo_list;
1609#line 98 "include/linux/sem.h"
1610struct sysv_sem {
1611   struct sem_undo_list *undo_list ;
1612};
1613#line 107
1614struct siginfo;
1615#line 107
1616struct siginfo;
1617#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1618struct __anonstruct_sigset_t_149 {
1619   unsigned long sig[1U] ;
1620};
1621#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1622typedef struct __anonstruct_sigset_t_149 sigset_t;
1623#line 17 "include/asm-generic/signal-defs.h"
1624typedef void __signalfn_t(int  );
1625#line 18 "include/asm-generic/signal-defs.h"
1626typedef __signalfn_t *__sighandler_t;
1627#line 20 "include/asm-generic/signal-defs.h"
1628typedef void __restorefn_t(void);
1629#line 21 "include/asm-generic/signal-defs.h"
1630typedef __restorefn_t *__sigrestore_t;
1631#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1632struct sigaction {
1633   __sighandler_t sa_handler ;
1634   unsigned long sa_flags ;
1635   __sigrestore_t sa_restorer ;
1636   sigset_t sa_mask ;
1637};
1638#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1639struct k_sigaction {
1640   struct sigaction sa ;
1641};
1642#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1643union sigval {
1644   int sival_int ;
1645   void *sival_ptr ;
1646};
1647#line 10 "include/asm-generic/siginfo.h"
1648typedef union sigval sigval_t;
1649#line 11 "include/asm-generic/siginfo.h"
1650struct __anonstruct__kill_151 {
1651   __kernel_pid_t _pid ;
1652   __kernel_uid32_t _uid ;
1653};
1654#line 11 "include/asm-generic/siginfo.h"
1655struct __anonstruct__timer_152 {
1656   __kernel_timer_t _tid ;
1657   int _overrun ;
1658   char _pad[0U] ;
1659   sigval_t _sigval ;
1660   int _sys_private ;
1661};
1662#line 11 "include/asm-generic/siginfo.h"
1663struct __anonstruct__rt_153 {
1664   __kernel_pid_t _pid ;
1665   __kernel_uid32_t _uid ;
1666   sigval_t _sigval ;
1667};
1668#line 11 "include/asm-generic/siginfo.h"
1669struct __anonstruct__sigchld_154 {
1670   __kernel_pid_t _pid ;
1671   __kernel_uid32_t _uid ;
1672   int _status ;
1673   __kernel_clock_t _utime ;
1674   __kernel_clock_t _stime ;
1675};
1676#line 11 "include/asm-generic/siginfo.h"
1677struct __anonstruct__sigfault_155 {
1678   void *_addr ;
1679   short _addr_lsb ;
1680};
1681#line 11 "include/asm-generic/siginfo.h"
1682struct __anonstruct__sigpoll_156 {
1683   long _band ;
1684   int _fd ;
1685};
1686#line 11 "include/asm-generic/siginfo.h"
1687union __anonunion__sifields_150 {
1688   int _pad[28U] ;
1689   struct __anonstruct__kill_151 _kill ;
1690   struct __anonstruct__timer_152 _timer ;
1691   struct __anonstruct__rt_153 _rt ;
1692   struct __anonstruct__sigchld_154 _sigchld ;
1693   struct __anonstruct__sigfault_155 _sigfault ;
1694   struct __anonstruct__sigpoll_156 _sigpoll ;
1695};
1696#line 11 "include/asm-generic/siginfo.h"
1697struct siginfo {
1698   int si_signo ;
1699   int si_errno ;
1700   int si_code ;
1701   union __anonunion__sifields_150 _sifields ;
1702};
1703#line 102 "include/asm-generic/siginfo.h"
1704typedef struct siginfo siginfo_t;
1705#line 14 "include/linux/signal.h"
1706struct user_struct;
1707#line 24 "include/linux/signal.h"
1708struct sigpending {
1709   struct list_head list ;
1710   sigset_t signal ;
1711};
1712#line 395
1713struct pid_namespace;
1714#line 395 "include/linux/signal.h"
1715struct upid {
1716   int nr ;
1717   struct pid_namespace *ns ;
1718   struct hlist_node pid_chain ;
1719};
1720#line 56 "include/linux/pid.h"
1721struct pid {
1722   atomic_t count ;
1723   unsigned int level ;
1724   struct hlist_head tasks[3U] ;
1725   struct rcu_head rcu ;
1726   struct upid numbers[1U] ;
1727};
1728#line 68 "include/linux/pid.h"
1729struct pid_link {
1730   struct hlist_node node ;
1731   struct pid *pid ;
1732};
1733#line 10 "include/linux/seccomp.h"
1734struct __anonstruct_seccomp_t_159 {
1735   int mode ;
1736};
1737#line 10 "include/linux/seccomp.h"
1738typedef struct __anonstruct_seccomp_t_159 seccomp_t;
1739#line 427 "include/linux/rculist.h"
1740struct plist_head {
1741   struct list_head node_list ;
1742};
1743#line 84 "include/linux/plist.h"
1744struct plist_node {
1745   int prio ;
1746   struct list_head prio_list ;
1747   struct list_head node_list ;
1748};
1749#line 20 "include/linux/rtmutex.h"
1750struct rt_mutex {
1751   raw_spinlock_t wait_lock ;
1752   struct plist_head wait_list ;
1753   struct task_struct *owner ;
1754   int save_state ;
1755   char const   *name ;
1756   char const   *file ;
1757   int line ;
1758   void *magic ;
1759};
1760#line 38
1761struct rt_mutex_waiter;
1762#line 38
1763struct rt_mutex_waiter;
1764#line 41 "include/linux/resource.h"
1765struct rlimit {
1766   unsigned long rlim_cur ;
1767   unsigned long rlim_max ;
1768};
1769#line 85 "include/linux/resource.h"
1770struct task_io_accounting {
1771   u64 rchar ;
1772   u64 wchar ;
1773   u64 syscr ;
1774   u64 syscw ;
1775   u64 read_bytes ;
1776   u64 write_bytes ;
1777   u64 cancelled_write_bytes ;
1778};
1779#line 45 "include/linux/task_io_accounting.h"
1780struct latency_record {
1781   unsigned long backtrace[12U] ;
1782   unsigned int count ;
1783   unsigned long time ;
1784   unsigned long max ;
1785};
1786#line 29 "include/linux/key.h"
1787typedef int32_t key_serial_t;
1788#line 32 "include/linux/key.h"
1789typedef uint32_t key_perm_t;
1790#line 33
1791struct key;
1792#line 33
1793struct key;
1794#line 34
1795struct signal_struct;
1796#line 34
1797struct signal_struct;
1798#line 35
1799struct key_type;
1800#line 35
1801struct key_type;
1802#line 37
1803struct keyring_list;
1804#line 37
1805struct keyring_list;
1806#line 115
1807struct key_user;
1808#line 115 "include/linux/key.h"
1809union __anonunion_ldv_17924_160 {
1810   time_t expiry ;
1811   time_t revoked_at ;
1812};
1813#line 115 "include/linux/key.h"
1814union __anonunion_type_data_161 {
1815   struct list_head link ;
1816   unsigned long x[2U] ;
1817   void *p[2U] ;
1818   int reject_error ;
1819};
1820#line 115 "include/linux/key.h"
1821union __anonunion_payload_162 {
1822   unsigned long value ;
1823   void *rcudata ;
1824   void *data ;
1825   struct keyring_list *subscriptions ;
1826};
1827#line 115 "include/linux/key.h"
1828struct key {
1829   atomic_t usage ;
1830   key_serial_t serial ;
1831   struct rb_node serial_node ;
1832   struct key_type *type ;
1833   struct rw_semaphore sem ;
1834   struct key_user *user ;
1835   void *security ;
1836   union __anonunion_ldv_17924_160 ldv_17924 ;
1837   uid_t uid ;
1838   gid_t gid ;
1839   key_perm_t perm ;
1840   unsigned short quotalen ;
1841   unsigned short datalen ;
1842   unsigned long flags ;
1843   char *description ;
1844   union __anonunion_type_data_161 type_data ;
1845   union __anonunion_payload_162 payload ;
1846};
1847#line 316
1848struct audit_context;
1849#line 316
1850struct audit_context;
1851#line 28 "include/linux/selinux.h"
1852struct group_info {
1853   atomic_t usage ;
1854   int ngroups ;
1855   int nblocks ;
1856   gid_t small_block[32U] ;
1857   gid_t *blocks[0U] ;
1858};
1859#line 77 "include/linux/cred.h"
1860struct thread_group_cred {
1861   atomic_t usage ;
1862   pid_t tgid ;
1863   spinlock_t lock ;
1864   struct key *session_keyring ;
1865   struct key *process_keyring ;
1866   struct rcu_head rcu ;
1867};
1868#line 91 "include/linux/cred.h"
1869struct cred {
1870   atomic_t usage ;
1871   atomic_t subscribers ;
1872   void *put_addr ;
1873   unsigned int magic ;
1874   uid_t uid ;
1875   gid_t gid ;
1876   uid_t suid ;
1877   gid_t sgid ;
1878   uid_t euid ;
1879   gid_t egid ;
1880   uid_t fsuid ;
1881   gid_t fsgid ;
1882   unsigned int securebits ;
1883   kernel_cap_t cap_inheritable ;
1884   kernel_cap_t cap_permitted ;
1885   kernel_cap_t cap_effective ;
1886   kernel_cap_t cap_bset ;
1887   unsigned char jit_keyring ;
1888   struct key *thread_keyring ;
1889   struct key *request_key_auth ;
1890   struct thread_group_cred *tgcred ;
1891   void *security ;
1892   struct user_struct *user ;
1893   struct user_namespace *user_ns ;
1894   struct group_info *group_info ;
1895   struct rcu_head rcu ;
1896};
1897#line 264
1898struct llist_node;
1899#line 64 "include/linux/llist.h"
1900struct llist_node {
1901   struct llist_node *next ;
1902};
1903#line 185
1904struct futex_pi_state;
1905#line 185
1906struct futex_pi_state;
1907#line 186
1908struct robust_list_head;
1909#line 186
1910struct robust_list_head;
1911#line 187
1912struct bio_list;
1913#line 187
1914struct bio_list;
1915#line 188
1916struct fs_struct;
1917#line 188
1918struct fs_struct;
1919#line 189
1920struct perf_event_context;
1921#line 189
1922struct perf_event_context;
1923#line 190
1924struct blk_plug;
1925#line 190
1926struct blk_plug;
1927#line 149 "include/linux/sched.h"
1928struct cfs_rq;
1929#line 149
1930struct cfs_rq;
1931#line 406 "include/linux/sched.h"
1932struct sighand_struct {
1933   atomic_t count ;
1934   struct k_sigaction action[64U] ;
1935   spinlock_t siglock ;
1936   wait_queue_head_t signalfd_wqh ;
1937};
1938#line 449 "include/linux/sched.h"
1939struct pacct_struct {
1940   int ac_flag ;
1941   long ac_exitcode ;
1942   unsigned long ac_mem ;
1943   cputime_t ac_utime ;
1944   cputime_t ac_stime ;
1945   unsigned long ac_minflt ;
1946   unsigned long ac_majflt ;
1947};
1948#line 457 "include/linux/sched.h"
1949struct cpu_itimer {
1950   cputime_t expires ;
1951   cputime_t incr ;
1952   u32 error ;
1953   u32 incr_error ;
1954};
1955#line 464 "include/linux/sched.h"
1956struct task_cputime {
1957   cputime_t utime ;
1958   cputime_t stime ;
1959   unsigned long long sum_exec_runtime ;
1960};
1961#line 481 "include/linux/sched.h"
1962struct thread_group_cputimer {
1963   struct task_cputime cputime ;
1964   int running ;
1965   raw_spinlock_t lock ;
1966};
1967#line 517
1968struct autogroup;
1969#line 517
1970struct autogroup;
1971#line 518
1972struct tty_struct;
1973#line 518
1974struct taskstats;
1975#line 518
1976struct tty_audit_buf;
1977#line 518 "include/linux/sched.h"
1978struct signal_struct {
1979   atomic_t sigcnt ;
1980   atomic_t live ;
1981   int nr_threads ;
1982   wait_queue_head_t wait_chldexit ;
1983   struct task_struct *curr_target ;
1984   struct sigpending shared_pending ;
1985   int group_exit_code ;
1986   int notify_count ;
1987   struct task_struct *group_exit_task ;
1988   int group_stop_count ;
1989   unsigned int flags ;
1990   unsigned char is_child_subreaper : 1 ;
1991   unsigned char has_child_subreaper : 1 ;
1992   struct list_head posix_timers ;
1993   struct hrtimer real_timer ;
1994   struct pid *leader_pid ;
1995   ktime_t it_real_incr ;
1996   struct cpu_itimer it[2U] ;
1997   struct thread_group_cputimer cputimer ;
1998   struct task_cputime cputime_expires ;
1999   struct list_head cpu_timers[3U] ;
2000   struct pid *tty_old_pgrp ;
2001   int leader ;
2002   struct tty_struct *tty ;
2003   struct autogroup *autogroup ;
2004   cputime_t utime ;
2005   cputime_t stime ;
2006   cputime_t cutime ;
2007   cputime_t cstime ;
2008   cputime_t gtime ;
2009   cputime_t cgtime ;
2010   cputime_t prev_utime ;
2011   cputime_t prev_stime ;
2012   unsigned long nvcsw ;
2013   unsigned long nivcsw ;
2014   unsigned long cnvcsw ;
2015   unsigned long cnivcsw ;
2016   unsigned long min_flt ;
2017   unsigned long maj_flt ;
2018   unsigned long cmin_flt ;
2019   unsigned long cmaj_flt ;
2020   unsigned long inblock ;
2021   unsigned long oublock ;
2022   unsigned long cinblock ;
2023   unsigned long coublock ;
2024   unsigned long maxrss ;
2025   unsigned long cmaxrss ;
2026   struct task_io_accounting ioac ;
2027   unsigned long long sum_sched_runtime ;
2028   struct rlimit rlim[16U] ;
2029   struct pacct_struct pacct ;
2030   struct taskstats *stats ;
2031   unsigned int audit_tty ;
2032   struct tty_audit_buf *tty_audit_buf ;
2033   struct rw_semaphore group_rwsem ;
2034   int oom_adj ;
2035   int oom_score_adj ;
2036   int oom_score_adj_min ;
2037   struct mutex cred_guard_mutex ;
2038};
2039#line 699 "include/linux/sched.h"
2040struct user_struct {
2041   atomic_t __count ;
2042   atomic_t processes ;
2043   atomic_t files ;
2044   atomic_t sigpending ;
2045   atomic_t inotify_watches ;
2046   atomic_t inotify_devs ;
2047   atomic_t fanotify_listeners ;
2048   atomic_long_t epoll_watches ;
2049   unsigned long mq_bytes ;
2050   unsigned long locked_shm ;
2051   struct key *uid_keyring ;
2052   struct key *session_keyring ;
2053   struct hlist_node uidhash_node ;
2054   uid_t uid ;
2055   struct user_namespace *user_ns ;
2056   atomic_long_t locked_vm ;
2057};
2058#line 744
2059struct backing_dev_info;
2060#line 744
2061struct backing_dev_info;
2062#line 745
2063struct reclaim_state;
2064#line 745
2065struct reclaim_state;
2066#line 746 "include/linux/sched.h"
2067struct sched_info {
2068   unsigned long pcount ;
2069   unsigned long long run_delay ;
2070   unsigned long long last_arrival ;
2071   unsigned long long last_queued ;
2072};
2073#line 760 "include/linux/sched.h"
2074struct task_delay_info {
2075   spinlock_t lock ;
2076   unsigned int flags ;
2077   struct timespec blkio_start ;
2078   struct timespec blkio_end ;
2079   u64 blkio_delay ;
2080   u64 swapin_delay ;
2081   u32 blkio_count ;
2082   u32 swapin_count ;
2083   struct timespec freepages_start ;
2084   struct timespec freepages_end ;
2085   u64 freepages_delay ;
2086   u32 freepages_count ;
2087};
2088#line 1069
2089struct io_context;
2090#line 1069
2091struct io_context;
2092#line 1097
2093struct pipe_inode_info;
2094#line 1097
2095struct pipe_inode_info;
2096#line 1099
2097struct rq;
2098#line 1099
2099struct rq;
2100#line 1100 "include/linux/sched.h"
2101struct sched_class {
2102   struct sched_class  const  *next ;
2103   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2104   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2105   void (*yield_task)(struct rq * ) ;
2106   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2107   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2108   struct task_struct *(*pick_next_task)(struct rq * ) ;
2109   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2110   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2111   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2112   void (*post_schedule)(struct rq * ) ;
2113   void (*task_waking)(struct task_struct * ) ;
2114   void (*task_woken)(struct rq * , struct task_struct * ) ;
2115   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2116   void (*rq_online)(struct rq * ) ;
2117   void (*rq_offline)(struct rq * ) ;
2118   void (*set_curr_task)(struct rq * ) ;
2119   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2120   void (*task_fork)(struct task_struct * ) ;
2121   void (*switched_from)(struct rq * , struct task_struct * ) ;
2122   void (*switched_to)(struct rq * , struct task_struct * ) ;
2123   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2124   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2125   void (*task_move_group)(struct task_struct * , int  ) ;
2126};
2127#line 1165 "include/linux/sched.h"
2128struct load_weight {
2129   unsigned long weight ;
2130   unsigned long inv_weight ;
2131};
2132#line 1170 "include/linux/sched.h"
2133struct sched_statistics {
2134   u64 wait_start ;
2135   u64 wait_max ;
2136   u64 wait_count ;
2137   u64 wait_sum ;
2138   u64 iowait_count ;
2139   u64 iowait_sum ;
2140   u64 sleep_start ;
2141   u64 sleep_max ;
2142   s64 sum_sleep_runtime ;
2143   u64 block_start ;
2144   u64 block_max ;
2145   u64 exec_max ;
2146   u64 slice_max ;
2147   u64 nr_migrations_cold ;
2148   u64 nr_failed_migrations_affine ;
2149   u64 nr_failed_migrations_running ;
2150   u64 nr_failed_migrations_hot ;
2151   u64 nr_forced_migrations ;
2152   u64 nr_wakeups ;
2153   u64 nr_wakeups_sync ;
2154   u64 nr_wakeups_migrate ;
2155   u64 nr_wakeups_local ;
2156   u64 nr_wakeups_remote ;
2157   u64 nr_wakeups_affine ;
2158   u64 nr_wakeups_affine_attempts ;
2159   u64 nr_wakeups_passive ;
2160   u64 nr_wakeups_idle ;
2161};
2162#line 1205 "include/linux/sched.h"
2163struct sched_entity {
2164   struct load_weight load ;
2165   struct rb_node run_node ;
2166   struct list_head group_node ;
2167   unsigned int on_rq ;
2168   u64 exec_start ;
2169   u64 sum_exec_runtime ;
2170   u64 vruntime ;
2171   u64 prev_sum_exec_runtime ;
2172   u64 nr_migrations ;
2173   struct sched_statistics statistics ;
2174   struct sched_entity *parent ;
2175   struct cfs_rq *cfs_rq ;
2176   struct cfs_rq *my_q ;
2177};
2178#line 1231
2179struct rt_rq;
2180#line 1231 "include/linux/sched.h"
2181struct sched_rt_entity {
2182   struct list_head run_list ;
2183   unsigned long timeout ;
2184   unsigned int time_slice ;
2185   int nr_cpus_allowed ;
2186   struct sched_rt_entity *back ;
2187   struct sched_rt_entity *parent ;
2188   struct rt_rq *rt_rq ;
2189   struct rt_rq *my_q ;
2190};
2191#line 1255
2192struct mem_cgroup;
2193#line 1255 "include/linux/sched.h"
2194struct memcg_batch_info {
2195   int do_batch ;
2196   struct mem_cgroup *memcg ;
2197   unsigned long nr_pages ;
2198   unsigned long memsw_nr_pages ;
2199};
2200#line 1616
2201struct files_struct;
2202#line 1616
2203struct css_set;
2204#line 1616
2205struct compat_robust_list_head;
2206#line 1616 "include/linux/sched.h"
2207struct task_struct {
2208   long volatile   state ;
2209   void *stack ;
2210   atomic_t usage ;
2211   unsigned int flags ;
2212   unsigned int ptrace ;
2213   struct llist_node wake_entry ;
2214   int on_cpu ;
2215   int on_rq ;
2216   int prio ;
2217   int static_prio ;
2218   int normal_prio ;
2219   unsigned int rt_priority ;
2220   struct sched_class  const  *sched_class ;
2221   struct sched_entity se ;
2222   struct sched_rt_entity rt ;
2223   struct hlist_head preempt_notifiers ;
2224   unsigned char fpu_counter ;
2225   unsigned int policy ;
2226   cpumask_t cpus_allowed ;
2227   struct sched_info sched_info ;
2228   struct list_head tasks ;
2229   struct plist_node pushable_tasks ;
2230   struct mm_struct *mm ;
2231   struct mm_struct *active_mm ;
2232   unsigned char brk_randomized : 1 ;
2233   int exit_state ;
2234   int exit_code ;
2235   int exit_signal ;
2236   int pdeath_signal ;
2237   unsigned int jobctl ;
2238   unsigned int personality ;
2239   unsigned char did_exec : 1 ;
2240   unsigned char in_execve : 1 ;
2241   unsigned char in_iowait : 1 ;
2242   unsigned char sched_reset_on_fork : 1 ;
2243   unsigned char sched_contributes_to_load : 1 ;
2244   unsigned char irq_thread : 1 ;
2245   pid_t pid ;
2246   pid_t tgid ;
2247   unsigned long stack_canary ;
2248   struct task_struct *real_parent ;
2249   struct task_struct *parent ;
2250   struct list_head children ;
2251   struct list_head sibling ;
2252   struct task_struct *group_leader ;
2253   struct list_head ptraced ;
2254   struct list_head ptrace_entry ;
2255   struct pid_link pids[3U] ;
2256   struct list_head thread_group ;
2257   struct completion *vfork_done ;
2258   int *set_child_tid ;
2259   int *clear_child_tid ;
2260   cputime_t utime ;
2261   cputime_t stime ;
2262   cputime_t utimescaled ;
2263   cputime_t stimescaled ;
2264   cputime_t gtime ;
2265   cputime_t prev_utime ;
2266   cputime_t prev_stime ;
2267   unsigned long nvcsw ;
2268   unsigned long nivcsw ;
2269   struct timespec start_time ;
2270   struct timespec real_start_time ;
2271   unsigned long min_flt ;
2272   unsigned long maj_flt ;
2273   struct task_cputime cputime_expires ;
2274   struct list_head cpu_timers[3U] ;
2275   struct cred  const  *real_cred ;
2276   struct cred  const  *cred ;
2277   struct cred *replacement_session_keyring ;
2278   char comm[16U] ;
2279   int link_count ;
2280   int total_link_count ;
2281   struct sysv_sem sysvsem ;
2282   unsigned long last_switch_count ;
2283   struct thread_struct thread ;
2284   struct fs_struct *fs ;
2285   struct files_struct *files ;
2286   struct nsproxy *nsproxy ;
2287   struct signal_struct *signal ;
2288   struct sighand_struct *sighand ;
2289   sigset_t blocked ;
2290   sigset_t real_blocked ;
2291   sigset_t saved_sigmask ;
2292   struct sigpending pending ;
2293   unsigned long sas_ss_sp ;
2294   size_t sas_ss_size ;
2295   int (*notifier)(void * ) ;
2296   void *notifier_data ;
2297   sigset_t *notifier_mask ;
2298   struct audit_context *audit_context ;
2299   uid_t loginuid ;
2300   unsigned int sessionid ;
2301   seccomp_t seccomp ;
2302   u32 parent_exec_id ;
2303   u32 self_exec_id ;
2304   spinlock_t alloc_lock ;
2305   raw_spinlock_t pi_lock ;
2306   struct plist_head pi_waiters ;
2307   struct rt_mutex_waiter *pi_blocked_on ;
2308   struct mutex_waiter *blocked_on ;
2309   unsigned int irq_events ;
2310   unsigned long hardirq_enable_ip ;
2311   unsigned long hardirq_disable_ip ;
2312   unsigned int hardirq_enable_event ;
2313   unsigned int hardirq_disable_event ;
2314   int hardirqs_enabled ;
2315   int hardirq_context ;
2316   unsigned long softirq_disable_ip ;
2317   unsigned long softirq_enable_ip ;
2318   unsigned int softirq_disable_event ;
2319   unsigned int softirq_enable_event ;
2320   int softirqs_enabled ;
2321   int softirq_context ;
2322   u64 curr_chain_key ;
2323   int lockdep_depth ;
2324   unsigned int lockdep_recursion ;
2325   struct held_lock held_locks[48U] ;
2326   gfp_t lockdep_reclaim_gfp ;
2327   void *journal_info ;
2328   struct bio_list *bio_list ;
2329   struct blk_plug *plug ;
2330   struct reclaim_state *reclaim_state ;
2331   struct backing_dev_info *backing_dev_info ;
2332   struct io_context *io_context ;
2333   unsigned long ptrace_message ;
2334   siginfo_t *last_siginfo ;
2335   struct task_io_accounting ioac ;
2336   u64 acct_rss_mem1 ;
2337   u64 acct_vm_mem1 ;
2338   cputime_t acct_timexpd ;
2339   nodemask_t mems_allowed ;
2340   seqcount_t mems_allowed_seq ;
2341   int cpuset_mem_spread_rotor ;
2342   int cpuset_slab_spread_rotor ;
2343   struct css_set *cgroups ;
2344   struct list_head cg_list ;
2345   struct robust_list_head *robust_list ;
2346   struct compat_robust_list_head *compat_robust_list ;
2347   struct list_head pi_state_list ;
2348   struct futex_pi_state *pi_state_cache ;
2349   struct perf_event_context *perf_event_ctxp[2U] ;
2350   struct mutex perf_event_mutex ;
2351   struct list_head perf_event_list ;
2352   struct mempolicy *mempolicy ;
2353   short il_next ;
2354   short pref_node_fork ;
2355   struct rcu_head rcu ;
2356   struct pipe_inode_info *splice_pipe ;
2357   struct task_delay_info *delays ;
2358   int make_it_fail ;
2359   int nr_dirtied ;
2360   int nr_dirtied_pause ;
2361   unsigned long dirty_paused_when ;
2362   int latency_record_count ;
2363   struct latency_record latency_record[32U] ;
2364   unsigned long timer_slack_ns ;
2365   unsigned long default_timer_slack_ns ;
2366   struct list_head *scm_work_list ;
2367   unsigned long trace ;
2368   unsigned long trace_recursion ;
2369   struct memcg_batch_info memcg_batch ;
2370   atomic_t ptrace_bp_refcnt ;
2371};
2372#line 28 "include/linux/of.h"
2373typedef u32 phandle;
2374#line 30 "include/linux/of.h"
2375struct property {
2376   char *name ;
2377   int length ;
2378   void *value ;
2379   struct property *next ;
2380   unsigned long _flags ;
2381   unsigned int unique_id ;
2382};
2383#line 39 "include/linux/of.h"
2384struct device_node {
2385   char const   *name ;
2386   char const   *type ;
2387   phandle phandle ;
2388   char *full_name ;
2389   struct property *properties ;
2390   struct property *deadprops ;
2391   struct device_node *parent ;
2392   struct device_node *child ;
2393   struct device_node *sibling ;
2394   struct device_node *next ;
2395   struct device_node *allnext ;
2396   struct proc_dir_entry *pde ;
2397   struct kref kref ;
2398   unsigned long _flags ;
2399   void *data ;
2400};
2401#line 41 "include/linux/i2c.h"
2402struct i2c_msg;
2403#line 41
2404struct i2c_msg;
2405#line 42
2406struct i2c_algorithm;
2407#line 42
2408struct i2c_algorithm;
2409#line 43
2410struct i2c_adapter;
2411#line 43
2412struct i2c_adapter;
2413#line 44
2414struct i2c_client;
2415#line 44
2416struct i2c_client;
2417#line 45
2418struct i2c_driver;
2419#line 45
2420struct i2c_driver;
2421#line 46
2422union i2c_smbus_data;
2423#line 46
2424union i2c_smbus_data;
2425#line 47
2426struct i2c_board_info;
2427#line 47
2428struct i2c_board_info;
2429#line 119 "include/linux/i2c.h"
2430struct i2c_driver {
2431   unsigned int class ;
2432   int (*attach_adapter)(struct i2c_adapter * ) ;
2433   int (*detach_adapter)(struct i2c_adapter * ) ;
2434   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
2435   int (*remove)(struct i2c_client * ) ;
2436   void (*shutdown)(struct i2c_client * ) ;
2437   int (*suspend)(struct i2c_client * , pm_message_t  ) ;
2438   int (*resume)(struct i2c_client * ) ;
2439   void (*alert)(struct i2c_client * , unsigned int  ) ;
2440   int (*command)(struct i2c_client * , unsigned int  , void * ) ;
2441   struct device_driver driver ;
2442   struct i2c_device_id  const  *id_table ;
2443   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2444   unsigned short const   *address_list ;
2445   struct list_head clients ;
2446};
2447#line 200 "include/linux/i2c.h"
2448struct i2c_client {
2449   unsigned short flags ;
2450   unsigned short addr ;
2451   char name[20U] ;
2452   struct i2c_adapter *adapter ;
2453   struct i2c_driver *driver ;
2454   struct device dev ;
2455   int irq ;
2456   struct list_head detected ;
2457};
2458#line 251 "include/linux/i2c.h"
2459struct i2c_board_info {
2460   char type[20U] ;
2461   unsigned short flags ;
2462   unsigned short addr ;
2463   void *platform_data ;
2464   struct dev_archdata *archdata ;
2465   struct device_node *of_node ;
2466   int irq ;
2467};
2468#line 336 "include/linux/i2c.h"
2469struct i2c_algorithm {
2470   int (*master_xfer)(struct i2c_adapter * , struct i2c_msg * , int  ) ;
2471   int (*smbus_xfer)(struct i2c_adapter * , u16  , unsigned short  , char  , u8  ,
2472                     int  , union i2c_smbus_data * ) ;
2473   u32 (*functionality)(struct i2c_adapter * ) ;
2474};
2475#line 368 "include/linux/i2c.h"
2476struct i2c_adapter {
2477   struct module *owner ;
2478   unsigned int class ;
2479   struct i2c_algorithm  const  *algo ;
2480   void *algo_data ;
2481   struct rt_mutex bus_lock ;
2482   int timeout ;
2483   int retries ;
2484   struct device dev ;
2485   int nr ;
2486   char name[48U] ;
2487   struct completion dev_released ;
2488   struct mutex userspace_clients_lock ;
2489   struct list_head userspace_clients ;
2490};
2491#line 486 "include/linux/i2c.h"
2492struct i2c_msg {
2493   __u16 addr ;
2494   __u16 flags ;
2495   __u16 len ;
2496   __u8 *buf ;
2497};
2498#line 551 "include/linux/i2c.h"
2499union i2c_smbus_data {
2500   __u8 byte ;
2501   __u16 word ;
2502   __u8 block[34U] ;
2503};
2504#line 601 "include/linux/i2c.h"
2505struct i2c_smbus_alert_setup {
2506   unsigned char alert_edge_triggered : 1 ;
2507   int irq ;
2508};
2509#line 50 "include/linux/i2c-smbus.h"
2510struct i2c_smbus_alert {
2511   unsigned char alert_edge_triggered : 1 ;
2512   int irq ;
2513   struct work_struct alert ;
2514   struct i2c_client *ara ;
2515};
2516#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
2517struct alert_data {
2518   unsigned short addr ;
2519   unsigned char flag : 1 ;
2520};
2521#line 1 "<compiler builtins>"
2522long __builtin_expect(long  , long  ) ;
2523#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
2524void ldv_spin_lock(void) ;
2525#line 3
2526void ldv_spin_unlock(void) ;
2527#line 4
2528int ldv_spin_trylock(void) ;
2529#line 50 "include/linux/dynamic_debug.h"
2530extern int __dynamic_dev_dbg(struct _ddebug * , struct device  const  * , char const   * 
2531                             , ...) ;
2532#line 24 "include/linux/list.h"
2533__inline static void INIT_LIST_HEAD(struct list_head *list ) 
2534{ unsigned long __cil_tmp2 ;
2535  unsigned long __cil_tmp3 ;
2536
2537  {
2538#line 26
2539  *((struct list_head **)list) = list;
2540#line 27
2541  __cil_tmp2 = (unsigned long )list;
2542#line 27
2543  __cil_tmp3 = __cil_tmp2 + 8;
2544#line 27
2545  *((struct list_head **)__cil_tmp3) = list;
2546#line 28
2547  return;
2548}
2549}
2550#line 261 "include/linux/lockdep.h"
2551extern void lockdep_init_map(struct lockdep_map * , char const   * , struct lock_class_key * ,
2552                             int  ) ;
2553#line 134 "include/linux/mutex.h"
2554extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
2555#line 169
2556extern void mutex_unlock(struct mutex * ) ;
2557#line 156 "include/linux/workqueue.h"
2558extern void __init_work(struct work_struct * , int  ) ;
2559#line 380
2560extern int schedule_work(struct work_struct * ) ;
2561#line 392
2562extern bool cancel_work_sync(struct work_struct * ) ;
2563#line 26 "include/linux/export.h"
2564extern struct module __this_module ;
2565#line 161 "include/linux/slab.h"
2566extern void kfree(void const   * ) ;
2567#line 220 "include/linux/slub_def.h"
2568extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2569#line 223
2570void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2571#line 353 "include/linux/slab.h"
2572__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2573#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
2574extern void *__VERIFIER_nondet_pointer(void) ;
2575#line 11
2576void ldv_check_alloc_flags(gfp_t flags ) ;
2577#line 12
2578void ldv_check_alloc_nonatomic(void) ;
2579#line 14
2580struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2581#line 758 "include/linux/device.h"
2582__inline static void device_lock(struct device *dev ) 
2583{ unsigned long __cil_tmp2 ;
2584  unsigned long __cil_tmp3 ;
2585  struct mutex *__cil_tmp4 ;
2586
2587  {
2588  {
2589#line 760
2590  __cil_tmp2 = (unsigned long )dev;
2591#line 760
2592  __cil_tmp3 = __cil_tmp2 + 96;
2593#line 760
2594  __cil_tmp4 = (struct mutex *)__cil_tmp3;
2595#line 760
2596  mutex_lock_nested(__cil_tmp4, 0U);
2597  }
2598#line 761
2599  return;
2600}
2601}
2602#line 768 "include/linux/device.h"
2603__inline static void device_unlock(struct device *dev ) 
2604{ unsigned long __cil_tmp2 ;
2605  unsigned long __cil_tmp3 ;
2606  struct mutex *__cil_tmp4 ;
2607
2608  {
2609  {
2610#line 770
2611  __cil_tmp2 = (unsigned long )dev;
2612#line 770
2613  __cil_tmp3 = __cil_tmp2 + 96;
2614#line 770
2615  __cil_tmp4 = (struct mutex *)__cil_tmp3;
2616#line 770
2617  mutex_unlock(__cil_tmp4);
2618  }
2619#line 771
2620  return;
2621}
2622}
2623#line 783
2624extern int device_for_each_child(struct device * , void * , int (*)(struct device * ,
2625                                                                    void * ) ) ;
2626#line 792
2627extern void *dev_get_drvdata(struct device  const  * ) ;
2628#line 793
2629extern int dev_set_drvdata(struct device * , void * ) ;
2630#line 894
2631extern int dev_warn(struct device  const  * , char const   *  , ...) ;
2632#line 898
2633extern int _dev_info(struct device  const  * , char const   *  , ...) ;
2634#line 190 "include/linux/interrupt.h"
2635extern int devm_request_threaded_irq(struct device * , unsigned int  , irqreturn_t (*)(int  ,
2636                                                                                       void * ) ,
2637                                     irqreturn_t (*)(int  , void * ) , unsigned long  ,
2638                                     char const   * , void * ) ;
2639#line 196 "include/linux/interrupt.h"
2640__inline static int devm_request_irq(struct device *dev , unsigned int irq , irqreturn_t (*handler)(int  ,
2641                                                                                                    void * ) ,
2642                                     unsigned long irqflags , char const   *devname ,
2643                                     void *dev_id ) 
2644{ int tmp ;
2645  irqreturn_t (*__cil_tmp8)(int  , void * ) ;
2646
2647  {
2648  {
2649#line 199
2650  __cil_tmp8 = (irqreturn_t (*)(int  , void * ))0;
2651#line 199
2652  tmp = devm_request_threaded_irq(dev, irq, handler, __cil_tmp8, irqflags, devname,
2653                                  dev_id);
2654  }
2655#line 199
2656  return (tmp);
2657}
2658}
2659#line 223
2660extern void disable_irq_nosync(unsigned int  ) ;
2661#line 226
2662extern void enable_irq(unsigned int  ) ;
2663#line 84 "include/linux/i2c.h"
2664extern s32 i2c_smbus_read_byte(struct i2c_client  const  * ) ;
2665#line 234
2666extern struct i2c_client *i2c_verify_client(struct device * ) ;
2667#line 242 "include/linux/i2c.h"
2668__inline static void *i2c_get_clientdata(struct i2c_client  const  *dev ) 
2669{ void *tmp ;
2670  unsigned long __cil_tmp3 ;
2671  unsigned long __cil_tmp4 ;
2672  struct device  const  *__cil_tmp5 ;
2673
2674  {
2675  {
2676#line 244
2677  __cil_tmp3 = (unsigned long )dev;
2678#line 244
2679  __cil_tmp4 = __cil_tmp3 + 40;
2680#line 244
2681  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
2682#line 244
2683  tmp = dev_get_drvdata(__cil_tmp5);
2684  }
2685#line 244
2686  return (tmp);
2687}
2688}
2689#line 247 "include/linux/i2c.h"
2690__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data ) 
2691{ unsigned long __cil_tmp3 ;
2692  unsigned long __cil_tmp4 ;
2693  struct device *__cil_tmp5 ;
2694
2695  {
2696  {
2697#line 249
2698  __cil_tmp3 = (unsigned long )dev;
2699#line 249
2700  __cil_tmp4 = __cil_tmp3 + 40;
2701#line 249
2702  __cil_tmp5 = (struct device *)__cil_tmp4;
2703#line 249
2704  dev_set_drvdata(__cil_tmp5, data);
2705  }
2706#line 250
2707  return;
2708}
2709}
2710#line 303
2711extern struct i2c_client *i2c_new_device(struct i2c_adapter * , struct i2c_board_info  const  * ) ;
2712#line 450
2713extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
2714#line 451
2715extern void i2c_del_driver(struct i2c_driver * ) ;
2716#line 47 "include/linux/i2c-smbus.h"
2717struct i2c_client *i2c_setup_smbus_alert(struct i2c_adapter *adapter , struct i2c_smbus_alert_setup *setup ) ;
2718#line 49
2719int i2c_handle_smbus_alert(struct i2c_client *ara ) ;
2720#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
2721static int smbus_do_alert(struct device *dev , void *addrp ) 
2722{ struct i2c_client *client ;
2723  struct i2c_client *tmp ;
2724  struct alert_data *data ;
2725  struct _ddebug descriptor ;
2726  long tmp___0 ;
2727  struct i2c_client *__cil_tmp8 ;
2728  unsigned long __cil_tmp9 ;
2729  unsigned long __cil_tmp10 ;
2730  unsigned short __cil_tmp11 ;
2731  int __cil_tmp12 ;
2732  unsigned long __cil_tmp13 ;
2733  unsigned long __cil_tmp14 ;
2734  unsigned short __cil_tmp15 ;
2735  int __cil_tmp16 ;
2736  unsigned short __cil_tmp17 ;
2737  int __cil_tmp18 ;
2738  int __cil_tmp19 ;
2739  struct i2c_driver *__cil_tmp20 ;
2740  unsigned long __cil_tmp21 ;
2741  unsigned long __cil_tmp22 ;
2742  unsigned long __cil_tmp23 ;
2743  struct i2c_driver *__cil_tmp24 ;
2744  unsigned long __cil_tmp25 ;
2745  void (*__cil_tmp26)(struct i2c_client * , unsigned int  ) ;
2746  unsigned long __cil_tmp27 ;
2747  unsigned long __cil_tmp28 ;
2748  unsigned long __cil_tmp29 ;
2749  struct i2c_driver *__cil_tmp30 ;
2750  unsigned long __cil_tmp31 ;
2751  unsigned long __cil_tmp32 ;
2752  void (*__cil_tmp33)(struct i2c_client * , unsigned int  ) ;
2753  unsigned long __cil_tmp34 ;
2754  unsigned long __cil_tmp35 ;
2755  unsigned long __cil_tmp36 ;
2756  struct i2c_driver *__cil_tmp37 ;
2757  unsigned long __cil_tmp38 ;
2758  unsigned long __cil_tmp39 ;
2759  void (*__cil_tmp40)(struct i2c_client * , unsigned int  ) ;
2760  unsigned long __cil_tmp41 ;
2761  unsigned long __cil_tmp42 ;
2762  unsigned char __cil_tmp43 ;
2763  unsigned int __cil_tmp44 ;
2764  unsigned long __cil_tmp45 ;
2765  unsigned long __cil_tmp46 ;
2766  struct device *__cil_tmp47 ;
2767  struct device  const  *__cil_tmp48 ;
2768  struct _ddebug *__cil_tmp49 ;
2769  unsigned long __cil_tmp50 ;
2770  unsigned long __cil_tmp51 ;
2771  unsigned long __cil_tmp52 ;
2772  unsigned long __cil_tmp53 ;
2773  unsigned long __cil_tmp54 ;
2774  unsigned long __cil_tmp55 ;
2775  unsigned char __cil_tmp56 ;
2776  long __cil_tmp57 ;
2777  long __cil_tmp58 ;
2778  unsigned long __cil_tmp59 ;
2779  unsigned long __cil_tmp60 ;
2780  struct device *__cil_tmp61 ;
2781  struct device  const  *__cil_tmp62 ;
2782
2783  {
2784  {
2785#line 62
2786  tmp = i2c_verify_client(dev);
2787#line 62
2788  client = tmp;
2789#line 63
2790  data = (struct alert_data *)addrp;
2791  }
2792  {
2793#line 65
2794  __cil_tmp8 = (struct i2c_client *)0;
2795#line 65
2796  __cil_tmp9 = (unsigned long )__cil_tmp8;
2797#line 65
2798  __cil_tmp10 = (unsigned long )client;
2799#line 65
2800  if (__cil_tmp10 == __cil_tmp9) {
2801#line 66
2802    return (0);
2803  } else {
2804    {
2805#line 65
2806    __cil_tmp11 = *((unsigned short *)data);
2807#line 65
2808    __cil_tmp12 = (int )__cil_tmp11;
2809#line 65
2810    __cil_tmp13 = (unsigned long )client;
2811#line 65
2812    __cil_tmp14 = __cil_tmp13 + 2;
2813#line 65
2814    __cil_tmp15 = *((unsigned short *)__cil_tmp14);
2815#line 65
2816    __cil_tmp16 = (int )__cil_tmp15;
2817#line 65
2818    if (__cil_tmp16 != __cil_tmp12) {
2819#line 66
2820      return (0);
2821    } else {
2822
2823    }
2824    }
2825  }
2826  }
2827  {
2828#line 67
2829  __cil_tmp17 = *((unsigned short *)client);
2830#line 67
2831  __cil_tmp18 = (int )__cil_tmp17;
2832#line 67
2833  __cil_tmp19 = __cil_tmp18 & 16;
2834#line 67
2835  if (__cil_tmp19 != 0) {
2836#line 68
2837    return (0);
2838  } else {
2839
2840  }
2841  }
2842  {
2843#line 74
2844  device_lock(dev);
2845  }
2846  {
2847#line 75
2848  __cil_tmp20 = (struct i2c_driver *)0;
2849#line 75
2850  __cil_tmp21 = (unsigned long )__cil_tmp20;
2851#line 75
2852  __cil_tmp22 = (unsigned long )client;
2853#line 75
2854  __cil_tmp23 = __cil_tmp22 + 32;
2855#line 75
2856  __cil_tmp24 = *((struct i2c_driver **)__cil_tmp23);
2857#line 75
2858  __cil_tmp25 = (unsigned long )__cil_tmp24;
2859#line 75
2860  if (__cil_tmp25 != __cil_tmp21) {
2861    {
2862#line 76
2863    __cil_tmp26 = (void (*)(struct i2c_client * , unsigned int  ))0;
2864#line 76
2865    __cil_tmp27 = (unsigned long )__cil_tmp26;
2866#line 76
2867    __cil_tmp28 = (unsigned long )client;
2868#line 76
2869    __cil_tmp29 = __cil_tmp28 + 32;
2870#line 76
2871    __cil_tmp30 = *((struct i2c_driver **)__cil_tmp29);
2872#line 76
2873    __cil_tmp31 = (unsigned long )__cil_tmp30;
2874#line 76
2875    __cil_tmp32 = __cil_tmp31 + 64;
2876#line 76
2877    __cil_tmp33 = *((void (**)(struct i2c_client * , unsigned int  ))__cil_tmp32);
2878#line 76
2879    __cil_tmp34 = (unsigned long )__cil_tmp33;
2880#line 76
2881    if (__cil_tmp34 != __cil_tmp27) {
2882      {
2883#line 77
2884      __cil_tmp35 = (unsigned long )client;
2885#line 77
2886      __cil_tmp36 = __cil_tmp35 + 32;
2887#line 77
2888      __cil_tmp37 = *((struct i2c_driver **)__cil_tmp36);
2889#line 77
2890      __cil_tmp38 = (unsigned long )__cil_tmp37;
2891#line 77
2892      __cil_tmp39 = __cil_tmp38 + 64;
2893#line 77
2894      __cil_tmp40 = *((void (**)(struct i2c_client * , unsigned int  ))__cil_tmp39);
2895#line 77
2896      __cil_tmp41 = (unsigned long )data;
2897#line 77
2898      __cil_tmp42 = __cil_tmp41 + 2;
2899#line 77
2900      __cil_tmp43 = *((unsigned char *)__cil_tmp42);
2901#line 77
2902      __cil_tmp44 = (unsigned int )__cil_tmp43;
2903#line 77
2904      (*__cil_tmp40)(client, __cil_tmp44);
2905      }
2906    } else {
2907      {
2908#line 79
2909      __cil_tmp45 = (unsigned long )client;
2910#line 79
2911      __cil_tmp46 = __cil_tmp45 + 40;
2912#line 79
2913      __cil_tmp47 = (struct device *)__cil_tmp46;
2914#line 79
2915      __cil_tmp48 = (struct device  const  *)__cil_tmp47;
2916#line 79
2917      dev_warn(__cil_tmp48, "no driver alert()!\n");
2918      }
2919    }
2920    }
2921  } else {
2922    {
2923#line 81
2924    __cil_tmp49 = & descriptor;
2925#line 81
2926    *((char const   **)__cil_tmp49) = "i2c_smbus";
2927#line 81
2928    __cil_tmp50 = (unsigned long )(& descriptor) + 8;
2929#line 81
2930    *((char const   **)__cil_tmp50) = "smbus_do_alert";
2931#line 81
2932    __cil_tmp51 = (unsigned long )(& descriptor) + 16;
2933#line 81
2934    *((char const   **)__cil_tmp51) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p";
2935#line 81
2936    __cil_tmp52 = (unsigned long )(& descriptor) + 24;
2937#line 81
2938    *((char const   **)__cil_tmp52) = "alert with no driver\n";
2939#line 81
2940    __cil_tmp53 = (unsigned long )(& descriptor) + 32;
2941#line 81
2942    *((unsigned int *)__cil_tmp53) = 81U;
2943#line 81
2944    __cil_tmp54 = (unsigned long )(& descriptor) + 35;
2945#line 81
2946    *((unsigned char *)__cil_tmp54) = (unsigned char)1;
2947#line 81
2948    __cil_tmp55 = (unsigned long )(& descriptor) + 35;
2949#line 81
2950    __cil_tmp56 = *((unsigned char *)__cil_tmp55);
2951#line 81
2952    __cil_tmp57 = (long )__cil_tmp56;
2953#line 81
2954    __cil_tmp58 = __cil_tmp57 & 1L;
2955#line 81
2956    tmp___0 = __builtin_expect(__cil_tmp58, 0L);
2957    }
2958#line 81
2959    if (tmp___0 != 0L) {
2960      {
2961#line 81
2962      __cil_tmp59 = (unsigned long )client;
2963#line 81
2964      __cil_tmp60 = __cil_tmp59 + 40;
2965#line 81
2966      __cil_tmp61 = (struct device *)__cil_tmp60;
2967#line 81
2968      __cil_tmp62 = (struct device  const  *)__cil_tmp61;
2969#line 81
2970      __dynamic_dev_dbg(& descriptor, __cil_tmp62, "alert with no driver\n");
2971      }
2972    } else {
2973
2974    }
2975  }
2976  }
2977  {
2978#line 82
2979  device_unlock(dev);
2980  }
2981#line 85
2982  return (-16);
2983}
2984}
2985#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
2986static void smbus_alert(struct work_struct *work ) 
2987{ struct i2c_smbus_alert *alert ;
2988  struct i2c_client *ara ;
2989  unsigned short prev_addr ;
2990  struct work_struct  const  *__mptr ;
2991  s32 status ;
2992  struct alert_data data ;
2993  struct _ddebug descriptor ;
2994  long tmp ;
2995  struct i2c_smbus_alert *__cil_tmp10 ;
2996  unsigned long __cil_tmp11 ;
2997  unsigned long __cil_tmp12 ;
2998  struct i2c_client  const  *__cil_tmp13 ;
2999  unsigned long __cil_tmp14 ;
3000  unsigned char __cil_tmp15 ;
3001  unsigned int __cil_tmp16 ;
3002  unsigned int __cil_tmp17 ;
3003  struct alert_data *__cil_tmp18 ;
3004  s32 __cil_tmp19 ;
3005  int __cil_tmp20 ;
3006  struct alert_data *__cil_tmp21 ;
3007  unsigned short __cil_tmp22 ;
3008  int __cil_tmp23 ;
3009  unsigned long __cil_tmp24 ;
3010  unsigned long __cil_tmp25 ;
3011  struct device *__cil_tmp26 ;
3012  struct device  const  *__cil_tmp27 ;
3013  struct alert_data *__cil_tmp28 ;
3014  unsigned short __cil_tmp29 ;
3015  int __cil_tmp30 ;
3016  struct _ddebug *__cil_tmp31 ;
3017  unsigned long __cil_tmp32 ;
3018  unsigned long __cil_tmp33 ;
3019  unsigned long __cil_tmp34 ;
3020  unsigned long __cil_tmp35 ;
3021  unsigned long __cil_tmp36 ;
3022  unsigned long __cil_tmp37 ;
3023  unsigned char __cil_tmp38 ;
3024  long __cil_tmp39 ;
3025  long __cil_tmp40 ;
3026  unsigned long __cil_tmp41 ;
3027  unsigned long __cil_tmp42 ;
3028  struct device *__cil_tmp43 ;
3029  struct device  const  *__cil_tmp44 ;
3030  struct alert_data *__cil_tmp45 ;
3031  unsigned short __cil_tmp46 ;
3032  int __cil_tmp47 ;
3033  unsigned long __cil_tmp48 ;
3034  unsigned char __cil_tmp49 ;
3035  int __cil_tmp50 ;
3036  unsigned long __cil_tmp51 ;
3037  unsigned long __cil_tmp52 ;
3038  struct i2c_adapter *__cil_tmp53 ;
3039  unsigned long __cil_tmp54 ;
3040  unsigned long __cil_tmp55 ;
3041  struct device *__cil_tmp56 ;
3042  void *__cil_tmp57 ;
3043  struct alert_data *__cil_tmp58 ;
3044  unsigned char *__cil_tmp59 ;
3045  unsigned char *__cil_tmp60 ;
3046  unsigned char __cil_tmp61 ;
3047  unsigned int __cil_tmp62 ;
3048  unsigned long __cil_tmp63 ;
3049  unsigned long __cil_tmp64 ;
3050  int __cil_tmp65 ;
3051  unsigned int __cil_tmp66 ;
3052
3053  {
3054#line 96
3055  prev_addr = (unsigned short)0;
3056#line 98
3057  __mptr = (struct work_struct  const  *)work;
3058#line 98
3059  __cil_tmp10 = (struct i2c_smbus_alert *)__mptr;
3060#line 98
3061  alert = __cil_tmp10 + 0xfffffffffffffff8UL;
3062#line 99
3063  __cil_tmp11 = (unsigned long )alert;
3064#line 99
3065  __cil_tmp12 = __cil_tmp11 + 88;
3066#line 99
3067  ara = *((struct i2c_client **)__cil_tmp12);
3068  ldv_20156: 
3069  {
3070#line 113
3071  __cil_tmp13 = (struct i2c_client  const  *)ara;
3072#line 113
3073  status = i2c_smbus_read_byte(__cil_tmp13);
3074  }
3075#line 114
3076  if (status < 0) {
3077#line 115
3078    goto ldv_20153;
3079  } else {
3080
3081  }
3082#line 117
3083  __cil_tmp14 = (unsigned long )(& data) + 2;
3084#line 117
3085  __cil_tmp15 = (unsigned char )status;
3086#line 117
3087  __cil_tmp16 = (unsigned int )__cil_tmp15;
3088#line 117
3089  __cil_tmp17 = __cil_tmp16 & 1U;
3090#line 117
3091  *((unsigned char *)__cil_tmp14) = (unsigned char )__cil_tmp17;
3092#line 118
3093  __cil_tmp18 = & data;
3094#line 118
3095  __cil_tmp19 = status >> 1;
3096#line 118
3097  *((unsigned short *)__cil_tmp18) = (unsigned short )__cil_tmp19;
3098  {
3099#line 120
3100  __cil_tmp20 = (int )prev_addr;
3101#line 120
3102  __cil_tmp21 = & data;
3103#line 120
3104  __cil_tmp22 = *((unsigned short *)__cil_tmp21);
3105#line 120
3106  __cil_tmp23 = (int )__cil_tmp22;
3107#line 120
3108  if (__cil_tmp23 == __cil_tmp20) {
3109    {
3110#line 121
3111    __cil_tmp24 = (unsigned long )ara;
3112#line 121
3113    __cil_tmp25 = __cil_tmp24 + 40;
3114#line 121
3115    __cil_tmp26 = (struct device *)__cil_tmp25;
3116#line 121
3117    __cil_tmp27 = (struct device  const  *)__cil_tmp26;
3118#line 121
3119    __cil_tmp28 = & data;
3120#line 121
3121    __cil_tmp29 = *((unsigned short *)__cil_tmp28);
3122#line 121
3123    __cil_tmp30 = (int )__cil_tmp29;
3124#line 121
3125    dev_warn(__cil_tmp27, "Duplicate SMBALERT# from dev 0x%02x, skipping\n", __cil_tmp30);
3126    }
3127#line 123
3128    goto ldv_20153;
3129  } else {
3130
3131  }
3132  }
3133  {
3134#line 125
3135  __cil_tmp31 = & descriptor;
3136#line 125
3137  *((char const   **)__cil_tmp31) = "i2c_smbus";
3138#line 125
3139  __cil_tmp32 = (unsigned long )(& descriptor) + 8;
3140#line 125
3141  *((char const   **)__cil_tmp32) = "smbus_alert";
3142#line 125
3143  __cil_tmp33 = (unsigned long )(& descriptor) + 16;
3144#line 125
3145  *((char const   **)__cil_tmp33) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p";
3146#line 125
3147  __cil_tmp34 = (unsigned long )(& descriptor) + 24;
3148#line 125
3149  *((char const   **)__cil_tmp34) = "SMBALERT# from dev 0x%02x, flag %d\n";
3150#line 125
3151  __cil_tmp35 = (unsigned long )(& descriptor) + 32;
3152#line 125
3153  *((unsigned int *)__cil_tmp35) = 126U;
3154#line 125
3155  __cil_tmp36 = (unsigned long )(& descriptor) + 35;
3156#line 125
3157  *((unsigned char *)__cil_tmp36) = (unsigned char)1;
3158#line 125
3159  __cil_tmp37 = (unsigned long )(& descriptor) + 35;
3160#line 125
3161  __cil_tmp38 = *((unsigned char *)__cil_tmp37);
3162#line 125
3163  __cil_tmp39 = (long )__cil_tmp38;
3164#line 125
3165  __cil_tmp40 = __cil_tmp39 & 1L;
3166#line 125
3167  tmp = __builtin_expect(__cil_tmp40, 0L);
3168  }
3169#line 125
3170  if (tmp != 0L) {
3171    {
3172#line 125
3173    __cil_tmp41 = (unsigned long )ara;
3174#line 125
3175    __cil_tmp42 = __cil_tmp41 + 40;
3176#line 125
3177    __cil_tmp43 = (struct device *)__cil_tmp42;
3178#line 125
3179    __cil_tmp44 = (struct device  const  *)__cil_tmp43;
3180#line 125
3181    __cil_tmp45 = & data;
3182#line 125
3183    __cil_tmp46 = *((unsigned short *)__cil_tmp45);
3184#line 125
3185    __cil_tmp47 = (int )__cil_tmp46;
3186#line 125
3187    __cil_tmp48 = (unsigned long )(& data) + 2;
3188#line 125
3189    __cil_tmp49 = *((unsigned char *)__cil_tmp48);
3190#line 125
3191    __cil_tmp50 = (int )__cil_tmp49;
3192#line 125
3193    __dynamic_dev_dbg(& descriptor, __cil_tmp44, "SMBALERT# from dev 0x%02x, flag %d\n",
3194                      __cil_tmp47, __cil_tmp50);
3195    }
3196  } else {
3197
3198  }
3199  {
3200#line 129
3201  __cil_tmp51 = (unsigned long )ara;
3202#line 129
3203  __cil_tmp52 = __cil_tmp51 + 24;
3204#line 129
3205  __cil_tmp53 = *((struct i2c_adapter **)__cil_tmp52);
3206#line 129
3207  __cil_tmp54 = (unsigned long )__cil_tmp53;
3208#line 129
3209  __cil_tmp55 = __cil_tmp54 + 176;
3210#line 129
3211  __cil_tmp56 = (struct device *)__cil_tmp55;
3212#line 129
3213  __cil_tmp57 = (void *)(& data);
3214#line 129
3215  device_for_each_child(__cil_tmp56, __cil_tmp57, & smbus_do_alert);
3216#line 131
3217  __cil_tmp58 = & data;
3218#line 131
3219  prev_addr = *((unsigned short *)__cil_tmp58);
3220  }
3221#line 132
3222  goto ldv_20156;
3223  ldv_20153: ;
3224  {
3225#line 135
3226  __cil_tmp59 = (unsigned char *)alert;
3227#line 135
3228  __cil_tmp60 = __cil_tmp59 + 0UL;
3229#line 135
3230  __cil_tmp61 = *__cil_tmp60;
3231#line 135
3232  __cil_tmp62 = (unsigned int )__cil_tmp61;
3233#line 135
3234  if (__cil_tmp62 == 0U) {
3235    {
3236#line 136
3237    __cil_tmp63 = (unsigned long )alert;
3238#line 136
3239    __cil_tmp64 = __cil_tmp63 + 4;
3240#line 136
3241    __cil_tmp65 = *((int *)__cil_tmp64);
3242#line 136
3243    __cil_tmp66 = (unsigned int )__cil_tmp65;
3244#line 136
3245    enable_irq(__cil_tmp66);
3246    }
3247  } else {
3248
3249  }
3250  }
3251#line 137
3252  return;
3253}
3254}
3255#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3256static irqreturn_t smbalert_irq(int irq , void *d ) 
3257{ struct i2c_smbus_alert *alert ;
3258  unsigned char *__cil_tmp4 ;
3259  unsigned char *__cil_tmp5 ;
3260  unsigned char __cil_tmp6 ;
3261  unsigned int __cil_tmp7 ;
3262  unsigned int __cil_tmp8 ;
3263  unsigned long __cil_tmp9 ;
3264  unsigned long __cil_tmp10 ;
3265  struct work_struct *__cil_tmp11 ;
3266
3267  {
3268#line 141
3269  alert = (struct i2c_smbus_alert *)d;
3270  {
3271#line 144
3272  __cil_tmp4 = (unsigned char *)alert;
3273#line 144
3274  __cil_tmp5 = __cil_tmp4 + 0UL;
3275#line 144
3276  __cil_tmp6 = *__cil_tmp5;
3277#line 144
3278  __cil_tmp7 = (unsigned int )__cil_tmp6;
3279#line 144
3280  if (__cil_tmp7 == 0U) {
3281    {
3282#line 145
3283    __cil_tmp8 = (unsigned int )irq;
3284#line 145
3285    disable_irq_nosync(__cil_tmp8);
3286    }
3287  } else {
3288
3289  }
3290  }
3291  {
3292#line 147
3293  __cil_tmp9 = (unsigned long )alert;
3294#line 147
3295  __cil_tmp10 = __cil_tmp9 + 8;
3296#line 147
3297  __cil_tmp11 = (struct work_struct *)__cil_tmp10;
3298#line 147
3299  schedule_work(__cil_tmp11);
3300  }
3301#line 148
3302  return ((irqreturn_t )1);
3303}
3304}
3305#line 152 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3306static int smbalert_probe(struct i2c_client *ara , struct i2c_device_id  const  *id ) 
3307{ struct i2c_smbus_alert_setup *setup ;
3308  struct i2c_smbus_alert *alert ;
3309  struct i2c_adapter *adapter ;
3310  int res ;
3311  void *tmp ;
3312  struct lock_class_key __key ;
3313  atomic_long_t __constr_expr_0 ;
3314  char *tmp___0 ;
3315  unsigned long __cil_tmp11 ;
3316  unsigned long __cil_tmp12 ;
3317  unsigned long __cil_tmp13 ;
3318  void *__cil_tmp14 ;
3319  unsigned long __cil_tmp15 ;
3320  unsigned long __cil_tmp16 ;
3321  struct i2c_smbus_alert *__cil_tmp17 ;
3322  unsigned long __cil_tmp18 ;
3323  unsigned long __cil_tmp19 ;
3324  unsigned long __cil_tmp20 ;
3325  unsigned long __cil_tmp21 ;
3326  unsigned long __cil_tmp22 ;
3327  unsigned long __cil_tmp23 ;
3328  unsigned long __cil_tmp24 ;
3329  unsigned long __cil_tmp25 ;
3330  struct work_struct *__cil_tmp26 ;
3331  unsigned long __cil_tmp27 ;
3332  unsigned long __cil_tmp28 ;
3333  unsigned long __cil_tmp29 ;
3334  unsigned long __cil_tmp30 ;
3335  unsigned long __cil_tmp31 ;
3336  struct lockdep_map *__cil_tmp32 ;
3337  unsigned long __cil_tmp33 ;
3338  unsigned long __cil_tmp34 ;
3339  unsigned long __cil_tmp35 ;
3340  struct list_head *__cil_tmp36 ;
3341  unsigned long __cil_tmp37 ;
3342  unsigned long __cil_tmp38 ;
3343  unsigned long __cil_tmp39 ;
3344  unsigned long __cil_tmp40 ;
3345  unsigned long __cil_tmp41 ;
3346  unsigned long __cil_tmp42 ;
3347  unsigned long __cil_tmp43 ;
3348  int __cil_tmp44 ;
3349  unsigned long __cil_tmp45 ;
3350  unsigned long __cil_tmp46 ;
3351  struct device *__cil_tmp47 ;
3352  unsigned long __cil_tmp48 ;
3353  unsigned long __cil_tmp49 ;
3354  int __cil_tmp50 ;
3355  unsigned int __cil_tmp51 ;
3356  void *__cil_tmp52 ;
3357  void const   *__cil_tmp53 ;
3358  void *__cil_tmp54 ;
3359  unsigned char *__cil_tmp55 ;
3360  unsigned char *__cil_tmp56 ;
3361  unsigned char __cil_tmp57 ;
3362  unsigned int __cil_tmp58 ;
3363  unsigned long __cil_tmp59 ;
3364  unsigned long __cil_tmp60 ;
3365  struct device *__cil_tmp61 ;
3366  struct device  const  *__cil_tmp62 ;
3367  long __constr_expr_0_counter63 ;
3368
3369  {
3370  {
3371#line 155
3372  __cil_tmp11 = 40 + 280;
3373#line 155
3374  __cil_tmp12 = (unsigned long )ara;
3375#line 155
3376  __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
3377#line 155
3378  __cil_tmp14 = *((void **)__cil_tmp13);
3379#line 155
3380  setup = (struct i2c_smbus_alert_setup *)__cil_tmp14;
3381#line 157
3382  __cil_tmp15 = (unsigned long )ara;
3383#line 157
3384  __cil_tmp16 = __cil_tmp15 + 24;
3385#line 157
3386  adapter = *((struct i2c_adapter **)__cil_tmp16);
3387#line 160
3388  tmp = kzalloc(96UL, 208U);
3389#line 160
3390  alert = (struct i2c_smbus_alert *)tmp;
3391  }
3392  {
3393#line 161
3394  __cil_tmp17 = (struct i2c_smbus_alert *)0;
3395#line 161
3396  __cil_tmp18 = (unsigned long )__cil_tmp17;
3397#line 161
3398  __cil_tmp19 = (unsigned long )alert;
3399#line 161
3400  if (__cil_tmp19 == __cil_tmp18) {
3401#line 162
3402    return (-12);
3403  } else {
3404
3405  }
3406  }
3407  {
3408#line 164
3409  *((unsigned char *)alert) = *((unsigned char *)setup);
3410#line 165
3411  __cil_tmp20 = (unsigned long )alert;
3412#line 165
3413  __cil_tmp21 = __cil_tmp20 + 4;
3414#line 165
3415  __cil_tmp22 = (unsigned long )setup;
3416#line 165
3417  __cil_tmp23 = __cil_tmp22 + 4;
3418#line 165
3419  *((int *)__cil_tmp21) = *((int *)__cil_tmp23);
3420#line 166
3421  __cil_tmp24 = (unsigned long )alert;
3422#line 166
3423  __cil_tmp25 = __cil_tmp24 + 8;
3424#line 166
3425  __cil_tmp26 = (struct work_struct *)__cil_tmp25;
3426#line 166
3427  __init_work(__cil_tmp26, 0);
3428#line 166
3429  __constr_expr_0_counter63 = 2097664L;
3430#line 166
3431  __cil_tmp27 = (unsigned long )alert;
3432#line 166
3433  __cil_tmp28 = __cil_tmp27 + 8;
3434#line 166
3435  ((atomic_long_t *)__cil_tmp28)->counter = __constr_expr_0_counter63;
3436#line 166
3437  __cil_tmp29 = 8 + 32;
3438#line 166
3439  __cil_tmp30 = (unsigned long )alert;
3440#line 166
3441  __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
3442#line 166
3443  __cil_tmp32 = (struct lockdep_map *)__cil_tmp31;
3444#line 166
3445  lockdep_init_map(__cil_tmp32, "(&alert->alert)", & __key, 0);
3446#line 166
3447  __cil_tmp33 = 8 + 8;
3448#line 166
3449  __cil_tmp34 = (unsigned long )alert;
3450#line 166
3451  __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
3452#line 166
3453  __cil_tmp36 = (struct list_head *)__cil_tmp35;
3454#line 166
3455  INIT_LIST_HEAD(__cil_tmp36);
3456#line 166
3457  __cil_tmp37 = 8 + 24;
3458#line 166
3459  __cil_tmp38 = (unsigned long )alert;
3460#line 166
3461  __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
3462#line 166
3463  *((void (**)(struct work_struct * ))__cil_tmp39) = & smbus_alert;
3464#line 167
3465  __cil_tmp40 = (unsigned long )alert;
3466#line 167
3467  __cil_tmp41 = __cil_tmp40 + 88;
3468#line 167
3469  *((struct i2c_client **)__cil_tmp41) = ara;
3470  }
3471  {
3472#line 169
3473  __cil_tmp42 = (unsigned long )setup;
3474#line 169
3475  __cil_tmp43 = __cil_tmp42 + 4;
3476#line 169
3477  __cil_tmp44 = *((int *)__cil_tmp43);
3478#line 169
3479  if (__cil_tmp44 > 0) {
3480    {
3481#line 170
3482    __cil_tmp45 = (unsigned long )ara;
3483#line 170
3484    __cil_tmp46 = __cil_tmp45 + 40;
3485#line 170
3486    __cil_tmp47 = (struct device *)__cil_tmp46;
3487#line 170
3488    __cil_tmp48 = (unsigned long )setup;
3489#line 170
3490    __cil_tmp49 = __cil_tmp48 + 4;
3491#line 170
3492    __cil_tmp50 = *((int *)__cil_tmp49);
3493#line 170
3494    __cil_tmp51 = (unsigned int )__cil_tmp50;
3495#line 170
3496    __cil_tmp52 = (void *)alert;
3497#line 170
3498    res = devm_request_irq(__cil_tmp47, __cil_tmp51, & smbalert_irq, 0UL, "smbus_alert",
3499                           __cil_tmp52);
3500    }
3501#line 172
3502    if (res != 0) {
3503      {
3504#line 173
3505      __cil_tmp53 = (void const   *)alert;
3506#line 173
3507      kfree(__cil_tmp53);
3508      }
3509#line 174
3510      return (res);
3511    } else {
3512
3513    }
3514  } else {
3515
3516  }
3517  }
3518  {
3519#line 178
3520  __cil_tmp54 = (void *)alert;
3521#line 178
3522  i2c_set_clientdata(ara, __cil_tmp54);
3523  }
3524  {
3525#line 179
3526  __cil_tmp55 = (unsigned char *)setup;
3527#line 179
3528  __cil_tmp56 = __cil_tmp55 + 0UL;
3529#line 179
3530  __cil_tmp57 = *__cil_tmp56;
3531#line 179
3532  __cil_tmp58 = (unsigned int )__cil_tmp57;
3533#line 179
3534  if (__cil_tmp58 != 0U) {
3535#line 179
3536    tmp___0 = (char *)"edge";
3537  } else {
3538#line 179
3539    tmp___0 = (char *)"level";
3540  }
3541  }
3542  {
3543#line 179
3544  __cil_tmp59 = (unsigned long )adapter;
3545#line 179
3546  __cil_tmp60 = __cil_tmp59 + 176;
3547#line 179
3548  __cil_tmp61 = (struct device *)__cil_tmp60;
3549#line 179
3550  __cil_tmp62 = (struct device  const  *)__cil_tmp61;
3551#line 179
3552  _dev_info(__cil_tmp62, "supports SMBALERT#, %s trigger\n", tmp___0);
3553  }
3554#line 182
3555  return (0);
3556}
3557}
3558#line 186 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3559static int smbalert_remove(struct i2c_client *ara ) 
3560{ struct i2c_smbus_alert *alert ;
3561  void *tmp ;
3562  struct i2c_client  const  *__cil_tmp4 ;
3563  unsigned long __cil_tmp5 ;
3564  unsigned long __cil_tmp6 ;
3565  struct work_struct *__cil_tmp7 ;
3566  void const   *__cil_tmp8 ;
3567
3568  {
3569  {
3570#line 188
3571  __cil_tmp4 = (struct i2c_client  const  *)ara;
3572#line 188
3573  tmp = i2c_get_clientdata(__cil_tmp4);
3574#line 188
3575  alert = (struct i2c_smbus_alert *)tmp;
3576#line 190
3577  __cil_tmp5 = (unsigned long )alert;
3578#line 190
3579  __cil_tmp6 = __cil_tmp5 + 8;
3580#line 190
3581  __cil_tmp7 = (struct work_struct *)__cil_tmp6;
3582#line 190
3583  cancel_work_sync(__cil_tmp7);
3584#line 192
3585  __cil_tmp8 = (void const   *)alert;
3586#line 192
3587  kfree(__cil_tmp8);
3588  }
3589#line 193
3590  return (0);
3591}
3592}
3593#line 196 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3594static struct i2c_device_id  const  smbalert_ids[2U]  = {      {{(char )'s', (char )'m', (char )'b', (char )'u', (char )'s', (char )'_', (char )'a',
3595       (char )'l', (char )'e', (char )'r', (char )'t', (char )'\000', (char)0, (char)0,
3596       (char)0, (char)0, (char)0, (char)0, (char)0, (char)0}, 0UL}, 
3597        {{(char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
3598       (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
3599       (char)0, (char)0}, 0UL}};
3600#line 200 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3601struct i2c_device_id  const  __mod_i2c_device_table  ;
3602#line 202 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3603static struct i2c_driver smbalert_driver  = 
3604#line 202
3605     {0U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & smbalert_probe,
3606    & smbalert_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
3607                                                                   pm_message_t  ))0,
3608    (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int  ))0,
3609    (int (*)(struct i2c_client * , unsigned int  , void * ))0, {"smbus_alert", (struct bus_type *)0,
3610                                                                (struct module *)0,
3611                                                                (char const   *)0,
3612                                                                (_Bool)0, (struct of_device_id  const  *)0,
3613                                                                (int (*)(struct device * ))0,
3614                                                                (int (*)(struct device * ))0,
3615                                                                (void (*)(struct device * ))0,
3616                                                                (int (*)(struct device * ,
3617                                                                         pm_message_t  ))0,
3618                                                                (int (*)(struct device * ))0,
3619                                                                (struct attribute_group  const  **)0,
3620                                                                (struct dev_pm_ops  const  *)0,
3621                                                                (struct driver_private *)0},
3622    (struct i2c_device_id  const  *)(& smbalert_ids), (int (*)(struct i2c_client * ,
3623                                                               struct i2c_board_info * ))0,
3624    (unsigned short const   *)0, {(struct list_head *)0, (struct list_head *)0}};
3625#line 231 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3626struct i2c_client *i2c_setup_smbus_alert(struct i2c_adapter *adapter , struct i2c_smbus_alert_setup *setup ) 
3627{ struct i2c_board_info ara_board_info ;
3628  struct i2c_client *tmp ;
3629  unsigned long __cil_tmp5 ;
3630  unsigned long __cil_tmp6 ;
3631  unsigned long __cil_tmp7 ;
3632  unsigned long __cil_tmp8 ;
3633  unsigned long __cil_tmp9 ;
3634  unsigned long __cil_tmp10 ;
3635  unsigned long __cil_tmp11 ;
3636  unsigned long __cil_tmp12 ;
3637  unsigned long __cil_tmp13 ;
3638  unsigned long __cil_tmp14 ;
3639  unsigned long __cil_tmp15 ;
3640  unsigned long __cil_tmp16 ;
3641  unsigned long __cil_tmp17 ;
3642  unsigned long __cil_tmp18 ;
3643  unsigned long __cil_tmp19 ;
3644  unsigned long __cil_tmp20 ;
3645  unsigned long __cil_tmp21 ;
3646  unsigned long __cil_tmp22 ;
3647  unsigned long __cil_tmp23 ;
3648  unsigned long __cil_tmp24 ;
3649  unsigned long __cil_tmp25 ;
3650  unsigned long __cil_tmp26 ;
3651  unsigned long __cil_tmp27 ;
3652  unsigned long __cil_tmp28 ;
3653  unsigned long __cil_tmp29 ;
3654  unsigned long __cil_tmp30 ;
3655  unsigned long __cil_tmp31 ;
3656  unsigned long __cil_tmp32 ;
3657  unsigned long __cil_tmp33 ;
3658  unsigned long __cil_tmp34 ;
3659  unsigned long __cil_tmp35 ;
3660  unsigned long __cil_tmp36 ;
3661  unsigned long __cil_tmp37 ;
3662  unsigned long __cil_tmp38 ;
3663  unsigned long __cil_tmp39 ;
3664  unsigned long __cil_tmp40 ;
3665  unsigned long __cil_tmp41 ;
3666  unsigned long __cil_tmp42 ;
3667  unsigned long __cil_tmp43 ;
3668  unsigned long __cil_tmp44 ;
3669  unsigned long __cil_tmp45 ;
3670  unsigned long __cil_tmp46 ;
3671  unsigned long __cil_tmp47 ;
3672  unsigned long __cil_tmp48 ;
3673  unsigned long __cil_tmp49 ;
3674  unsigned long __cil_tmp50 ;
3675  unsigned long __cil_tmp51 ;
3676  unsigned long __cil_tmp52 ;
3677  unsigned long __cil_tmp53 ;
3678  unsigned long __cil_tmp54 ;
3679  unsigned long __cil_tmp55 ;
3680  unsigned long __cil_tmp56 ;
3681  unsigned long __cil_tmp57 ;
3682  unsigned long __cil_tmp58 ;
3683  unsigned long __cil_tmp59 ;
3684  unsigned long __cil_tmp60 ;
3685  unsigned long __cil_tmp61 ;
3686  unsigned long __cil_tmp62 ;
3687  unsigned long __cil_tmp63 ;
3688  unsigned long __cil_tmp64 ;
3689  unsigned long __cil_tmp65 ;
3690  unsigned long __cil_tmp66 ;
3691  unsigned long __cil_tmp67 ;
3692  unsigned long __cil_tmp68 ;
3693  unsigned long __cil_tmp69 ;
3694  unsigned long __cil_tmp70 ;
3695  struct i2c_board_info  const  *__cil_tmp71 ;
3696
3697  {
3698  {
3699#line 234
3700  __cil_tmp5 = 0 * 1UL;
3701#line 234
3702  __cil_tmp6 = 0 + __cil_tmp5;
3703#line 234
3704  __cil_tmp7 = (unsigned long )(& ara_board_info) + __cil_tmp6;
3705#line 234
3706  *((char *)__cil_tmp7) = (char )'s';
3707#line 234
3708  __cil_tmp8 = 1 * 1UL;
3709#line 234
3710  __cil_tmp9 = 0 + __cil_tmp8;
3711#line 234
3712  __cil_tmp10 = (unsigned long )(& ara_board_info) + __cil_tmp9;
3713#line 234
3714  *((char *)__cil_tmp10) = (char )'m';
3715#line 234
3716  __cil_tmp11 = 2 * 1UL;
3717#line 234
3718  __cil_tmp12 = 0 + __cil_tmp11;
3719#line 234
3720  __cil_tmp13 = (unsigned long )(& ara_board_info) + __cil_tmp12;
3721#line 234
3722  *((char *)__cil_tmp13) = (char )'b';
3723#line 234
3724  __cil_tmp14 = 3 * 1UL;
3725#line 234
3726  __cil_tmp15 = 0 + __cil_tmp14;
3727#line 234
3728  __cil_tmp16 = (unsigned long )(& ara_board_info) + __cil_tmp15;
3729#line 234
3730  *((char *)__cil_tmp16) = (char )'u';
3731#line 234
3732  __cil_tmp17 = 4 * 1UL;
3733#line 234
3734  __cil_tmp18 = 0 + __cil_tmp17;
3735#line 234
3736  __cil_tmp19 = (unsigned long )(& ara_board_info) + __cil_tmp18;
3737#line 234
3738  *((char *)__cil_tmp19) = (char )'s';
3739#line 234
3740  __cil_tmp20 = 5 * 1UL;
3741#line 234
3742  __cil_tmp21 = 0 + __cil_tmp20;
3743#line 234
3744  __cil_tmp22 = (unsigned long )(& ara_board_info) + __cil_tmp21;
3745#line 234
3746  *((char *)__cil_tmp22) = (char )'_';
3747#line 234
3748  __cil_tmp23 = 6 * 1UL;
3749#line 234
3750  __cil_tmp24 = 0 + __cil_tmp23;
3751#line 234
3752  __cil_tmp25 = (unsigned long )(& ara_board_info) + __cil_tmp24;
3753#line 234
3754  *((char *)__cil_tmp25) = (char )'a';
3755#line 234
3756  __cil_tmp26 = 7 * 1UL;
3757#line 234
3758  __cil_tmp27 = 0 + __cil_tmp26;
3759#line 234
3760  __cil_tmp28 = (unsigned long )(& ara_board_info) + __cil_tmp27;
3761#line 234
3762  *((char *)__cil_tmp28) = (char )'l';
3763#line 234
3764  __cil_tmp29 = 8 * 1UL;
3765#line 234
3766  __cil_tmp30 = 0 + __cil_tmp29;
3767#line 234
3768  __cil_tmp31 = (unsigned long )(& ara_board_info) + __cil_tmp30;
3769#line 234
3770  *((char *)__cil_tmp31) = (char )'e';
3771#line 234
3772  __cil_tmp32 = 9 * 1UL;
3773#line 234
3774  __cil_tmp33 = 0 + __cil_tmp32;
3775#line 234
3776  __cil_tmp34 = (unsigned long )(& ara_board_info) + __cil_tmp33;
3777#line 234
3778  *((char *)__cil_tmp34) = (char )'r';
3779#line 234
3780  __cil_tmp35 = 10 * 1UL;
3781#line 234
3782  __cil_tmp36 = 0 + __cil_tmp35;
3783#line 234
3784  __cil_tmp37 = (unsigned long )(& ara_board_info) + __cil_tmp36;
3785#line 234
3786  *((char *)__cil_tmp37) = (char )'t';
3787#line 234
3788  __cil_tmp38 = 11 * 1UL;
3789#line 234
3790  __cil_tmp39 = 0 + __cil_tmp38;
3791#line 234
3792  __cil_tmp40 = (unsigned long )(& ara_board_info) + __cil_tmp39;
3793#line 234
3794  *((char *)__cil_tmp40) = (char )'\000';
3795#line 234
3796  __cil_tmp41 = 12 * 1UL;
3797#line 234
3798  __cil_tmp42 = 0 + __cil_tmp41;
3799#line 234
3800  __cil_tmp43 = (unsigned long )(& ara_board_info) + __cil_tmp42;
3801#line 234
3802  *((char *)__cil_tmp43) = (char)0;
3803#line 234
3804  __cil_tmp44 = 13 * 1UL;
3805#line 234
3806  __cil_tmp45 = 0 + __cil_tmp44;
3807#line 234
3808  __cil_tmp46 = (unsigned long )(& ara_board_info) + __cil_tmp45;
3809#line 234
3810  *((char *)__cil_tmp46) = (char)0;
3811#line 234
3812  __cil_tmp47 = 14 * 1UL;
3813#line 234
3814  __cil_tmp48 = 0 + __cil_tmp47;
3815#line 234
3816  __cil_tmp49 = (unsigned long )(& ara_board_info) + __cil_tmp48;
3817#line 234
3818  *((char *)__cil_tmp49) = (char)0;
3819#line 234
3820  __cil_tmp50 = 15 * 1UL;
3821#line 234
3822  __cil_tmp51 = 0 + __cil_tmp50;
3823#line 234
3824  __cil_tmp52 = (unsigned long )(& ara_board_info) + __cil_tmp51;
3825#line 234
3826  *((char *)__cil_tmp52) = (char)0;
3827#line 234
3828  __cil_tmp53 = 16 * 1UL;
3829#line 234
3830  __cil_tmp54 = 0 + __cil_tmp53;
3831#line 234
3832  __cil_tmp55 = (unsigned long )(& ara_board_info) + __cil_tmp54;
3833#line 234
3834  *((char *)__cil_tmp55) = (char)0;
3835#line 234
3836  __cil_tmp56 = 17 * 1UL;
3837#line 234
3838  __cil_tmp57 = 0 + __cil_tmp56;
3839#line 234
3840  __cil_tmp58 = (unsigned long )(& ara_board_info) + __cil_tmp57;
3841#line 234
3842  *((char *)__cil_tmp58) = (char)0;
3843#line 234
3844  __cil_tmp59 = 18 * 1UL;
3845#line 234
3846  __cil_tmp60 = 0 + __cil_tmp59;
3847#line 234
3848  __cil_tmp61 = (unsigned long )(& ara_board_info) + __cil_tmp60;
3849#line 234
3850  *((char *)__cil_tmp61) = (char)0;
3851#line 234
3852  __cil_tmp62 = 19 * 1UL;
3853#line 234
3854  __cil_tmp63 = 0 + __cil_tmp62;
3855#line 234
3856  __cil_tmp64 = (unsigned long )(& ara_board_info) + __cil_tmp63;
3857#line 234
3858  *((char *)__cil_tmp64) = (char)0;
3859#line 234
3860  __cil_tmp65 = (unsigned long )(& ara_board_info) + 20;
3861#line 234
3862  *((unsigned short *)__cil_tmp65) = (unsigned short)0;
3863#line 234
3864  __cil_tmp66 = (unsigned long )(& ara_board_info) + 22;
3865#line 234
3866  *((unsigned short *)__cil_tmp66) = (unsigned short)12;
3867#line 234
3868  __cil_tmp67 = (unsigned long )(& ara_board_info) + 24;
3869#line 234
3870  *((void **)__cil_tmp67) = (void *)setup;
3871#line 234
3872  __cil_tmp68 = (unsigned long )(& ara_board_info) + 32;
3873#line 234
3874  *((struct dev_archdata **)__cil_tmp68) = (struct dev_archdata *)0;
3875#line 234
3876  __cil_tmp69 = (unsigned long )(& ara_board_info) + 40;
3877#line 234
3878  *((struct device_node **)__cil_tmp69) = (struct device_node *)0;
3879#line 234
3880  __cil_tmp70 = (unsigned long )(& ara_board_info) + 48;
3881#line 234
3882  *((int *)__cil_tmp70) = 0;
3883#line 239
3884  __cil_tmp71 = (struct i2c_board_info  const  *)(& ara_board_info);
3885#line 239
3886  tmp = i2c_new_device(adapter, __cil_tmp71);
3887  }
3888#line 239
3889  return (tmp);
3890}
3891}
3892#line 255 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3893int i2c_handle_smbus_alert(struct i2c_client *ara ) 
3894{ struct i2c_smbus_alert *alert ;
3895  void *tmp ;
3896  int tmp___0 ;
3897  struct i2c_client  const  *__cil_tmp5 ;
3898  unsigned long __cil_tmp6 ;
3899  unsigned long __cil_tmp7 ;
3900  struct work_struct *__cil_tmp8 ;
3901
3902  {
3903  {
3904#line 257
3905  __cil_tmp5 = (struct i2c_client  const  *)ara;
3906#line 257
3907  tmp = i2c_get_clientdata(__cil_tmp5);
3908#line 257
3909  alert = (struct i2c_smbus_alert *)tmp;
3910#line 259
3911  __cil_tmp6 = (unsigned long )alert;
3912#line 259
3913  __cil_tmp7 = __cil_tmp6 + 8;
3914#line 259
3915  __cil_tmp8 = (struct work_struct *)__cil_tmp7;
3916#line 259
3917  tmp___0 = schedule_work(__cil_tmp8);
3918  }
3919#line 259
3920  return (tmp___0);
3921}
3922}
3923#line 263 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3924static int i2c_smbus_init(void) 
3925{ int tmp ;
3926
3927  {
3928  {
3929#line 265
3930  tmp = i2c_register_driver(& __this_module, & smbalert_driver);
3931  }
3932#line 265
3933  return (tmp);
3934}
3935}
3936#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3937static void i2c_smbus_exit(void) 
3938{ 
3939
3940  {
3941  {
3942#line 270
3943  i2c_del_driver(& smbalert_driver);
3944  }
3945#line 271
3946  return;
3947}
3948}
3949#line 296
3950extern void ldv_check_final_state(void) ;
3951#line 299
3952extern void ldv_check_return_value(int  ) ;
3953#line 302
3954extern void ldv_initialize(void) ;
3955#line 305
3956extern int __VERIFIER_nondet_int(void) ;
3957#line 308 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3958int LDV_IN_INTERRUPT  ;
3959#line 311 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
3960void main(void) 
3961{ struct i2c_client *var_group1 ;
3962  struct i2c_device_id  const  *var_smbalert_probe_3_p1 ;
3963  int res_smbalert_probe_3 ;
3964  int res_smbalert_remove_4 ;
3965  int var_smbalert_irq_2_p0 ;
3966  void *var_smbalert_irq_2_p1 ;
3967  int ldv_s_smbalert_driver_i2c_driver ;
3968  int tmp ;
3969  int tmp___0 ;
3970  int tmp___1 ;
3971
3972  {
3973  {
3974#line 362
3975  ldv_s_smbalert_driver_i2c_driver = 0;
3976#line 345
3977  LDV_IN_INTERRUPT = 1;
3978#line 354
3979  ldv_initialize();
3980#line 360
3981  tmp = i2c_smbus_init();
3982  }
3983#line 360
3984  if (tmp != 0) {
3985#line 361
3986    goto ldv_final;
3987  } else {
3988
3989  }
3990#line 367
3991  goto ldv_20247;
3992  ldv_20246: 
3993  {
3994#line 371
3995  tmp___0 = __VERIFIER_nondet_int();
3996  }
3997#line 373
3998  if (tmp___0 == 0) {
3999#line 373
4000    goto case_0;
4001  } else
4002#line 392
4003  if (tmp___0 == 1) {
4004#line 392
4005    goto case_1;
4006  } else
4007#line 411
4008  if (tmp___0 == 2) {
4009#line 411
4010    goto case_2;
4011  } else {
4012    {
4013#line 427
4014    goto switch_default;
4015#line 371
4016    if (0) {
4017      case_0: /* CIL Label */ ;
4018#line 376
4019      if (ldv_s_smbalert_driver_i2c_driver == 0) {
4020        {
4021#line 381
4022        res_smbalert_probe_3 = smbalert_probe(var_group1, var_smbalert_probe_3_p1);
4023#line 382
4024        ldv_check_return_value(res_smbalert_probe_3);
4025        }
4026#line 383
4027        if (res_smbalert_probe_3 != 0) {
4028#line 384
4029          goto ldv_module_exit;
4030        } else {
4031
4032        }
4033#line 385
4034        ldv_s_smbalert_driver_i2c_driver = ldv_s_smbalert_driver_i2c_driver + 1;
4035      } else {
4036
4037      }
4038#line 391
4039      goto ldv_20242;
4040      case_1: /* CIL Label */ ;
4041#line 395
4042      if (ldv_s_smbalert_driver_i2c_driver == 1) {
4043        {
4044#line 400
4045        res_smbalert_remove_4 = smbalert_remove(var_group1);
4046#line 401
4047        ldv_check_return_value(res_smbalert_remove_4);
4048        }
4049#line 402
4050        if (res_smbalert_remove_4 != 0) {
4051#line 403
4052          goto ldv_module_exit;
4053        } else {
4054
4055        }
4056#line 404
4057        ldv_s_smbalert_driver_i2c_driver = 0;
4058      } else {
4059
4060      }
4061#line 410
4062      goto ldv_20242;
4063      case_2: /* CIL Label */ 
4064      {
4065#line 414
4066      LDV_IN_INTERRUPT = 2;
4067#line 419
4068      smbalert_irq(var_smbalert_irq_2_p0, var_smbalert_irq_2_p1);
4069#line 420
4070      LDV_IN_INTERRUPT = 1;
4071      }
4072#line 426
4073      goto ldv_20242;
4074      switch_default: /* CIL Label */ ;
4075#line 427
4076      goto ldv_20242;
4077    } else {
4078      switch_break: /* CIL Label */ ;
4079    }
4080    }
4081  }
4082  ldv_20242: ;
4083  ldv_20247: 
4084  {
4085#line 367
4086  tmp___1 = __VERIFIER_nondet_int();
4087  }
4088#line 367
4089  if (tmp___1 != 0) {
4090#line 369
4091    goto ldv_20246;
4092  } else
4093#line 367
4094  if (ldv_s_smbalert_driver_i2c_driver != 0) {
4095#line 369
4096    goto ldv_20246;
4097  } else {
4098#line 371
4099    goto ldv_20248;
4100  }
4101  ldv_20248: ;
4102  ldv_module_exit: 
4103  {
4104#line 439
4105  i2c_smbus_exit();
4106  }
4107  ldv_final: 
4108  {
4109#line 442
4110  ldv_check_final_state();
4111  }
4112#line 445
4113  return;
4114}
4115}
4116#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4117void ldv_blast_assert(void) 
4118{ 
4119
4120  {
4121  ERROR: ;
4122#line 6
4123  goto ERROR;
4124}
4125}
4126#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4127extern int __VERIFIER_nondet_int(void) ;
4128#line 466 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4129int ldv_spin  =    0;
4130#line 470 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4131void ldv_check_alloc_flags(gfp_t flags ) 
4132{ 
4133
4134  {
4135#line 473
4136  if (ldv_spin != 0) {
4137#line 473
4138    if (flags != 32U) {
4139      {
4140#line 473
4141      ldv_blast_assert();
4142      }
4143    } else {
4144
4145    }
4146  } else {
4147
4148  }
4149#line 476
4150  return;
4151}
4152}
4153#line 476
4154extern struct page *ldv_some_page(void) ;
4155#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4156struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
4157{ struct page *tmp ;
4158
4159  {
4160#line 482
4161  if (ldv_spin != 0) {
4162#line 482
4163    if (flags != 32U) {
4164      {
4165#line 482
4166      ldv_blast_assert();
4167      }
4168    } else {
4169
4170    }
4171  } else {
4172
4173  }
4174  {
4175#line 484
4176  tmp = ldv_some_page();
4177  }
4178#line 484
4179  return (tmp);
4180}
4181}
4182#line 488 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4183void ldv_check_alloc_nonatomic(void) 
4184{ 
4185
4186  {
4187#line 491
4188  if (ldv_spin != 0) {
4189    {
4190#line 491
4191    ldv_blast_assert();
4192    }
4193  } else {
4194
4195  }
4196#line 494
4197  return;
4198}
4199}
4200#line 495 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4201void ldv_spin_lock(void) 
4202{ 
4203
4204  {
4205#line 498
4206  ldv_spin = 1;
4207#line 499
4208  return;
4209}
4210}
4211#line 502 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4212void ldv_spin_unlock(void) 
4213{ 
4214
4215  {
4216#line 505
4217  ldv_spin = 0;
4218#line 506
4219  return;
4220}
4221}
4222#line 509 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4223int ldv_spin_trylock(void) 
4224{ int is_lock ;
4225
4226  {
4227  {
4228#line 514
4229  is_lock = __VERIFIER_nondet_int();
4230  }
4231#line 516
4232  if (is_lock != 0) {
4233#line 519
4234    return (0);
4235  } else {
4236#line 524
4237    ldv_spin = 1;
4238#line 526
4239    return (1);
4240  }
4241}
4242}
4243#line 693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4244void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
4245{ 
4246
4247  {
4248  {
4249#line 699
4250  ldv_check_alloc_flags(ldv_func_arg2);
4251#line 701
4252  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4253  }
4254#line 702
4255  return ((void *)0);
4256}
4257}
4258#line 704 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11475/dscv_tempdir/dscv/ri/43_1a/drivers/i2c/i2c-smbus.c.p"
4259__inline static void *kzalloc(size_t size , gfp_t flags ) 
4260{ void *tmp ;
4261
4262  {
4263  {
4264#line 710
4265  ldv_check_alloc_flags(flags);
4266#line 711
4267  tmp = __VERIFIER_nondet_pointer();
4268  }
4269#line 711
4270  return (tmp);
4271}
4272}