Showing error 813

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


Source:

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