Showing error 1078

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--misc--bmp085.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4620
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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