Showing error 1072

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


Source:

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