Showing error 1238

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--staging--iio--meter--ade7854-i2c.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4435
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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