Showing error 1183

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