Showing error 1230

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