Showing error 781

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