Showing error 592

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/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--regulator--wm831x-isink.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4284
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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