Showing error 1182

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


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 111 "include/linux/types.h"
  75typedef __s32 int32_t;
  76#line 117 "include/linux/types.h"
  77typedef __u32 uint32_t;
  78#line 202 "include/linux/types.h"
  79typedef unsigned int gfp_t;
  80#line 206 "include/linux/types.h"
  81typedef u64 phys_addr_t;
  82#line 211 "include/linux/types.h"
  83typedef phys_addr_t resource_size_t;
  84#line 221 "include/linux/types.h"
  85struct __anonstruct_atomic_t_6 {
  86   int counter ;
  87};
  88#line 221 "include/linux/types.h"
  89typedef struct __anonstruct_atomic_t_6 atomic_t;
  90#line 226 "include/linux/types.h"
  91struct __anonstruct_atomic64_t_7 {
  92   long counter ;
  93};
  94#line 226 "include/linux/types.h"
  95typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  96#line 227 "include/linux/types.h"
  97struct list_head {
  98   struct list_head *next ;
  99   struct list_head *prev ;
 100};
 101#line 232
 102struct hlist_node;
 103#line 232 "include/linux/types.h"
 104struct hlist_head {
 105   struct hlist_node *first ;
 106};
 107#line 236 "include/linux/types.h"
 108struct hlist_node {
 109   struct hlist_node *next ;
 110   struct hlist_node **pprev ;
 111};
 112#line 247 "include/linux/types.h"
 113struct rcu_head {
 114   struct rcu_head *next ;
 115   void (*func)(struct rcu_head * ) ;
 116};
 117#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 118struct module;
 119#line 55
 120struct module;
 121#line 146 "include/linux/init.h"
 122typedef void (*ctor_fn_t)(void);
 123#line 305 "include/linux/printk.h"
 124struct _ddebug {
 125   char const   *modname ;
 126   char const   *function ;
 127   char const   *filename ;
 128   char const   *format ;
 129   unsigned int lineno : 18 ;
 130   unsigned char flags ;
 131};
 132#line 46 "include/linux/dynamic_debug.h"
 133struct device;
 134#line 46
 135struct device;
 136#line 57
 137struct completion;
 138#line 57
 139struct completion;
 140#line 58
 141struct pt_regs;
 142#line 58
 143struct pt_regs;
 144#line 348 "include/linux/kernel.h"
 145struct pid;
 146#line 348
 147struct pid;
 148#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 149struct timespec;
 150#line 112
 151struct timespec;
 152#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 153struct page;
 154#line 58
 155struct page;
 156#line 26 "include/asm-generic/getorder.h"
 157struct task_struct;
 158#line 26
 159struct task_struct;
 160#line 28
 161struct mm_struct;
 162#line 28
 163struct mm_struct;
 164#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 165struct pt_regs {
 166   unsigned long r15 ;
 167   unsigned long r14 ;
 168   unsigned long r13 ;
 169   unsigned long r12 ;
 170   unsigned long bp ;
 171   unsigned long bx ;
 172   unsigned long r11 ;
 173   unsigned long r10 ;
 174   unsigned long r9 ;
 175   unsigned long r8 ;
 176   unsigned long ax ;
 177   unsigned long cx ;
 178   unsigned long dx ;
 179   unsigned long si ;
 180   unsigned long di ;
 181   unsigned long orig_ax ;
 182   unsigned long ip ;
 183   unsigned long cs ;
 184   unsigned long flags ;
 185   unsigned long sp ;
 186   unsigned long ss ;
 187};
 188#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 189struct __anonstruct_ldv_2180_13 {
 190   unsigned int a ;
 191   unsigned int b ;
 192};
 193#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 194struct __anonstruct_ldv_2195_14 {
 195   u16 limit0 ;
 196   u16 base0 ;
 197   unsigned char base1 ;
 198   unsigned char type : 4 ;
 199   unsigned char s : 1 ;
 200   unsigned char dpl : 2 ;
 201   unsigned char p : 1 ;
 202   unsigned char limit : 4 ;
 203   unsigned char avl : 1 ;
 204   unsigned char l : 1 ;
 205   unsigned char d : 1 ;
 206   unsigned char g : 1 ;
 207   unsigned char base2 ;
 208};
 209#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 210union __anonunion_ldv_2196_12 {
 211   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 212   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 213};
 214#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 215struct desc_struct {
 216   union __anonunion_ldv_2196_12 ldv_2196 ;
 217};
 218#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 219typedef unsigned long pgdval_t;
 220#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 221typedef unsigned long pgprotval_t;
 222#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 223struct pgprot {
 224   pgprotval_t pgprot ;
 225};
 226#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 227typedef struct pgprot pgprot_t;
 228#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 229struct __anonstruct_pgd_t_16 {
 230   pgdval_t pgd ;
 231};
 232#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 233typedef struct __anonstruct_pgd_t_16 pgd_t;
 234#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 235typedef struct page *pgtable_t;
 236#line 290
 237struct file;
 238#line 290
 239struct file;
 240#line 337
 241struct thread_struct;
 242#line 337
 243struct thread_struct;
 244#line 339
 245struct cpumask;
 246#line 339
 247struct cpumask;
 248#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 249struct arch_spinlock;
 250#line 327
 251struct arch_spinlock;
 252#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 253struct kernel_vm86_regs {
 254   struct pt_regs pt ;
 255   unsigned short es ;
 256   unsigned short __esh ;
 257   unsigned short ds ;
 258   unsigned short __dsh ;
 259   unsigned short fs ;
 260   unsigned short __fsh ;
 261   unsigned short gs ;
 262   unsigned short __gsh ;
 263};
 264#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 265union __anonunion_ldv_2824_19 {
 266   struct pt_regs *regs ;
 267   struct kernel_vm86_regs *vm86 ;
 268};
 269#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 270struct math_emu_info {
 271   long ___orig_eip ;
 272   union __anonunion_ldv_2824_19 ldv_2824 ;
 273};
 274#line 306 "include/linux/bitmap.h"
 275struct bug_entry {
 276   int bug_addr_disp ;
 277   int file_disp ;
 278   unsigned short line ;
 279   unsigned short flags ;
 280};
 281#line 89 "include/linux/bug.h"
 282struct cpumask {
 283   unsigned long bits[64U] ;
 284};
 285#line 14 "include/linux/cpumask.h"
 286typedef struct cpumask cpumask_t;
 287#line 637 "include/linux/cpumask.h"
 288typedef struct cpumask *cpumask_var_t;
 289#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 290struct static_key;
 291#line 234
 292struct static_key;
 293#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 294struct i387_fsave_struct {
 295   u32 cwd ;
 296   u32 swd ;
 297   u32 twd ;
 298   u32 fip ;
 299   u32 fcs ;
 300   u32 foo ;
 301   u32 fos ;
 302   u32 st_space[20U] ;
 303   u32 status ;
 304};
 305#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 306struct __anonstruct_ldv_5180_24 {
 307   u64 rip ;
 308   u64 rdp ;
 309};
 310#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 311struct __anonstruct_ldv_5186_25 {
 312   u32 fip ;
 313   u32 fcs ;
 314   u32 foo ;
 315   u32 fos ;
 316};
 317#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 318union __anonunion_ldv_5187_23 {
 319   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 320   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 321};
 322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323union __anonunion_ldv_5196_26 {
 324   u32 padding1[12U] ;
 325   u32 sw_reserved[12U] ;
 326};
 327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 328struct i387_fxsave_struct {
 329   u16 cwd ;
 330   u16 swd ;
 331   u16 twd ;
 332   u16 fop ;
 333   union __anonunion_ldv_5187_23 ldv_5187 ;
 334   u32 mxcsr ;
 335   u32 mxcsr_mask ;
 336   u32 st_space[32U] ;
 337   u32 xmm_space[64U] ;
 338   u32 padding[12U] ;
 339   union __anonunion_ldv_5196_26 ldv_5196 ;
 340};
 341#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 342struct i387_soft_struct {
 343   u32 cwd ;
 344   u32 swd ;
 345   u32 twd ;
 346   u32 fip ;
 347   u32 fcs ;
 348   u32 foo ;
 349   u32 fos ;
 350   u32 st_space[20U] ;
 351   u8 ftop ;
 352   u8 changed ;
 353   u8 lookahead ;
 354   u8 no_update ;
 355   u8 rm ;
 356   u8 alimit ;
 357   struct math_emu_info *info ;
 358   u32 entry_eip ;
 359};
 360#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 361struct ymmh_struct {
 362   u32 ymmh_space[64U] ;
 363};
 364#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 365struct xsave_hdr_struct {
 366   u64 xstate_bv ;
 367   u64 reserved1[2U] ;
 368   u64 reserved2[5U] ;
 369};
 370#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 371struct xsave_struct {
 372   struct i387_fxsave_struct i387 ;
 373   struct xsave_hdr_struct xsave_hdr ;
 374   struct ymmh_struct ymmh ;
 375};
 376#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 377union thread_xstate {
 378   struct i387_fsave_struct fsave ;
 379   struct i387_fxsave_struct fxsave ;
 380   struct i387_soft_struct soft ;
 381   struct xsave_struct xsave ;
 382};
 383#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384struct fpu {
 385   unsigned int last_cpu ;
 386   unsigned int has_fpu ;
 387   union thread_xstate *state ;
 388};
 389#line 433
 390struct kmem_cache;
 391#line 434
 392struct perf_event;
 393#line 434
 394struct perf_event;
 395#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 396struct thread_struct {
 397   struct desc_struct tls_array[3U] ;
 398   unsigned long sp0 ;
 399   unsigned long sp ;
 400   unsigned long usersp ;
 401   unsigned short es ;
 402   unsigned short ds ;
 403   unsigned short fsindex ;
 404   unsigned short gsindex ;
 405   unsigned long fs ;
 406   unsigned long gs ;
 407   struct perf_event *ptrace_bps[4U] ;
 408   unsigned long debugreg6 ;
 409   unsigned long ptrace_dr7 ;
 410   unsigned long cr2 ;
 411   unsigned long trap_nr ;
 412   unsigned long error_code ;
 413   struct fpu fpu ;
 414   unsigned long *io_bitmap_ptr ;
 415   unsigned long iopl ;
 416   unsigned int io_bitmap_max ;
 417};
 418#line 23 "include/asm-generic/atomic-long.h"
 419typedef atomic64_t atomic_long_t;
 420#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 421typedef u16 __ticket_t;
 422#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 423typedef u32 __ticketpair_t;
 424#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 425struct __raw_tickets {
 426   __ticket_t head ;
 427   __ticket_t tail ;
 428};
 429#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 430union __anonunion_ldv_5907_29 {
 431   __ticketpair_t head_tail ;
 432   struct __raw_tickets tickets ;
 433};
 434#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 435struct arch_spinlock {
 436   union __anonunion_ldv_5907_29 ldv_5907 ;
 437};
 438#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 439typedef struct arch_spinlock arch_spinlock_t;
 440#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 441struct lockdep_map;
 442#line 34
 443struct lockdep_map;
 444#line 55 "include/linux/debug_locks.h"
 445struct stack_trace {
 446   unsigned int nr_entries ;
 447   unsigned int max_entries ;
 448   unsigned long *entries ;
 449   int skip ;
 450};
 451#line 26 "include/linux/stacktrace.h"
 452struct lockdep_subclass_key {
 453   char __one_byte ;
 454};
 455#line 53 "include/linux/lockdep.h"
 456struct lock_class_key {
 457   struct lockdep_subclass_key subkeys[8U] ;
 458};
 459#line 59 "include/linux/lockdep.h"
 460struct lock_class {
 461   struct list_head hash_entry ;
 462   struct list_head lock_entry ;
 463   struct lockdep_subclass_key *key ;
 464   unsigned int subclass ;
 465   unsigned int dep_gen_id ;
 466   unsigned long usage_mask ;
 467   struct stack_trace usage_traces[13U] ;
 468   struct list_head locks_after ;
 469   struct list_head locks_before ;
 470   unsigned int version ;
 471   unsigned long ops ;
 472   char const   *name ;
 473   int name_version ;
 474   unsigned long contention_point[4U] ;
 475   unsigned long contending_point[4U] ;
 476};
 477#line 144 "include/linux/lockdep.h"
 478struct lockdep_map {
 479   struct lock_class_key *key ;
 480   struct lock_class *class_cache[2U] ;
 481   char const   *name ;
 482   int cpu ;
 483   unsigned long ip ;
 484};
 485#line 187 "include/linux/lockdep.h"
 486struct held_lock {
 487   u64 prev_chain_key ;
 488   unsigned long acquire_ip ;
 489   struct lockdep_map *instance ;
 490   struct lockdep_map *nest_lock ;
 491   u64 waittime_stamp ;
 492   u64 holdtime_stamp ;
 493   unsigned short class_idx : 13 ;
 494   unsigned char irq_context : 2 ;
 495   unsigned char trylock : 1 ;
 496   unsigned char read : 2 ;
 497   unsigned char check : 2 ;
 498   unsigned char hardirqs_off : 1 ;
 499   unsigned short references : 11 ;
 500};
 501#line 556 "include/linux/lockdep.h"
 502struct raw_spinlock {
 503   arch_spinlock_t raw_lock ;
 504   unsigned int magic ;
 505   unsigned int owner_cpu ;
 506   void *owner ;
 507   struct lockdep_map dep_map ;
 508};
 509#line 32 "include/linux/spinlock_types.h"
 510typedef struct raw_spinlock raw_spinlock_t;
 511#line 33 "include/linux/spinlock_types.h"
 512struct __anonstruct_ldv_6122_33 {
 513   u8 __padding[24U] ;
 514   struct lockdep_map dep_map ;
 515};
 516#line 33 "include/linux/spinlock_types.h"
 517union __anonunion_ldv_6123_32 {
 518   struct raw_spinlock rlock ;
 519   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 520};
 521#line 33 "include/linux/spinlock_types.h"
 522struct spinlock {
 523   union __anonunion_ldv_6123_32 ldv_6123 ;
 524};
 525#line 76 "include/linux/spinlock_types.h"
 526typedef struct spinlock spinlock_t;
 527#line 110 "include/linux/seqlock.h"
 528struct seqcount {
 529   unsigned int sequence ;
 530};
 531#line 121 "include/linux/seqlock.h"
 532typedef struct seqcount seqcount_t;
 533#line 254 "include/linux/seqlock.h"
 534struct timespec {
 535   __kernel_time_t tv_sec ;
 536   long tv_nsec ;
 537};
 538#line 48 "include/linux/wait.h"
 539struct __wait_queue_head {
 540   spinlock_t lock ;
 541   struct list_head task_list ;
 542};
 543#line 53 "include/linux/wait.h"
 544typedef struct __wait_queue_head wait_queue_head_t;
 545#line 98 "include/linux/nodemask.h"
 546struct __anonstruct_nodemask_t_36 {
 547   unsigned long bits[16U] ;
 548};
 549#line 98 "include/linux/nodemask.h"
 550typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 551#line 670 "include/linux/mmzone.h"
 552struct mutex {
 553   atomic_t count ;
 554   spinlock_t wait_lock ;
 555   struct list_head wait_list ;
 556   struct task_struct *owner ;
 557   char const   *name ;
 558   void *magic ;
 559   struct lockdep_map dep_map ;
 560};
 561#line 63 "include/linux/mutex.h"
 562struct mutex_waiter {
 563   struct list_head list ;
 564   struct task_struct *task ;
 565   void *magic ;
 566};
 567#line 171
 568struct rw_semaphore;
 569#line 171
 570struct rw_semaphore;
 571#line 172 "include/linux/mutex.h"
 572struct rw_semaphore {
 573   long count ;
 574   raw_spinlock_t wait_lock ;
 575   struct list_head wait_list ;
 576   struct lockdep_map dep_map ;
 577};
 578#line 128 "include/linux/rwsem.h"
 579struct completion {
 580   unsigned int done ;
 581   wait_queue_head_t wait ;
 582};
 583#line 188 "include/linux/rcupdate.h"
 584struct notifier_block;
 585#line 188
 586struct notifier_block;
 587#line 239 "include/linux/srcu.h"
 588struct notifier_block {
 589   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 590   struct notifier_block *next ;
 591   int priority ;
 592};
 593#line 60 "include/linux/notifier.h"
 594struct blocking_notifier_head {
 595   struct rw_semaphore rwsem ;
 596   struct notifier_block *head ;
 597};
 598#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 599struct resource {
 600   resource_size_t start ;
 601   resource_size_t end ;
 602   char const   *name ;
 603   unsigned long flags ;
 604   struct resource *parent ;
 605   struct resource *sibling ;
 606   struct resource *child ;
 607};
 608#line 312 "include/linux/jiffies.h"
 609union ktime {
 610   s64 tv64 ;
 611};
 612#line 59 "include/linux/ktime.h"
 613typedef union ktime ktime_t;
 614#line 341
 615struct tvec_base;
 616#line 341
 617struct tvec_base;
 618#line 342 "include/linux/ktime.h"
 619struct timer_list {
 620   struct list_head entry ;
 621   unsigned long expires ;
 622   struct tvec_base *base ;
 623   void (*function)(unsigned long  ) ;
 624   unsigned long data ;
 625   int slack ;
 626   int start_pid ;
 627   void *start_site ;
 628   char start_comm[16U] ;
 629   struct lockdep_map lockdep_map ;
 630};
 631#line 289 "include/linux/timer.h"
 632struct hrtimer;
 633#line 289
 634struct hrtimer;
 635#line 290
 636enum hrtimer_restart;
 637#line 302
 638struct work_struct;
 639#line 302
 640struct work_struct;
 641#line 45 "include/linux/workqueue.h"
 642struct work_struct {
 643   atomic_long_t data ;
 644   struct list_head entry ;
 645   void (*func)(struct work_struct * ) ;
 646   struct lockdep_map lockdep_map ;
 647};
 648#line 86 "include/linux/workqueue.h"
 649struct delayed_work {
 650   struct work_struct work ;
 651   struct timer_list timer ;
 652};
 653#line 46 "include/linux/pm.h"
 654struct pm_message {
 655   int event ;
 656};
 657#line 52 "include/linux/pm.h"
 658typedef struct pm_message pm_message_t;
 659#line 53 "include/linux/pm.h"
 660struct dev_pm_ops {
 661   int (*prepare)(struct device * ) ;
 662   void (*complete)(struct device * ) ;
 663   int (*suspend)(struct device * ) ;
 664   int (*resume)(struct device * ) ;
 665   int (*freeze)(struct device * ) ;
 666   int (*thaw)(struct device * ) ;
 667   int (*poweroff)(struct device * ) ;
 668   int (*restore)(struct device * ) ;
 669   int (*suspend_late)(struct device * ) ;
 670   int (*resume_early)(struct device * ) ;
 671   int (*freeze_late)(struct device * ) ;
 672   int (*thaw_early)(struct device * ) ;
 673   int (*poweroff_late)(struct device * ) ;
 674   int (*restore_early)(struct device * ) ;
 675   int (*suspend_noirq)(struct device * ) ;
 676   int (*resume_noirq)(struct device * ) ;
 677   int (*freeze_noirq)(struct device * ) ;
 678   int (*thaw_noirq)(struct device * ) ;
 679   int (*poweroff_noirq)(struct device * ) ;
 680   int (*restore_noirq)(struct device * ) ;
 681   int (*runtime_suspend)(struct device * ) ;
 682   int (*runtime_resume)(struct device * ) ;
 683   int (*runtime_idle)(struct device * ) ;
 684};
 685#line 289
 686enum rpm_status {
 687    RPM_ACTIVE = 0,
 688    RPM_RESUMING = 1,
 689    RPM_SUSPENDED = 2,
 690    RPM_SUSPENDING = 3
 691} ;
 692#line 296
 693enum rpm_request {
 694    RPM_REQ_NONE = 0,
 695    RPM_REQ_IDLE = 1,
 696    RPM_REQ_SUSPEND = 2,
 697    RPM_REQ_AUTOSUSPEND = 3,
 698    RPM_REQ_RESUME = 4
 699} ;
 700#line 304
 701struct wakeup_source;
 702#line 304
 703struct wakeup_source;
 704#line 494 "include/linux/pm.h"
 705struct pm_subsys_data {
 706   spinlock_t lock ;
 707   unsigned int refcount ;
 708};
 709#line 499
 710struct dev_pm_qos_request;
 711#line 499
 712struct pm_qos_constraints;
 713#line 499 "include/linux/pm.h"
 714struct dev_pm_info {
 715   pm_message_t power_state ;
 716   unsigned char can_wakeup : 1 ;
 717   unsigned char async_suspend : 1 ;
 718   bool is_prepared ;
 719   bool is_suspended ;
 720   bool ignore_children ;
 721   spinlock_t lock ;
 722   struct list_head entry ;
 723   struct completion completion ;
 724   struct wakeup_source *wakeup ;
 725   bool wakeup_path ;
 726   struct timer_list suspend_timer ;
 727   unsigned long timer_expires ;
 728   struct work_struct work ;
 729   wait_queue_head_t wait_queue ;
 730   atomic_t usage_count ;
 731   atomic_t child_count ;
 732   unsigned char disable_depth : 3 ;
 733   unsigned char idle_notification : 1 ;
 734   unsigned char request_pending : 1 ;
 735   unsigned char deferred_resume : 1 ;
 736   unsigned char run_wake : 1 ;
 737   unsigned char runtime_auto : 1 ;
 738   unsigned char no_callbacks : 1 ;
 739   unsigned char irq_safe : 1 ;
 740   unsigned char use_autosuspend : 1 ;
 741   unsigned char timer_autosuspends : 1 ;
 742   enum rpm_request request ;
 743   enum rpm_status runtime_status ;
 744   int runtime_error ;
 745   int autosuspend_delay ;
 746   unsigned long last_busy ;
 747   unsigned long active_jiffies ;
 748   unsigned long suspended_jiffies ;
 749   unsigned long accounting_timestamp ;
 750   ktime_t suspend_time ;
 751   s64 max_time_suspended_ns ;
 752   struct dev_pm_qos_request *pq_req ;
 753   struct pm_subsys_data *subsys_data ;
 754   struct pm_qos_constraints *constraints ;
 755};
 756#line 558 "include/linux/pm.h"
 757struct dev_pm_domain {
 758   struct dev_pm_ops ops ;
 759};
 760#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 761struct __anonstruct_mm_context_t_101 {
 762   void *ldt ;
 763   int size ;
 764   unsigned short ia32_compat ;
 765   struct mutex lock ;
 766   void *vdso ;
 767};
 768#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 769typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 770#line 18 "include/asm-generic/pci_iomap.h"
 771struct vm_area_struct;
 772#line 18
 773struct vm_area_struct;
 774#line 835 "include/linux/sysctl.h"
 775struct rb_node {
 776   unsigned long rb_parent_color ;
 777   struct rb_node *rb_right ;
 778   struct rb_node *rb_left ;
 779};
 780#line 108 "include/linux/rbtree.h"
 781struct rb_root {
 782   struct rb_node *rb_node ;
 783};
 784#line 176
 785struct nsproxy;
 786#line 176
 787struct nsproxy;
 788#line 37 "include/linux/kmod.h"
 789struct cred;
 790#line 37
 791struct cred;
 792#line 18 "include/linux/elf.h"
 793typedef __u64 Elf64_Addr;
 794#line 19 "include/linux/elf.h"
 795typedef __u16 Elf64_Half;
 796#line 23 "include/linux/elf.h"
 797typedef __u32 Elf64_Word;
 798#line 24 "include/linux/elf.h"
 799typedef __u64 Elf64_Xword;
 800#line 193 "include/linux/elf.h"
 801struct elf64_sym {
 802   Elf64_Word st_name ;
 803   unsigned char st_info ;
 804   unsigned char st_other ;
 805   Elf64_Half st_shndx ;
 806   Elf64_Addr st_value ;
 807   Elf64_Xword st_size ;
 808};
 809#line 201 "include/linux/elf.h"
 810typedef struct elf64_sym Elf64_Sym;
 811#line 445
 812struct sock;
 813#line 445
 814struct sock;
 815#line 446
 816struct kobject;
 817#line 446
 818struct kobject;
 819#line 447
 820enum kobj_ns_type {
 821    KOBJ_NS_TYPE_NONE = 0,
 822    KOBJ_NS_TYPE_NET = 1,
 823    KOBJ_NS_TYPES = 2
 824} ;
 825#line 453 "include/linux/elf.h"
 826struct kobj_ns_type_operations {
 827   enum kobj_ns_type type ;
 828   void *(*grab_current_ns)(void) ;
 829   void const   *(*netlink_ns)(struct sock * ) ;
 830   void const   *(*initial_ns)(void) ;
 831   void (*drop_ns)(void * ) ;
 832};
 833#line 57 "include/linux/kobject_ns.h"
 834struct attribute {
 835   char const   *name ;
 836   umode_t mode ;
 837   struct lock_class_key *key ;
 838   struct lock_class_key skey ;
 839};
 840#line 33 "include/linux/sysfs.h"
 841struct attribute_group {
 842   char const   *name ;
 843   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 844   struct attribute **attrs ;
 845};
 846#line 62 "include/linux/sysfs.h"
 847struct bin_attribute {
 848   struct attribute attr ;
 849   size_t size ;
 850   void *private ;
 851   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 852                   loff_t  , size_t  ) ;
 853   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 854                    loff_t  , size_t  ) ;
 855   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 856};
 857#line 98 "include/linux/sysfs.h"
 858struct sysfs_ops {
 859   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 860   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 861   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 862};
 863#line 117
 864struct sysfs_dirent;
 865#line 117
 866struct sysfs_dirent;
 867#line 182 "include/linux/sysfs.h"
 868struct kref {
 869   atomic_t refcount ;
 870};
 871#line 49 "include/linux/kobject.h"
 872struct kset;
 873#line 49
 874struct kobj_type;
 875#line 49 "include/linux/kobject.h"
 876struct kobject {
 877   char const   *name ;
 878   struct list_head entry ;
 879   struct kobject *parent ;
 880   struct kset *kset ;
 881   struct kobj_type *ktype ;
 882   struct sysfs_dirent *sd ;
 883   struct kref kref ;
 884   unsigned char state_initialized : 1 ;
 885   unsigned char state_in_sysfs : 1 ;
 886   unsigned char state_add_uevent_sent : 1 ;
 887   unsigned char state_remove_uevent_sent : 1 ;
 888   unsigned char uevent_suppress : 1 ;
 889};
 890#line 107 "include/linux/kobject.h"
 891struct kobj_type {
 892   void (*release)(struct kobject * ) ;
 893   struct sysfs_ops  const  *sysfs_ops ;
 894   struct attribute **default_attrs ;
 895   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 896   void const   *(*namespace)(struct kobject * ) ;
 897};
 898#line 115 "include/linux/kobject.h"
 899struct kobj_uevent_env {
 900   char *envp[32U] ;
 901   int envp_idx ;
 902   char buf[2048U] ;
 903   int buflen ;
 904};
 905#line 122 "include/linux/kobject.h"
 906struct kset_uevent_ops {
 907   int (* const  filter)(struct kset * , struct kobject * ) ;
 908   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 909   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 910};
 911#line 139 "include/linux/kobject.h"
 912struct kset {
 913   struct list_head list ;
 914   spinlock_t list_lock ;
 915   struct kobject kobj ;
 916   struct kset_uevent_ops  const  *uevent_ops ;
 917};
 918#line 215
 919struct kernel_param;
 920#line 215
 921struct kernel_param;
 922#line 216 "include/linux/kobject.h"
 923struct kernel_param_ops {
 924   int (*set)(char const   * , struct kernel_param  const  * ) ;
 925   int (*get)(char * , struct kernel_param  const  * ) ;
 926   void (*free)(void * ) ;
 927};
 928#line 49 "include/linux/moduleparam.h"
 929struct kparam_string;
 930#line 49
 931struct kparam_array;
 932#line 49 "include/linux/moduleparam.h"
 933union __anonunion_ldv_13363_134 {
 934   void *arg ;
 935   struct kparam_string  const  *str ;
 936   struct kparam_array  const  *arr ;
 937};
 938#line 49 "include/linux/moduleparam.h"
 939struct kernel_param {
 940   char const   *name ;
 941   struct kernel_param_ops  const  *ops ;
 942   u16 perm ;
 943   s16 level ;
 944   union __anonunion_ldv_13363_134 ldv_13363 ;
 945};
 946#line 61 "include/linux/moduleparam.h"
 947struct kparam_string {
 948   unsigned int maxlen ;
 949   char *string ;
 950};
 951#line 67 "include/linux/moduleparam.h"
 952struct kparam_array {
 953   unsigned int max ;
 954   unsigned int elemsize ;
 955   unsigned int *num ;
 956   struct kernel_param_ops  const  *ops ;
 957   void *elem ;
 958};
 959#line 458 "include/linux/moduleparam.h"
 960struct static_key {
 961   atomic_t enabled ;
 962};
 963#line 225 "include/linux/jump_label.h"
 964struct tracepoint;
 965#line 225
 966struct tracepoint;
 967#line 226 "include/linux/jump_label.h"
 968struct tracepoint_func {
 969   void *func ;
 970   void *data ;
 971};
 972#line 29 "include/linux/tracepoint.h"
 973struct tracepoint {
 974   char const   *name ;
 975   struct static_key key ;
 976   void (*regfunc)(void) ;
 977   void (*unregfunc)(void) ;
 978   struct tracepoint_func *funcs ;
 979};
 980#line 86 "include/linux/tracepoint.h"
 981struct kernel_symbol {
 982   unsigned long value ;
 983   char const   *name ;
 984};
 985#line 27 "include/linux/export.h"
 986struct mod_arch_specific {
 987
 988};
 989#line 34 "include/linux/module.h"
 990struct module_param_attrs;
 991#line 34 "include/linux/module.h"
 992struct module_kobject {
 993   struct kobject kobj ;
 994   struct module *mod ;
 995   struct kobject *drivers_dir ;
 996   struct module_param_attrs *mp ;
 997};
 998#line 43 "include/linux/module.h"
 999struct module_attribute {
1000   struct attribute attr ;
1001   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1002   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1003                    size_t  ) ;
1004   void (*setup)(struct module * , char const   * ) ;
1005   int (*test)(struct module * ) ;
1006   void (*free)(struct module * ) ;
1007};
1008#line 69
1009struct exception_table_entry;
1010#line 69
1011struct exception_table_entry;
1012#line 198
1013enum module_state {
1014    MODULE_STATE_LIVE = 0,
1015    MODULE_STATE_COMING = 1,
1016    MODULE_STATE_GOING = 2
1017} ;
1018#line 204 "include/linux/module.h"
1019struct module_ref {
1020   unsigned long incs ;
1021   unsigned long decs ;
1022};
1023#line 219
1024struct module_sect_attrs;
1025#line 219
1026struct module_notes_attrs;
1027#line 219
1028struct ftrace_event_call;
1029#line 219 "include/linux/module.h"
1030struct module {
1031   enum module_state state ;
1032   struct list_head list ;
1033   char name[56U] ;
1034   struct module_kobject mkobj ;
1035   struct module_attribute *modinfo_attrs ;
1036   char const   *version ;
1037   char const   *srcversion ;
1038   struct kobject *holders_dir ;
1039   struct kernel_symbol  const  *syms ;
1040   unsigned long const   *crcs ;
1041   unsigned int num_syms ;
1042   struct kernel_param *kp ;
1043   unsigned int num_kp ;
1044   unsigned int num_gpl_syms ;
1045   struct kernel_symbol  const  *gpl_syms ;
1046   unsigned long const   *gpl_crcs ;
1047   struct kernel_symbol  const  *unused_syms ;
1048   unsigned long const   *unused_crcs ;
1049   unsigned int num_unused_syms ;
1050   unsigned int num_unused_gpl_syms ;
1051   struct kernel_symbol  const  *unused_gpl_syms ;
1052   unsigned long const   *unused_gpl_crcs ;
1053   struct kernel_symbol  const  *gpl_future_syms ;
1054   unsigned long const   *gpl_future_crcs ;
1055   unsigned int num_gpl_future_syms ;
1056   unsigned int num_exentries ;
1057   struct exception_table_entry *extable ;
1058   int (*init)(void) ;
1059   void *module_init ;
1060   void *module_core ;
1061   unsigned int init_size ;
1062   unsigned int core_size ;
1063   unsigned int init_text_size ;
1064   unsigned int core_text_size ;
1065   unsigned int init_ro_size ;
1066   unsigned int core_ro_size ;
1067   struct mod_arch_specific arch ;
1068   unsigned int taints ;
1069   unsigned int num_bugs ;
1070   struct list_head bug_list ;
1071   struct bug_entry *bug_table ;
1072   Elf64_Sym *symtab ;
1073   Elf64_Sym *core_symtab ;
1074   unsigned int num_symtab ;
1075   unsigned int core_num_syms ;
1076   char *strtab ;
1077   char *core_strtab ;
1078   struct module_sect_attrs *sect_attrs ;
1079   struct module_notes_attrs *notes_attrs ;
1080   char *args ;
1081   void *percpu ;
1082   unsigned int percpu_size ;
1083   unsigned int num_tracepoints ;
1084   struct tracepoint * const  *tracepoints_ptrs ;
1085   unsigned int num_trace_bprintk_fmt ;
1086   char const   **trace_bprintk_fmt_start ;
1087   struct ftrace_event_call **trace_events ;
1088   unsigned int num_trace_events ;
1089   struct list_head source_list ;
1090   struct list_head target_list ;
1091   struct task_struct *waiter ;
1092   void (*exit)(void) ;
1093   struct module_ref *refptr ;
1094   ctor_fn_t (**ctors)(void) ;
1095   unsigned int num_ctors ;
1096};
1097#line 88 "include/linux/kmemleak.h"
1098struct kmem_cache_cpu {
1099   void **freelist ;
1100   unsigned long tid ;
1101   struct page *page ;
1102   struct page *partial ;
1103   int node ;
1104   unsigned int stat[26U] ;
1105};
1106#line 55 "include/linux/slub_def.h"
1107struct kmem_cache_node {
1108   spinlock_t list_lock ;
1109   unsigned long nr_partial ;
1110   struct list_head partial ;
1111   atomic_long_t nr_slabs ;
1112   atomic_long_t total_objects ;
1113   struct list_head full ;
1114};
1115#line 66 "include/linux/slub_def.h"
1116struct kmem_cache_order_objects {
1117   unsigned long x ;
1118};
1119#line 76 "include/linux/slub_def.h"
1120struct kmem_cache {
1121   struct kmem_cache_cpu *cpu_slab ;
1122   unsigned long flags ;
1123   unsigned long min_partial ;
1124   int size ;
1125   int objsize ;
1126   int offset ;
1127   int cpu_partial ;
1128   struct kmem_cache_order_objects oo ;
1129   struct kmem_cache_order_objects max ;
1130   struct kmem_cache_order_objects min ;
1131   gfp_t allocflags ;
1132   int refcount ;
1133   void (*ctor)(void * ) ;
1134   int inuse ;
1135   int align ;
1136   int reserved ;
1137   char const   *name ;
1138   struct list_head list ;
1139   struct kobject kobj ;
1140   int remote_node_defrag_ratio ;
1141   struct kmem_cache_node *node[1024U] ;
1142};
1143#line 12 "include/linux/mod_devicetable.h"
1144typedef unsigned long kernel_ulong_t;
1145#line 215 "include/linux/mod_devicetable.h"
1146struct of_device_id {
1147   char name[32U] ;
1148   char type[32U] ;
1149   char compatible[128U] ;
1150   void *data ;
1151};
1152#line 492 "include/linux/mod_devicetable.h"
1153struct platform_device_id {
1154   char name[20U] ;
1155   kernel_ulong_t driver_data ;
1156};
1157#line 584
1158struct klist_node;
1159#line 584
1160struct klist_node;
1161#line 37 "include/linux/klist.h"
1162struct klist_node {
1163   void *n_klist ;
1164   struct list_head n_node ;
1165   struct kref n_ref ;
1166};
1167#line 67
1168struct dma_map_ops;
1169#line 67 "include/linux/klist.h"
1170struct dev_archdata {
1171   void *acpi_handle ;
1172   struct dma_map_ops *dma_ops ;
1173   void *iommu ;
1174};
1175#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1176struct pdev_archdata {
1177
1178};
1179#line 17
1180struct device_private;
1181#line 17
1182struct device_private;
1183#line 18
1184struct device_driver;
1185#line 18
1186struct device_driver;
1187#line 19
1188struct driver_private;
1189#line 19
1190struct driver_private;
1191#line 20
1192struct class;
1193#line 20
1194struct class;
1195#line 21
1196struct subsys_private;
1197#line 21
1198struct subsys_private;
1199#line 22
1200struct bus_type;
1201#line 22
1202struct bus_type;
1203#line 23
1204struct device_node;
1205#line 23
1206struct device_node;
1207#line 24
1208struct iommu_ops;
1209#line 24
1210struct iommu_ops;
1211#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1212struct bus_attribute {
1213   struct attribute attr ;
1214   ssize_t (*show)(struct bus_type * , char * ) ;
1215   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1216};
1217#line 51 "include/linux/device.h"
1218struct device_attribute;
1219#line 51
1220struct driver_attribute;
1221#line 51 "include/linux/device.h"
1222struct bus_type {
1223   char const   *name ;
1224   char const   *dev_name ;
1225   struct device *dev_root ;
1226   struct bus_attribute *bus_attrs ;
1227   struct device_attribute *dev_attrs ;
1228   struct driver_attribute *drv_attrs ;
1229   int (*match)(struct device * , struct device_driver * ) ;
1230   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1231   int (*probe)(struct device * ) ;
1232   int (*remove)(struct device * ) ;
1233   void (*shutdown)(struct device * ) ;
1234   int (*suspend)(struct device * , pm_message_t  ) ;
1235   int (*resume)(struct device * ) ;
1236   struct dev_pm_ops  const  *pm ;
1237   struct iommu_ops *iommu_ops ;
1238   struct subsys_private *p ;
1239};
1240#line 125
1241struct device_type;
1242#line 182 "include/linux/device.h"
1243struct device_driver {
1244   char const   *name ;
1245   struct bus_type *bus ;
1246   struct module *owner ;
1247   char const   *mod_name ;
1248   bool suppress_bind_attrs ;
1249   struct of_device_id  const  *of_match_table ;
1250   int (*probe)(struct device * ) ;
1251   int (*remove)(struct device * ) ;
1252   void (*shutdown)(struct device * ) ;
1253   int (*suspend)(struct device * , pm_message_t  ) ;
1254   int (*resume)(struct device * ) ;
1255   struct attribute_group  const  **groups ;
1256   struct dev_pm_ops  const  *pm ;
1257   struct driver_private *p ;
1258};
1259#line 245 "include/linux/device.h"
1260struct driver_attribute {
1261   struct attribute attr ;
1262   ssize_t (*show)(struct device_driver * , char * ) ;
1263   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1264};
1265#line 299
1266struct class_attribute;
1267#line 299 "include/linux/device.h"
1268struct class {
1269   char const   *name ;
1270   struct module *owner ;
1271   struct class_attribute *class_attrs ;
1272   struct device_attribute *dev_attrs ;
1273   struct bin_attribute *dev_bin_attrs ;
1274   struct kobject *dev_kobj ;
1275   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1276   char *(*devnode)(struct device * , umode_t * ) ;
1277   void (*class_release)(struct class * ) ;
1278   void (*dev_release)(struct device * ) ;
1279   int (*suspend)(struct device * , pm_message_t  ) ;
1280   int (*resume)(struct device * ) ;
1281   struct kobj_ns_type_operations  const  *ns_type ;
1282   void const   *(*namespace)(struct device * ) ;
1283   struct dev_pm_ops  const  *pm ;
1284   struct subsys_private *p ;
1285};
1286#line 394 "include/linux/device.h"
1287struct class_attribute {
1288   struct attribute attr ;
1289   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1290   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1291   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1292};
1293#line 447 "include/linux/device.h"
1294struct device_type {
1295   char const   *name ;
1296   struct attribute_group  const  **groups ;
1297   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1298   char *(*devnode)(struct device * , umode_t * ) ;
1299   void (*release)(struct device * ) ;
1300   struct dev_pm_ops  const  *pm ;
1301};
1302#line 474 "include/linux/device.h"
1303struct device_attribute {
1304   struct attribute attr ;
1305   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1306   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1307                    size_t  ) ;
1308};
1309#line 557 "include/linux/device.h"
1310struct device_dma_parameters {
1311   unsigned int max_segment_size ;
1312   unsigned long segment_boundary_mask ;
1313};
1314#line 567
1315struct dma_coherent_mem;
1316#line 567 "include/linux/device.h"
1317struct device {
1318   struct device *parent ;
1319   struct device_private *p ;
1320   struct kobject kobj ;
1321   char const   *init_name ;
1322   struct device_type  const  *type ;
1323   struct mutex mutex ;
1324   struct bus_type *bus ;
1325   struct device_driver *driver ;
1326   void *platform_data ;
1327   struct dev_pm_info power ;
1328   struct dev_pm_domain *pm_domain ;
1329   int numa_node ;
1330   u64 *dma_mask ;
1331   u64 coherent_dma_mask ;
1332   struct device_dma_parameters *dma_parms ;
1333   struct list_head dma_pools ;
1334   struct dma_coherent_mem *dma_mem ;
1335   struct dev_archdata archdata ;
1336   struct device_node *of_node ;
1337   dev_t devt ;
1338   u32 id ;
1339   spinlock_t devres_lock ;
1340   struct list_head devres_head ;
1341   struct klist_node knode_class ;
1342   struct class *class ;
1343   struct attribute_group  const  **groups ;
1344   void (*release)(struct device * ) ;
1345};
1346#line 681 "include/linux/device.h"
1347struct wakeup_source {
1348   char const   *name ;
1349   struct list_head entry ;
1350   spinlock_t lock ;
1351   struct timer_list timer ;
1352   unsigned long timer_expires ;
1353   ktime_t total_time ;
1354   ktime_t max_time ;
1355   ktime_t last_time ;
1356   unsigned long event_count ;
1357   unsigned long active_count ;
1358   unsigned long relax_count ;
1359   unsigned long hit_count ;
1360   unsigned char active : 1 ;
1361};
1362#line 93 "include/linux/capability.h"
1363struct kernel_cap_struct {
1364   __u32 cap[2U] ;
1365};
1366#line 96 "include/linux/capability.h"
1367typedef struct kernel_cap_struct kernel_cap_t;
1368#line 104
1369struct dentry;
1370#line 104
1371struct dentry;
1372#line 105
1373struct user_namespace;
1374#line 105
1375struct user_namespace;
1376#line 554
1377struct prio_tree_node;
1378#line 554 "include/linux/capability.h"
1379struct raw_prio_tree_node {
1380   struct prio_tree_node *left ;
1381   struct prio_tree_node *right ;
1382   struct prio_tree_node *parent ;
1383};
1384#line 19 "include/linux/prio_tree.h"
1385struct prio_tree_node {
1386   struct prio_tree_node *left ;
1387   struct prio_tree_node *right ;
1388   struct prio_tree_node *parent ;
1389   unsigned long start ;
1390   unsigned long last ;
1391};
1392#line 116
1393struct address_space;
1394#line 116
1395struct address_space;
1396#line 117 "include/linux/prio_tree.h"
1397union __anonunion_ldv_15299_138 {
1398   unsigned long index ;
1399   void *freelist ;
1400};
1401#line 117 "include/linux/prio_tree.h"
1402struct __anonstruct_ldv_15309_142 {
1403   unsigned short inuse ;
1404   unsigned short objects : 15 ;
1405   unsigned char frozen : 1 ;
1406};
1407#line 117 "include/linux/prio_tree.h"
1408union __anonunion_ldv_15310_141 {
1409   atomic_t _mapcount ;
1410   struct __anonstruct_ldv_15309_142 ldv_15309 ;
1411};
1412#line 117 "include/linux/prio_tree.h"
1413struct __anonstruct_ldv_15312_140 {
1414   union __anonunion_ldv_15310_141 ldv_15310 ;
1415   atomic_t _count ;
1416};
1417#line 117 "include/linux/prio_tree.h"
1418union __anonunion_ldv_15313_139 {
1419   unsigned long counters ;
1420   struct __anonstruct_ldv_15312_140 ldv_15312 ;
1421};
1422#line 117 "include/linux/prio_tree.h"
1423struct __anonstruct_ldv_15314_137 {
1424   union __anonunion_ldv_15299_138 ldv_15299 ;
1425   union __anonunion_ldv_15313_139 ldv_15313 ;
1426};
1427#line 117 "include/linux/prio_tree.h"
1428struct __anonstruct_ldv_15321_144 {
1429   struct page *next ;
1430   int pages ;
1431   int pobjects ;
1432};
1433#line 117 "include/linux/prio_tree.h"
1434union __anonunion_ldv_15322_143 {
1435   struct list_head lru ;
1436   struct __anonstruct_ldv_15321_144 ldv_15321 ;
1437};
1438#line 117 "include/linux/prio_tree.h"
1439union __anonunion_ldv_15327_145 {
1440   unsigned long private ;
1441   struct kmem_cache *slab ;
1442   struct page *first_page ;
1443};
1444#line 117 "include/linux/prio_tree.h"
1445struct page {
1446   unsigned long flags ;
1447   struct address_space *mapping ;
1448   struct __anonstruct_ldv_15314_137 ldv_15314 ;
1449   union __anonunion_ldv_15322_143 ldv_15322 ;
1450   union __anonunion_ldv_15327_145 ldv_15327 ;
1451   unsigned long debug_flags ;
1452};
1453#line 192 "include/linux/mm_types.h"
1454struct __anonstruct_vm_set_147 {
1455   struct list_head list ;
1456   void *parent ;
1457   struct vm_area_struct *head ;
1458};
1459#line 192 "include/linux/mm_types.h"
1460union __anonunion_shared_146 {
1461   struct __anonstruct_vm_set_147 vm_set ;
1462   struct raw_prio_tree_node prio_tree_node ;
1463};
1464#line 192
1465struct anon_vma;
1466#line 192
1467struct vm_operations_struct;
1468#line 192
1469struct mempolicy;
1470#line 192 "include/linux/mm_types.h"
1471struct vm_area_struct {
1472   struct mm_struct *vm_mm ;
1473   unsigned long vm_start ;
1474   unsigned long vm_end ;
1475   struct vm_area_struct *vm_next ;
1476   struct vm_area_struct *vm_prev ;
1477   pgprot_t vm_page_prot ;
1478   unsigned long vm_flags ;
1479   struct rb_node vm_rb ;
1480   union __anonunion_shared_146 shared ;
1481   struct list_head anon_vma_chain ;
1482   struct anon_vma *anon_vma ;
1483   struct vm_operations_struct  const  *vm_ops ;
1484   unsigned long vm_pgoff ;
1485   struct file *vm_file ;
1486   void *vm_private_data ;
1487   struct mempolicy *vm_policy ;
1488};
1489#line 255 "include/linux/mm_types.h"
1490struct core_thread {
1491   struct task_struct *task ;
1492   struct core_thread *next ;
1493};
1494#line 261 "include/linux/mm_types.h"
1495struct core_state {
1496   atomic_t nr_threads ;
1497   struct core_thread dumper ;
1498   struct completion startup ;
1499};
1500#line 274 "include/linux/mm_types.h"
1501struct mm_rss_stat {
1502   atomic_long_t count[3U] ;
1503};
1504#line 287
1505struct linux_binfmt;
1506#line 287
1507struct mmu_notifier_mm;
1508#line 287 "include/linux/mm_types.h"
1509struct mm_struct {
1510   struct vm_area_struct *mmap ;
1511   struct rb_root mm_rb ;
1512   struct vm_area_struct *mmap_cache ;
1513   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1514                                      unsigned long  , unsigned long  ) ;
1515   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1516   unsigned long mmap_base ;
1517   unsigned long task_size ;
1518   unsigned long cached_hole_size ;
1519   unsigned long free_area_cache ;
1520   pgd_t *pgd ;
1521   atomic_t mm_users ;
1522   atomic_t mm_count ;
1523   int map_count ;
1524   spinlock_t page_table_lock ;
1525   struct rw_semaphore mmap_sem ;
1526   struct list_head mmlist ;
1527   unsigned long hiwater_rss ;
1528   unsigned long hiwater_vm ;
1529   unsigned long total_vm ;
1530   unsigned long locked_vm ;
1531   unsigned long pinned_vm ;
1532   unsigned long shared_vm ;
1533   unsigned long exec_vm ;
1534   unsigned long stack_vm ;
1535   unsigned long reserved_vm ;
1536   unsigned long def_flags ;
1537   unsigned long nr_ptes ;
1538   unsigned long start_code ;
1539   unsigned long end_code ;
1540   unsigned long start_data ;
1541   unsigned long end_data ;
1542   unsigned long start_brk ;
1543   unsigned long brk ;
1544   unsigned long start_stack ;
1545   unsigned long arg_start ;
1546   unsigned long arg_end ;
1547   unsigned long env_start ;
1548   unsigned long env_end ;
1549   unsigned long saved_auxv[44U] ;
1550   struct mm_rss_stat rss_stat ;
1551   struct linux_binfmt *binfmt ;
1552   cpumask_var_t cpu_vm_mask_var ;
1553   mm_context_t context ;
1554   unsigned int faultstamp ;
1555   unsigned int token_priority ;
1556   unsigned int last_interval ;
1557   unsigned long flags ;
1558   struct core_state *core_state ;
1559   spinlock_t ioctx_lock ;
1560   struct hlist_head ioctx_list ;
1561   struct task_struct *owner ;
1562   struct file *exe_file ;
1563   unsigned long num_exe_file_vmas ;
1564   struct mmu_notifier_mm *mmu_notifier_mm ;
1565   pgtable_t pmd_huge_pte ;
1566   struct cpumask cpumask_allocation ;
1567};
1568#line 7 "include/asm-generic/cputime.h"
1569typedef unsigned long cputime_t;
1570#line 98 "include/linux/sem.h"
1571struct sem_undo_list;
1572#line 98 "include/linux/sem.h"
1573struct sysv_sem {
1574   struct sem_undo_list *undo_list ;
1575};
1576#line 107
1577struct siginfo;
1578#line 107
1579struct siginfo;
1580#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1581struct __anonstruct_sigset_t_148 {
1582   unsigned long sig[1U] ;
1583};
1584#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1585typedef struct __anonstruct_sigset_t_148 sigset_t;
1586#line 17 "include/asm-generic/signal-defs.h"
1587typedef void __signalfn_t(int  );
1588#line 18 "include/asm-generic/signal-defs.h"
1589typedef __signalfn_t *__sighandler_t;
1590#line 20 "include/asm-generic/signal-defs.h"
1591typedef void __restorefn_t(void);
1592#line 21 "include/asm-generic/signal-defs.h"
1593typedef __restorefn_t *__sigrestore_t;
1594#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1595struct sigaction {
1596   __sighandler_t sa_handler ;
1597   unsigned long sa_flags ;
1598   __sigrestore_t sa_restorer ;
1599   sigset_t sa_mask ;
1600};
1601#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1602struct k_sigaction {
1603   struct sigaction sa ;
1604};
1605#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1606union sigval {
1607   int sival_int ;
1608   void *sival_ptr ;
1609};
1610#line 10 "include/asm-generic/siginfo.h"
1611typedef union sigval sigval_t;
1612#line 11 "include/asm-generic/siginfo.h"
1613struct __anonstruct__kill_150 {
1614   __kernel_pid_t _pid ;
1615   __kernel_uid32_t _uid ;
1616};
1617#line 11 "include/asm-generic/siginfo.h"
1618struct __anonstruct__timer_151 {
1619   __kernel_timer_t _tid ;
1620   int _overrun ;
1621   char _pad[0U] ;
1622   sigval_t _sigval ;
1623   int _sys_private ;
1624};
1625#line 11 "include/asm-generic/siginfo.h"
1626struct __anonstruct__rt_152 {
1627   __kernel_pid_t _pid ;
1628   __kernel_uid32_t _uid ;
1629   sigval_t _sigval ;
1630};
1631#line 11 "include/asm-generic/siginfo.h"
1632struct __anonstruct__sigchld_153 {
1633   __kernel_pid_t _pid ;
1634   __kernel_uid32_t _uid ;
1635   int _status ;
1636   __kernel_clock_t _utime ;
1637   __kernel_clock_t _stime ;
1638};
1639#line 11 "include/asm-generic/siginfo.h"
1640struct __anonstruct__sigfault_154 {
1641   void *_addr ;
1642   short _addr_lsb ;
1643};
1644#line 11 "include/asm-generic/siginfo.h"
1645struct __anonstruct__sigpoll_155 {
1646   long _band ;
1647   int _fd ;
1648};
1649#line 11 "include/asm-generic/siginfo.h"
1650union __anonunion__sifields_149 {
1651   int _pad[28U] ;
1652   struct __anonstruct__kill_150 _kill ;
1653   struct __anonstruct__timer_151 _timer ;
1654   struct __anonstruct__rt_152 _rt ;
1655   struct __anonstruct__sigchld_153 _sigchld ;
1656   struct __anonstruct__sigfault_154 _sigfault ;
1657   struct __anonstruct__sigpoll_155 _sigpoll ;
1658};
1659#line 11 "include/asm-generic/siginfo.h"
1660struct siginfo {
1661   int si_signo ;
1662   int si_errno ;
1663   int si_code ;
1664   union __anonunion__sifields_149 _sifields ;
1665};
1666#line 102 "include/asm-generic/siginfo.h"
1667typedef struct siginfo siginfo_t;
1668#line 14 "include/linux/signal.h"
1669struct user_struct;
1670#line 24 "include/linux/signal.h"
1671struct sigpending {
1672   struct list_head list ;
1673   sigset_t signal ;
1674};
1675#line 395
1676struct pid_namespace;
1677#line 395 "include/linux/signal.h"
1678struct upid {
1679   int nr ;
1680   struct pid_namespace *ns ;
1681   struct hlist_node pid_chain ;
1682};
1683#line 56 "include/linux/pid.h"
1684struct pid {
1685   atomic_t count ;
1686   unsigned int level ;
1687   struct hlist_head tasks[3U] ;
1688   struct rcu_head rcu ;
1689   struct upid numbers[1U] ;
1690};
1691#line 68 "include/linux/pid.h"
1692struct pid_link {
1693   struct hlist_node node ;
1694   struct pid *pid ;
1695};
1696#line 10 "include/linux/seccomp.h"
1697struct __anonstruct_seccomp_t_158 {
1698   int mode ;
1699};
1700#line 10 "include/linux/seccomp.h"
1701typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1702#line 427 "include/linux/rculist.h"
1703struct plist_head {
1704   struct list_head node_list ;
1705};
1706#line 84 "include/linux/plist.h"
1707struct plist_node {
1708   int prio ;
1709   struct list_head prio_list ;
1710   struct list_head node_list ;
1711};
1712#line 38 "include/linux/rtmutex.h"
1713struct rt_mutex_waiter;
1714#line 38
1715struct rt_mutex_waiter;
1716#line 41 "include/linux/resource.h"
1717struct rlimit {
1718   unsigned long rlim_cur ;
1719   unsigned long rlim_max ;
1720};
1721#line 85 "include/linux/resource.h"
1722struct timerqueue_node {
1723   struct rb_node node ;
1724   ktime_t expires ;
1725};
1726#line 12 "include/linux/timerqueue.h"
1727struct timerqueue_head {
1728   struct rb_root head ;
1729   struct timerqueue_node *next ;
1730};
1731#line 50
1732struct hrtimer_clock_base;
1733#line 50
1734struct hrtimer_clock_base;
1735#line 51
1736struct hrtimer_cpu_base;
1737#line 51
1738struct hrtimer_cpu_base;
1739#line 60
1740enum hrtimer_restart {
1741    HRTIMER_NORESTART = 0,
1742    HRTIMER_RESTART = 1
1743} ;
1744#line 65 "include/linux/timerqueue.h"
1745struct hrtimer {
1746   struct timerqueue_node node ;
1747   ktime_t _softexpires ;
1748   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1749   struct hrtimer_clock_base *base ;
1750   unsigned long state ;
1751   int start_pid ;
1752   void *start_site ;
1753   char start_comm[16U] ;
1754};
1755#line 132 "include/linux/hrtimer.h"
1756struct hrtimer_clock_base {
1757   struct hrtimer_cpu_base *cpu_base ;
1758   int index ;
1759   clockid_t clockid ;
1760   struct timerqueue_head active ;
1761   ktime_t resolution ;
1762   ktime_t (*get_time)(void) ;
1763   ktime_t softirq_time ;
1764   ktime_t offset ;
1765};
1766#line 162 "include/linux/hrtimer.h"
1767struct hrtimer_cpu_base {
1768   raw_spinlock_t lock ;
1769   unsigned long active_bases ;
1770   ktime_t expires_next ;
1771   int hres_active ;
1772   int hang_detected ;
1773   unsigned long nr_events ;
1774   unsigned long nr_retries ;
1775   unsigned long nr_hangs ;
1776   ktime_t max_hang_time ;
1777   struct hrtimer_clock_base clock_base[3U] ;
1778};
1779#line 452 "include/linux/hrtimer.h"
1780struct task_io_accounting {
1781   u64 rchar ;
1782   u64 wchar ;
1783   u64 syscr ;
1784   u64 syscw ;
1785   u64 read_bytes ;
1786   u64 write_bytes ;
1787   u64 cancelled_write_bytes ;
1788};
1789#line 45 "include/linux/task_io_accounting.h"
1790struct latency_record {
1791   unsigned long backtrace[12U] ;
1792   unsigned int count ;
1793   unsigned long time ;
1794   unsigned long max ;
1795};
1796#line 29 "include/linux/key.h"
1797typedef int32_t key_serial_t;
1798#line 32 "include/linux/key.h"
1799typedef uint32_t key_perm_t;
1800#line 33
1801struct key;
1802#line 33
1803struct key;
1804#line 34
1805struct signal_struct;
1806#line 34
1807struct signal_struct;
1808#line 35
1809struct key_type;
1810#line 35
1811struct key_type;
1812#line 37
1813struct keyring_list;
1814#line 37
1815struct keyring_list;
1816#line 115
1817struct key_user;
1818#line 115 "include/linux/key.h"
1819union __anonunion_ldv_16563_159 {
1820   time_t expiry ;
1821   time_t revoked_at ;
1822};
1823#line 115 "include/linux/key.h"
1824union __anonunion_type_data_160 {
1825   struct list_head link ;
1826   unsigned long x[2U] ;
1827   void *p[2U] ;
1828   int reject_error ;
1829};
1830#line 115 "include/linux/key.h"
1831union __anonunion_payload_161 {
1832   unsigned long value ;
1833   void *rcudata ;
1834   void *data ;
1835   struct keyring_list *subscriptions ;
1836};
1837#line 115 "include/linux/key.h"
1838struct key {
1839   atomic_t usage ;
1840   key_serial_t serial ;
1841   struct rb_node serial_node ;
1842   struct key_type *type ;
1843   struct rw_semaphore sem ;
1844   struct key_user *user ;
1845   void *security ;
1846   union __anonunion_ldv_16563_159 ldv_16563 ;
1847   uid_t uid ;
1848   gid_t gid ;
1849   key_perm_t perm ;
1850   unsigned short quotalen ;
1851   unsigned short datalen ;
1852   unsigned long flags ;
1853   char *description ;
1854   union __anonunion_type_data_160 type_data ;
1855   union __anonunion_payload_161 payload ;
1856};
1857#line 316
1858struct audit_context;
1859#line 316
1860struct audit_context;
1861#line 28 "include/linux/selinux.h"
1862struct group_info {
1863   atomic_t usage ;
1864   int ngroups ;
1865   int nblocks ;
1866   gid_t small_block[32U] ;
1867   gid_t *blocks[0U] ;
1868};
1869#line 77 "include/linux/cred.h"
1870struct thread_group_cred {
1871   atomic_t usage ;
1872   pid_t tgid ;
1873   spinlock_t lock ;
1874   struct key *session_keyring ;
1875   struct key *process_keyring ;
1876   struct rcu_head rcu ;
1877};
1878#line 91 "include/linux/cred.h"
1879struct cred {
1880   atomic_t usage ;
1881   atomic_t subscribers ;
1882   void *put_addr ;
1883   unsigned int magic ;
1884   uid_t uid ;
1885   gid_t gid ;
1886   uid_t suid ;
1887   gid_t sgid ;
1888   uid_t euid ;
1889   gid_t egid ;
1890   uid_t fsuid ;
1891   gid_t fsgid ;
1892   unsigned int securebits ;
1893   kernel_cap_t cap_inheritable ;
1894   kernel_cap_t cap_permitted ;
1895   kernel_cap_t cap_effective ;
1896   kernel_cap_t cap_bset ;
1897   unsigned char jit_keyring ;
1898   struct key *thread_keyring ;
1899   struct key *request_key_auth ;
1900   struct thread_group_cred *tgcred ;
1901   void *security ;
1902   struct user_struct *user ;
1903   struct user_namespace *user_ns ;
1904   struct group_info *group_info ;
1905   struct rcu_head rcu ;
1906};
1907#line 264
1908struct llist_node;
1909#line 64 "include/linux/llist.h"
1910struct llist_node {
1911   struct llist_node *next ;
1912};
1913#line 185
1914struct futex_pi_state;
1915#line 185
1916struct futex_pi_state;
1917#line 186
1918struct robust_list_head;
1919#line 186
1920struct robust_list_head;
1921#line 187
1922struct bio_list;
1923#line 187
1924struct bio_list;
1925#line 188
1926struct fs_struct;
1927#line 188
1928struct fs_struct;
1929#line 189
1930struct perf_event_context;
1931#line 189
1932struct perf_event_context;
1933#line 190
1934struct blk_plug;
1935#line 190
1936struct blk_plug;
1937#line 149 "include/linux/sched.h"
1938struct cfs_rq;
1939#line 149
1940struct cfs_rq;
1941#line 406 "include/linux/sched.h"
1942struct sighand_struct {
1943   atomic_t count ;
1944   struct k_sigaction action[64U] ;
1945   spinlock_t siglock ;
1946   wait_queue_head_t signalfd_wqh ;
1947};
1948#line 449 "include/linux/sched.h"
1949struct pacct_struct {
1950   int ac_flag ;
1951   long ac_exitcode ;
1952   unsigned long ac_mem ;
1953   cputime_t ac_utime ;
1954   cputime_t ac_stime ;
1955   unsigned long ac_minflt ;
1956   unsigned long ac_majflt ;
1957};
1958#line 457 "include/linux/sched.h"
1959struct cpu_itimer {
1960   cputime_t expires ;
1961   cputime_t incr ;
1962   u32 error ;
1963   u32 incr_error ;
1964};
1965#line 464 "include/linux/sched.h"
1966struct task_cputime {
1967   cputime_t utime ;
1968   cputime_t stime ;
1969   unsigned long long sum_exec_runtime ;
1970};
1971#line 481 "include/linux/sched.h"
1972struct thread_group_cputimer {
1973   struct task_cputime cputime ;
1974   int running ;
1975   raw_spinlock_t lock ;
1976};
1977#line 517
1978struct autogroup;
1979#line 517
1980struct autogroup;
1981#line 518
1982struct tty_struct;
1983#line 518
1984struct taskstats;
1985#line 518
1986struct tty_audit_buf;
1987#line 518 "include/linux/sched.h"
1988struct signal_struct {
1989   atomic_t sigcnt ;
1990   atomic_t live ;
1991   int nr_threads ;
1992   wait_queue_head_t wait_chldexit ;
1993   struct task_struct *curr_target ;
1994   struct sigpending shared_pending ;
1995   int group_exit_code ;
1996   int notify_count ;
1997   struct task_struct *group_exit_task ;
1998   int group_stop_count ;
1999   unsigned int flags ;
2000   unsigned char is_child_subreaper : 1 ;
2001   unsigned char has_child_subreaper : 1 ;
2002   struct list_head posix_timers ;
2003   struct hrtimer real_timer ;
2004   struct pid *leader_pid ;
2005   ktime_t it_real_incr ;
2006   struct cpu_itimer it[2U] ;
2007   struct thread_group_cputimer cputimer ;
2008   struct task_cputime cputime_expires ;
2009   struct list_head cpu_timers[3U] ;
2010   struct pid *tty_old_pgrp ;
2011   int leader ;
2012   struct tty_struct *tty ;
2013   struct autogroup *autogroup ;
2014   cputime_t utime ;
2015   cputime_t stime ;
2016   cputime_t cutime ;
2017   cputime_t cstime ;
2018   cputime_t gtime ;
2019   cputime_t cgtime ;
2020   cputime_t prev_utime ;
2021   cputime_t prev_stime ;
2022   unsigned long nvcsw ;
2023   unsigned long nivcsw ;
2024   unsigned long cnvcsw ;
2025   unsigned long cnivcsw ;
2026   unsigned long min_flt ;
2027   unsigned long maj_flt ;
2028   unsigned long cmin_flt ;
2029   unsigned long cmaj_flt ;
2030   unsigned long inblock ;
2031   unsigned long oublock ;
2032   unsigned long cinblock ;
2033   unsigned long coublock ;
2034   unsigned long maxrss ;
2035   unsigned long cmaxrss ;
2036   struct task_io_accounting ioac ;
2037   unsigned long long sum_sched_runtime ;
2038   struct rlimit rlim[16U] ;
2039   struct pacct_struct pacct ;
2040   struct taskstats *stats ;
2041   unsigned int audit_tty ;
2042   struct tty_audit_buf *tty_audit_buf ;
2043   struct rw_semaphore group_rwsem ;
2044   int oom_adj ;
2045   int oom_score_adj ;
2046   int oom_score_adj_min ;
2047   struct mutex cred_guard_mutex ;
2048};
2049#line 699 "include/linux/sched.h"
2050struct user_struct {
2051   atomic_t __count ;
2052   atomic_t processes ;
2053   atomic_t files ;
2054   atomic_t sigpending ;
2055   atomic_t inotify_watches ;
2056   atomic_t inotify_devs ;
2057   atomic_t fanotify_listeners ;
2058   atomic_long_t epoll_watches ;
2059   unsigned long mq_bytes ;
2060   unsigned long locked_shm ;
2061   struct key *uid_keyring ;
2062   struct key *session_keyring ;
2063   struct hlist_node uidhash_node ;
2064   uid_t uid ;
2065   struct user_namespace *user_ns ;
2066   atomic_long_t locked_vm ;
2067};
2068#line 744
2069struct backing_dev_info;
2070#line 744
2071struct backing_dev_info;
2072#line 745
2073struct reclaim_state;
2074#line 745
2075struct reclaim_state;
2076#line 746 "include/linux/sched.h"
2077struct sched_info {
2078   unsigned long pcount ;
2079   unsigned long long run_delay ;
2080   unsigned long long last_arrival ;
2081   unsigned long long last_queued ;
2082};
2083#line 760 "include/linux/sched.h"
2084struct task_delay_info {
2085   spinlock_t lock ;
2086   unsigned int flags ;
2087   struct timespec blkio_start ;
2088   struct timespec blkio_end ;
2089   u64 blkio_delay ;
2090   u64 swapin_delay ;
2091   u32 blkio_count ;
2092   u32 swapin_count ;
2093   struct timespec freepages_start ;
2094   struct timespec freepages_end ;
2095   u64 freepages_delay ;
2096   u32 freepages_count ;
2097};
2098#line 1069
2099struct io_context;
2100#line 1069
2101struct io_context;
2102#line 1097
2103struct pipe_inode_info;
2104#line 1097
2105struct pipe_inode_info;
2106#line 1099
2107struct rq;
2108#line 1099
2109struct rq;
2110#line 1100 "include/linux/sched.h"
2111struct sched_class {
2112   struct sched_class  const  *next ;
2113   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2114   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2115   void (*yield_task)(struct rq * ) ;
2116   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2117   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2118   struct task_struct *(*pick_next_task)(struct rq * ) ;
2119   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2120   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2121   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2122   void (*post_schedule)(struct rq * ) ;
2123   void (*task_waking)(struct task_struct * ) ;
2124   void (*task_woken)(struct rq * , struct task_struct * ) ;
2125   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2126   void (*rq_online)(struct rq * ) ;
2127   void (*rq_offline)(struct rq * ) ;
2128   void (*set_curr_task)(struct rq * ) ;
2129   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2130   void (*task_fork)(struct task_struct * ) ;
2131   void (*switched_from)(struct rq * , struct task_struct * ) ;
2132   void (*switched_to)(struct rq * , struct task_struct * ) ;
2133   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2134   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2135   void (*task_move_group)(struct task_struct * , int  ) ;
2136};
2137#line 1165 "include/linux/sched.h"
2138struct load_weight {
2139   unsigned long weight ;
2140   unsigned long inv_weight ;
2141};
2142#line 1170 "include/linux/sched.h"
2143struct sched_statistics {
2144   u64 wait_start ;
2145   u64 wait_max ;
2146   u64 wait_count ;
2147   u64 wait_sum ;
2148   u64 iowait_count ;
2149   u64 iowait_sum ;
2150   u64 sleep_start ;
2151   u64 sleep_max ;
2152   s64 sum_sleep_runtime ;
2153   u64 block_start ;
2154   u64 block_max ;
2155   u64 exec_max ;
2156   u64 slice_max ;
2157   u64 nr_migrations_cold ;
2158   u64 nr_failed_migrations_affine ;
2159   u64 nr_failed_migrations_running ;
2160   u64 nr_failed_migrations_hot ;
2161   u64 nr_forced_migrations ;
2162   u64 nr_wakeups ;
2163   u64 nr_wakeups_sync ;
2164   u64 nr_wakeups_migrate ;
2165   u64 nr_wakeups_local ;
2166   u64 nr_wakeups_remote ;
2167   u64 nr_wakeups_affine ;
2168   u64 nr_wakeups_affine_attempts ;
2169   u64 nr_wakeups_passive ;
2170   u64 nr_wakeups_idle ;
2171};
2172#line 1205 "include/linux/sched.h"
2173struct sched_entity {
2174   struct load_weight load ;
2175   struct rb_node run_node ;
2176   struct list_head group_node ;
2177   unsigned int on_rq ;
2178   u64 exec_start ;
2179   u64 sum_exec_runtime ;
2180   u64 vruntime ;
2181   u64 prev_sum_exec_runtime ;
2182   u64 nr_migrations ;
2183   struct sched_statistics statistics ;
2184   struct sched_entity *parent ;
2185   struct cfs_rq *cfs_rq ;
2186   struct cfs_rq *my_q ;
2187};
2188#line 1231
2189struct rt_rq;
2190#line 1231 "include/linux/sched.h"
2191struct sched_rt_entity {
2192   struct list_head run_list ;
2193   unsigned long timeout ;
2194   unsigned int time_slice ;
2195   int nr_cpus_allowed ;
2196   struct sched_rt_entity *back ;
2197   struct sched_rt_entity *parent ;
2198   struct rt_rq *rt_rq ;
2199   struct rt_rq *my_q ;
2200};
2201#line 1255
2202struct mem_cgroup;
2203#line 1255 "include/linux/sched.h"
2204struct memcg_batch_info {
2205   int do_batch ;
2206   struct mem_cgroup *memcg ;
2207   unsigned long nr_pages ;
2208   unsigned long memsw_nr_pages ;
2209};
2210#line 1616
2211struct files_struct;
2212#line 1616
2213struct css_set;
2214#line 1616
2215struct compat_robust_list_head;
2216#line 1616 "include/linux/sched.h"
2217struct task_struct {
2218   long volatile   state ;
2219   void *stack ;
2220   atomic_t usage ;
2221   unsigned int flags ;
2222   unsigned int ptrace ;
2223   struct llist_node wake_entry ;
2224   int on_cpu ;
2225   int on_rq ;
2226   int prio ;
2227   int static_prio ;
2228   int normal_prio ;
2229   unsigned int rt_priority ;
2230   struct sched_class  const  *sched_class ;
2231   struct sched_entity se ;
2232   struct sched_rt_entity rt ;
2233   struct hlist_head preempt_notifiers ;
2234   unsigned char fpu_counter ;
2235   unsigned int policy ;
2236   cpumask_t cpus_allowed ;
2237   struct sched_info sched_info ;
2238   struct list_head tasks ;
2239   struct plist_node pushable_tasks ;
2240   struct mm_struct *mm ;
2241   struct mm_struct *active_mm ;
2242   unsigned char brk_randomized : 1 ;
2243   int exit_state ;
2244   int exit_code ;
2245   int exit_signal ;
2246   int pdeath_signal ;
2247   unsigned int jobctl ;
2248   unsigned int personality ;
2249   unsigned char did_exec : 1 ;
2250   unsigned char in_execve : 1 ;
2251   unsigned char in_iowait : 1 ;
2252   unsigned char sched_reset_on_fork : 1 ;
2253   unsigned char sched_contributes_to_load : 1 ;
2254   unsigned char irq_thread : 1 ;
2255   pid_t pid ;
2256   pid_t tgid ;
2257   unsigned long stack_canary ;
2258   struct task_struct *real_parent ;
2259   struct task_struct *parent ;
2260   struct list_head children ;
2261   struct list_head sibling ;
2262   struct task_struct *group_leader ;
2263   struct list_head ptraced ;
2264   struct list_head ptrace_entry ;
2265   struct pid_link pids[3U] ;
2266   struct list_head thread_group ;
2267   struct completion *vfork_done ;
2268   int *set_child_tid ;
2269   int *clear_child_tid ;
2270   cputime_t utime ;
2271   cputime_t stime ;
2272   cputime_t utimescaled ;
2273   cputime_t stimescaled ;
2274   cputime_t gtime ;
2275   cputime_t prev_utime ;
2276   cputime_t prev_stime ;
2277   unsigned long nvcsw ;
2278   unsigned long nivcsw ;
2279   struct timespec start_time ;
2280   struct timespec real_start_time ;
2281   unsigned long min_flt ;
2282   unsigned long maj_flt ;
2283   struct task_cputime cputime_expires ;
2284   struct list_head cpu_timers[3U] ;
2285   struct cred  const  *real_cred ;
2286   struct cred  const  *cred ;
2287   struct cred *replacement_session_keyring ;
2288   char comm[16U] ;
2289   int link_count ;
2290   int total_link_count ;
2291   struct sysv_sem sysvsem ;
2292   unsigned long last_switch_count ;
2293   struct thread_struct thread ;
2294   struct fs_struct *fs ;
2295   struct files_struct *files ;
2296   struct nsproxy *nsproxy ;
2297   struct signal_struct *signal ;
2298   struct sighand_struct *sighand ;
2299   sigset_t blocked ;
2300   sigset_t real_blocked ;
2301   sigset_t saved_sigmask ;
2302   struct sigpending pending ;
2303   unsigned long sas_ss_sp ;
2304   size_t sas_ss_size ;
2305   int (*notifier)(void * ) ;
2306   void *notifier_data ;
2307   sigset_t *notifier_mask ;
2308   struct audit_context *audit_context ;
2309   uid_t loginuid ;
2310   unsigned int sessionid ;
2311   seccomp_t seccomp ;
2312   u32 parent_exec_id ;
2313   u32 self_exec_id ;
2314   spinlock_t alloc_lock ;
2315   raw_spinlock_t pi_lock ;
2316   struct plist_head pi_waiters ;
2317   struct rt_mutex_waiter *pi_blocked_on ;
2318   struct mutex_waiter *blocked_on ;
2319   unsigned int irq_events ;
2320   unsigned long hardirq_enable_ip ;
2321   unsigned long hardirq_disable_ip ;
2322   unsigned int hardirq_enable_event ;
2323   unsigned int hardirq_disable_event ;
2324   int hardirqs_enabled ;
2325   int hardirq_context ;
2326   unsigned long softirq_disable_ip ;
2327   unsigned long softirq_enable_ip ;
2328   unsigned int softirq_disable_event ;
2329   unsigned int softirq_enable_event ;
2330   int softirqs_enabled ;
2331   int softirq_context ;
2332   u64 curr_chain_key ;
2333   int lockdep_depth ;
2334   unsigned int lockdep_recursion ;
2335   struct held_lock held_locks[48U] ;
2336   gfp_t lockdep_reclaim_gfp ;
2337   void *journal_info ;
2338   struct bio_list *bio_list ;
2339   struct blk_plug *plug ;
2340   struct reclaim_state *reclaim_state ;
2341   struct backing_dev_info *backing_dev_info ;
2342   struct io_context *io_context ;
2343   unsigned long ptrace_message ;
2344   siginfo_t *last_siginfo ;
2345   struct task_io_accounting ioac ;
2346   u64 acct_rss_mem1 ;
2347   u64 acct_vm_mem1 ;
2348   cputime_t acct_timexpd ;
2349   nodemask_t mems_allowed ;
2350   seqcount_t mems_allowed_seq ;
2351   int cpuset_mem_spread_rotor ;
2352   int cpuset_slab_spread_rotor ;
2353   struct css_set *cgroups ;
2354   struct list_head cg_list ;
2355   struct robust_list_head *robust_list ;
2356   struct compat_robust_list_head *compat_robust_list ;
2357   struct list_head pi_state_list ;
2358   struct futex_pi_state *pi_state_cache ;
2359   struct perf_event_context *perf_event_ctxp[2U] ;
2360   struct mutex perf_event_mutex ;
2361   struct list_head perf_event_list ;
2362   struct mempolicy *mempolicy ;
2363   short il_next ;
2364   short pref_node_fork ;
2365   struct rcu_head rcu ;
2366   struct pipe_inode_info *splice_pipe ;
2367   struct task_delay_info *delays ;
2368   int make_it_fail ;
2369   int nr_dirtied ;
2370   int nr_dirtied_pause ;
2371   unsigned long dirty_paused_when ;
2372   int latency_record_count ;
2373   struct latency_record latency_record[32U] ;
2374   unsigned long timer_slack_ns ;
2375   unsigned long default_timer_slack_ns ;
2376   struct list_head *scm_work_list ;
2377   unsigned long trace ;
2378   unsigned long trace_recursion ;
2379   struct memcg_batch_info memcg_batch ;
2380   atomic_t ptrace_bp_refcnt ;
2381};
2382#line 28 "include/linux/of.h"
2383typedef u32 phandle;
2384#line 30 "include/linux/of.h"
2385struct property {
2386   char *name ;
2387   int length ;
2388   void *value ;
2389   struct property *next ;
2390   unsigned long _flags ;
2391   unsigned int unique_id ;
2392};
2393#line 39
2394struct proc_dir_entry;
2395#line 39 "include/linux/of.h"
2396struct device_node {
2397   char const   *name ;
2398   char const   *type ;
2399   phandle phandle ;
2400   char *full_name ;
2401   struct property *properties ;
2402   struct property *deadprops ;
2403   struct device_node *parent ;
2404   struct device_node *child ;
2405   struct device_node *sibling ;
2406   struct device_node *next ;
2407   struct device_node *allnext ;
2408   struct proc_dir_entry *pde ;
2409   struct kref kref ;
2410   unsigned long _flags ;
2411   void *data ;
2412};
2413#line 601 "include/linux/i2c.h"
2414struct mfd_cell;
2415#line 601
2416struct mfd_cell;
2417#line 602 "include/linux/i2c.h"
2418struct platform_device {
2419   char const   *name ;
2420   int id ;
2421   struct device dev ;
2422   u32 num_resources ;
2423   struct resource *resource ;
2424   struct platform_device_id  const  *id_entry ;
2425   struct mfd_cell *mfd_cell ;
2426   struct pdev_archdata archdata ;
2427};
2428#line 163 "include/linux/platform_device.h"
2429struct platform_driver {
2430   int (*probe)(struct platform_device * ) ;
2431   int (*remove)(struct platform_device * ) ;
2432   void (*shutdown)(struct platform_device * ) ;
2433   int (*suspend)(struct platform_device * , pm_message_t  ) ;
2434   int (*resume)(struct platform_device * ) ;
2435   struct device_driver driver ;
2436   struct platform_device_id  const  *id_table ;
2437};
2438#line 272
2439struct regulator;
2440#line 272
2441struct regulator;
2442#line 189 "include/linux/regulator/consumer.h"
2443struct regulator_dev;
2444#line 189
2445struct regulator_dev;
2446#line 190
2447struct regulator_init_data;
2448#line 190
2449struct regulator_init_data;
2450#line 201 "include/linux/regulator/consumer.h"
2451struct regulator_ops {
2452   int (*list_voltage)(struct regulator_dev * , unsigned int  ) ;
2453   int (*set_voltage)(struct regulator_dev * , int  , int  , unsigned int * ) ;
2454   int (*set_voltage_sel)(struct regulator_dev * , unsigned int  ) ;
2455   int (*get_voltage)(struct regulator_dev * ) ;
2456   int (*get_voltage_sel)(struct regulator_dev * ) ;
2457   int (*set_current_limit)(struct regulator_dev * , int  , int  ) ;
2458   int (*get_current_limit)(struct regulator_dev * ) ;
2459   int (*enable)(struct regulator_dev * ) ;
2460   int (*disable)(struct regulator_dev * ) ;
2461   int (*is_enabled)(struct regulator_dev * ) ;
2462   int (*set_mode)(struct regulator_dev * , unsigned int  ) ;
2463   unsigned int (*get_mode)(struct regulator_dev * ) ;
2464   int (*enable_time)(struct regulator_dev * ) ;
2465   int (*set_voltage_time_sel)(struct regulator_dev * , unsigned int  , unsigned int  ) ;
2466   int (*get_status)(struct regulator_dev * ) ;
2467   unsigned int (*get_optimum_mode)(struct regulator_dev * , int  , int  , int  ) ;
2468   int (*set_suspend_voltage)(struct regulator_dev * , int  ) ;
2469   int (*set_suspend_enable)(struct regulator_dev * ) ;
2470   int (*set_suspend_disable)(struct regulator_dev * ) ;
2471   int (*set_suspend_mode)(struct regulator_dev * , unsigned int  ) ;
2472};
2473#line 141 "include/linux/regulator/driver.h"
2474enum regulator_type {
2475    REGULATOR_VOLTAGE = 0,
2476    REGULATOR_CURRENT = 1
2477} ;
2478#line 146 "include/linux/regulator/driver.h"
2479struct regulator_desc {
2480   char const   *name ;
2481   char const   *supply_name ;
2482   int id ;
2483   unsigned int n_voltages ;
2484   struct regulator_ops *ops ;
2485   int irq ;
2486   enum regulator_type type ;
2487   struct module *owner ;
2488};
2489#line 175
2490struct regulation_constraints;
2491#line 175 "include/linux/regulator/driver.h"
2492struct regulator_dev {
2493   struct regulator_desc *desc ;
2494   int exclusive ;
2495   u32 use_count ;
2496   u32 open_count ;
2497   struct list_head list ;
2498   struct list_head consumer_list ;
2499   struct blocking_notifier_head notifier ;
2500   struct mutex mutex ;
2501   struct module *owner ;
2502   struct device dev ;
2503   struct regulation_constraints *constraints ;
2504   struct regulator *supply ;
2505   struct delayed_work disable_work ;
2506   int deferred_disables ;
2507   void *reg_data ;
2508   struct dentry *debugfs ;
2509};
2510#line 228 "include/linux/regulator/driver.h"
2511struct taskstats {
2512   __u16 version ;
2513   __u32 ac_exitcode ;
2514   __u8 ac_flag ;
2515   __u8 ac_nice ;
2516   __u64 cpu_count ;
2517   __u64 cpu_delay_total ;
2518   __u64 blkio_count ;
2519   __u64 blkio_delay_total ;
2520   __u64 swapin_count ;
2521   __u64 swapin_delay_total ;
2522   __u64 cpu_run_real_total ;
2523   __u64 cpu_run_virtual_total ;
2524   char ac_comm[32U] ;
2525   __u8 ac_sched ;
2526   __u8 ac_pad[3U] ;
2527   __u32 ac_uid ;
2528   __u32 ac_gid ;
2529   __u32 ac_pid ;
2530   __u32 ac_ppid ;
2531   __u32 ac_btime ;
2532   __u64 ac_etime ;
2533   __u64 ac_utime ;
2534   __u64 ac_stime ;
2535   __u64 ac_minflt ;
2536   __u64 ac_majflt ;
2537   __u64 coremem ;
2538   __u64 virtmem ;
2539   __u64 hiwater_rss ;
2540   __u64 hiwater_vm ;
2541   __u64 read_char ;
2542   __u64 write_char ;
2543   __u64 read_syscalls ;
2544   __u64 write_syscalls ;
2545   __u64 read_bytes ;
2546   __u64 write_bytes ;
2547   __u64 cancelled_write_bytes ;
2548   __u64 nvcsw ;
2549   __u64 nivcsw ;
2550   __u64 ac_utimescaled ;
2551   __u64 ac_stimescaled ;
2552   __u64 cpu_scaled_run_real_total ;
2553   __u64 freepages_count ;
2554   __u64 freepages_delay_total ;
2555};
2556#line 154 "include/linux/idr.h"
2557struct cgroupfs_root;
2558#line 154
2559struct cgroupfs_root;
2560#line 156
2561struct cgroup;
2562#line 156
2563struct cgroup;
2564#line 157
2565struct css_id;
2566#line 157
2567struct css_id;
2568#line 56 "include/linux/cgroup.h"
2569struct cgroup_subsys_state {
2570   struct cgroup *cgroup ;
2571   atomic_t refcnt ;
2572   unsigned long flags ;
2573   struct css_id *id ;
2574};
2575#line 149 "include/linux/cgroup.h"
2576struct cgroup {
2577   unsigned long flags ;
2578   atomic_t count ;
2579   struct list_head sibling ;
2580   struct list_head children ;
2581   struct cgroup *parent ;
2582   struct dentry *dentry ;
2583   struct cgroup_subsys_state *subsys[64U] ;
2584   struct cgroupfs_root *root ;
2585   struct cgroup *top_cgroup ;
2586   struct list_head css_sets ;
2587   struct list_head release_list ;
2588   struct list_head pidlists ;
2589   struct mutex pidlist_mutex ;
2590   struct rcu_head rcu_head ;
2591   struct list_head event_list ;
2592   spinlock_t event_list_lock ;
2593};
2594#line 215 "include/linux/cgroup.h"
2595struct css_set {
2596   atomic_t refcount ;
2597   struct hlist_node hlist ;
2598   struct list_head tasks ;
2599   struct list_head cg_links ;
2600   struct cgroup_subsys_state *subsys[64U] ;
2601   struct rcu_head rcu_head ;
2602};
2603#line 108 "include/linux/swap.h"
2604struct reclaim_state {
2605   unsigned long reclaimed_slab ;
2606};
2607#line 178 "include/linux/mm.h"
2608struct vm_fault {
2609   unsigned int flags ;
2610   unsigned long pgoff ;
2611   void *virtual_address ;
2612   struct page *page ;
2613};
2614#line 195 "include/linux/mm.h"
2615struct vm_operations_struct {
2616   void (*open)(struct vm_area_struct * ) ;
2617   void (*close)(struct vm_area_struct * ) ;
2618   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2619   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2620   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
2621   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2622   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
2623   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
2624                  unsigned long  ) ;
2625};
2626#line 34 "include/linux/suspend.h"
2627typedef int suspend_state_t;
2628#line 443 "include/linux/suspend.h"
2629struct regulator_state {
2630   int uV ;
2631   unsigned int mode ;
2632   int enabled ;
2633   int disabled ;
2634};
2635#line 61 "include/linux/regulator/machine.h"
2636struct regulation_constraints {
2637   char const   *name ;
2638   int min_uV ;
2639   int max_uV ;
2640   int uV_offset ;
2641   int min_uA ;
2642   int max_uA ;
2643   unsigned int valid_modes_mask ;
2644   unsigned int valid_ops_mask ;
2645   int input_uV ;
2646   struct regulator_state state_disk ;
2647   struct regulator_state state_mem ;
2648   struct regulator_state state_standby ;
2649   suspend_state_t initial_state ;
2650   unsigned int initial_mode ;
2651   unsigned char always_on : 1 ;
2652   unsigned char boot_on : 1 ;
2653   unsigned char apply_uV : 1 ;
2654};
2655#line 133 "include/linux/regulator/machine.h"
2656struct regulator_consumer_supply {
2657   char const   *dev_name ;
2658   char const   *supply ;
2659};
2660#line 147 "include/linux/regulator/machine.h"
2661struct regulator_init_data {
2662   char const   *supply_regulator ;
2663   struct regulation_constraints constraints ;
2664   int num_consumer_supplies ;
2665   struct regulator_consumer_supply *consumer_supplies ;
2666   int (*regulator_init)(void * ) ;
2667   void *driver_data ;
2668};
2669#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2670enum irqreturn {
2671    IRQ_NONE = 0,
2672    IRQ_HANDLED = 1,
2673    IRQ_WAKE_THREAD = 2
2674} ;
2675#line 16 "include/linux/irqreturn.h"
2676typedef enum irqreturn irqreturn_t;
2677#line 41 "include/asm-generic/sections.h"
2678struct exception_table_entry {
2679   unsigned long insn ;
2680   unsigned long fixup ;
2681};
2682#line 703 "include/linux/interrupt.h"
2683struct regmap;
2684#line 703
2685struct regmap;
2686#line 230 "include/linux/regmap.h"
2687struct wm831x;
2688#line 230
2689struct wm831x;
2690#line 231
2691enum wm831x_auxadc;
2692#line 231
2693enum wm831x_auxadc;
2694#line 359 "include/linux/mfd/wm831x/core.h"
2695struct wm831x {
2696   struct mutex io_lock ;
2697   struct device *dev ;
2698   struct regmap *regmap ;
2699   int irq ;
2700   struct mutex irq_lock ;
2701   int irq_base ;
2702   int irq_masks_cur[5U] ;
2703   int irq_masks_cache[5U] ;
2704   bool soft_shutdown ;
2705   unsigned char has_gpio_ena : 1 ;
2706   unsigned char has_cs_sts : 1 ;
2707   unsigned char charger_irq_wake : 1 ;
2708   int num_gpio ;
2709   int gpio_update[16U] ;
2710   bool gpio_level[16U] ;
2711   struct mutex auxadc_lock ;
2712   struct list_head auxadc_pending ;
2713   u16 auxadc_active ;
2714   int (*auxadc_read)(struct wm831x * , enum wm831x_auxadc  ) ;
2715   struct mutex key_lock ;
2716   unsigned char locked : 1 ;
2717};
2718#line 1217 "include/linux/mfd/wm831x/regulator.h"
2719struct wm831x_backlight_pdata {
2720   int isink ;
2721   int max_uA ;
2722};
2723#line 25 "include/linux/mfd/wm831x/pdata.h"
2724struct wm831x_backup_pdata {
2725   int charger_enable ;
2726   int no_constant_voltage ;
2727   int vlim ;
2728   int ilim ;
2729};
2730#line 32 "include/linux/mfd/wm831x/pdata.h"
2731struct wm831x_battery_pdata {
2732   int enable ;
2733   int fast_enable ;
2734   int off_mask ;
2735   int trickle_ilim ;
2736   int vsel ;
2737   int eoc_iterm ;
2738   int fast_ilim ;
2739   int timeout ;
2740};
2741#line 43 "include/linux/mfd/wm831x/pdata.h"
2742struct wm831x_buckv_pdata {
2743   int dvs_gpio ;
2744   int dvs_control_src ;
2745   int dvs_init_state ;
2746   int dvs_state_gpio ;
2747};
2748#line 60
2749enum wm831x_status_src {
2750    WM831X_STATUS_PRESERVE = 0,
2751    WM831X_STATUS_OTP = 1,
2752    WM831X_STATUS_POWER = 2,
2753    WM831X_STATUS_CHARGER = 3,
2754    WM831X_STATUS_MANUAL = 4
2755} ;
2756#line 68 "include/linux/mfd/wm831x/pdata.h"
2757struct wm831x_status_pdata {
2758   enum wm831x_status_src default_src ;
2759   char const   *name ;
2760   char const   *default_trigger ;
2761};
2762#line 77 "include/linux/mfd/wm831x/pdata.h"
2763struct wm831x_touch_pdata {
2764   int fivewire ;
2765   int isel ;
2766   int rpu ;
2767   int pressure ;
2768   unsigned int data_irq ;
2769   int data_irqf ;
2770   unsigned int pd_irq ;
2771   int pd_irqf ;
2772};
2773#line 88
2774enum wm831x_watchdog_action {
2775    WM831X_WDOG_NONE = 0,
2776    WM831X_WDOG_INTERRUPT = 1,
2777    WM831X_WDOG_RESET = 2,
2778    WM831X_WDOG_WAKE = 3
2779} ;
2780#line 95 "include/linux/mfd/wm831x/pdata.h"
2781struct wm831x_watchdog_pdata {
2782   enum wm831x_watchdog_action primary ;
2783   enum wm831x_watchdog_action secondary ;
2784   int update_gpio ;
2785   unsigned char software : 1 ;
2786};
2787#line 101 "include/linux/mfd/wm831x/pdata.h"
2788struct wm831x_pdata {
2789   int wm831x_num ;
2790   int (*pre_init)(struct wm831x * ) ;
2791   int (*post_init)(struct wm831x * ) ;
2792   bool irq_cmos ;
2793   bool disable_touch ;
2794   bool soft_shutdown ;
2795   int irq_base ;
2796   int gpio_base ;
2797   int gpio_defaults[16U] ;
2798   struct wm831x_backlight_pdata *backlight ;
2799   struct wm831x_backup_pdata *backup ;
2800   struct wm831x_battery_pdata *battery ;
2801   struct wm831x_touch_pdata *touch ;
2802   struct wm831x_watchdog_pdata *watchdog ;
2803   struct wm831x_status_pdata *status[2U] ;
2804   struct regulator_init_data *dcdc[4U] ;
2805   struct regulator_init_data *epe[2U] ;
2806   struct regulator_init_data *ldo[11U] ;
2807   struct regulator_init_data *isink[2U] ;
2808};
2809#line 149 "include/linux/mfd/wm831x/pdata.h"
2810struct wm831x_dcdc {
2811   char name[6U] ;
2812   struct regulator_desc desc ;
2813   int base ;
2814   struct wm831x *wm831x ;
2815   struct regulator_dev *regulator ;
2816   int dvs_gpio ;
2817   int dvs_gpio_state ;
2818   int on_vsel ;
2819   int dvs_vsel ;
2820};
2821#line 1 "<compiler builtins>"
2822long __builtin_expect(long  , long  ) ;
2823#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2824void ldv_spin_lock(void) ;
2825#line 3
2826void ldv_spin_unlock(void) ;
2827#line 4
2828int ldv_spin_trylock(void) ;
2829#line 101 "include/linux/printk.h"
2830extern int printk(char const   *  , ...) ;
2831#line 50 "include/linux/dynamic_debug.h"
2832extern int __dynamic_dev_dbg(struct _ddebug * , struct device  const  * , char const   * 
2833                             , ...) ;
2834#line 323 "include/linux/kernel.h"
2835extern int snprintf(char * , size_t  , char const   *  , ...) ;
2836#line 27 "include/linux/err.h"
2837__inline static long PTR_ERR(void const   *ptr ) 
2838{ 
2839
2840  {
2841#line 29
2842  return ((long )ptr);
2843}
2844}
2845#line 32 "include/linux/err.h"
2846__inline static long IS_ERR(void const   *ptr ) 
2847{ long tmp ;
2848  unsigned long __cil_tmp3 ;
2849  int __cil_tmp4 ;
2850  long __cil_tmp5 ;
2851
2852  {
2853  {
2854#line 34
2855  __cil_tmp3 = (unsigned long )ptr;
2856#line 34
2857  __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2858#line 34
2859  __cil_tmp5 = (long )__cil_tmp4;
2860#line 34
2861  tmp = __builtin_expect(__cil_tmp5, 0L);
2862  }
2863#line 34
2864  return (tmp);
2865}
2866}
2867#line 26 "include/linux/export.h"
2868extern struct module __this_module ;
2869#line 161 "include/linux/slab.h"
2870extern void kfree(void const   * ) ;
2871#line 220 "include/linux/slub_def.h"
2872extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2873#line 223
2874void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2875#line 353 "include/linux/slab.h"
2876__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2877#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2878extern void *__VERIFIER_nondet_pointer(void) ;
2879#line 11
2880void ldv_check_alloc_flags(gfp_t flags ) ;
2881#line 12
2882void ldv_check_alloc_nonatomic(void) ;
2883#line 14
2884struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2885#line 553 "include/linux/device.h"
2886extern void *devm_kzalloc(struct device * , size_t  , gfp_t  ) ;
2887#line 792
2888extern void *dev_get_drvdata(struct device  const  * ) ;
2889#line 793
2890extern int dev_set_drvdata(struct device * , void * ) ;
2891#line 892
2892extern int dev_err(struct device  const  * , char const   *  , ...) ;
2893#line 894
2894extern int dev_warn(struct device  const  * , char const   *  , ...) ;
2895#line 46 "include/linux/platform_device.h"
2896extern struct resource *platform_get_resource(struct platform_device * , unsigned int  ,
2897                                              unsigned int  ) ;
2898#line 49
2899extern int platform_get_irq_byname(struct platform_device * , char const   * ) ;
2900#line 174
2901extern int platform_driver_register(struct platform_driver * ) ;
2902#line 175
2903extern void platform_driver_unregister(struct platform_driver * ) ;
2904#line 183 "include/linux/platform_device.h"
2905__inline static void *platform_get_drvdata(struct platform_device  const  *pdev ) 
2906{ void *tmp ;
2907  unsigned long __cil_tmp3 ;
2908  unsigned long __cil_tmp4 ;
2909  struct device  const  *__cil_tmp5 ;
2910
2911  {
2912  {
2913#line 185
2914  __cil_tmp3 = (unsigned long )pdev;
2915#line 185
2916  __cil_tmp4 = __cil_tmp3 + 16;
2917#line 185
2918  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
2919#line 185
2920  tmp = dev_get_drvdata(__cil_tmp5);
2921  }
2922#line 185
2923  return (tmp);
2924}
2925}
2926#line 188 "include/linux/platform_device.h"
2927__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) 
2928{ unsigned long __cil_tmp3 ;
2929  unsigned long __cil_tmp4 ;
2930  struct device *__cil_tmp5 ;
2931
2932  {
2933  {
2934#line 190
2935  __cil_tmp3 = (unsigned long )pdev;
2936#line 190
2937  __cil_tmp4 = __cil_tmp3 + 16;
2938#line 190
2939  __cil_tmp5 = (struct device *)__cil_tmp4;
2940#line 190
2941  dev_set_drvdata(__cil_tmp5, data);
2942  }
2943#line 191
2944  return;
2945}
2946}
2947#line 213 "include/linux/regulator/driver.h"
2948extern struct regulator_dev *regulator_register(struct regulator_desc * , struct device * ,
2949                                                struct regulator_init_data  const  * ,
2950                                                void * , struct device_node * ) ;
2951#line 216
2952extern void regulator_unregister(struct regulator_dev * ) ;
2953#line 218
2954extern int regulator_notifier_call_chain(struct regulator_dev * , unsigned long  ,
2955                                         void * ) ;
2956#line 221
2957extern void *rdev_get_drvdata(struct regulator_dev * ) ;
2958#line 223
2959extern int rdev_get_id(struct regulator_dev * ) ;
2960#line 153 "include/asm-generic/gpio.h"
2961extern int gpio_request(unsigned int  , char const   * ) ;
2962#line 154
2963extern void gpio_free(unsigned int  ) ;
2964#line 157
2965extern int gpio_direction_output(unsigned int  , int  ) ;
2966#line 170
2967extern void __gpio_set_value(unsigned int  , int  ) ;
2968#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2969__inline static void gpio_set_value(unsigned int gpio , int value ) 
2970{ 
2971
2972  {
2973  {
2974#line 33
2975  __gpio_set_value(gpio, value);
2976  }
2977#line 34
2978  return;
2979}
2980}
2981#line 127 "include/linux/interrupt.h"
2982extern int request_threaded_irq(unsigned int  , irqreturn_t (*)(int  , void * ) ,
2983                                irqreturn_t (*)(int  , void * ) , unsigned long  ,
2984                                char const   * , void * ) ;
2985#line 184
2986extern void free_irq(unsigned int  , void * ) ;
2987#line 402 "include/linux/mfd/wm831x/core.h"
2988extern int wm831x_reg_read(struct wm831x * , unsigned short  ) ;
2989#line 407
2990extern int wm831x_set_bits(struct wm831x * , unsigned short  , unsigned short  , unsigned short  ) ;
2991#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
2992static int wm831x_dcdc_is_enabled(struct regulator_dev *rdev ) 
2993{ struct wm831x_dcdc *dcdc ;
2994  void *tmp ;
2995  struct wm831x *wm831x ;
2996  int mask ;
2997  int tmp___0 ;
2998  int reg ;
2999  unsigned long __cil_tmp8 ;
3000  unsigned long __cil_tmp9 ;
3001  int __cil_tmp10 ;
3002
3003  {
3004  {
3005#line 80
3006  tmp = rdev_get_drvdata(rdev);
3007#line 80
3008  dcdc = (struct wm831x_dcdc *)tmp;
3009#line 81
3010  __cil_tmp8 = (unsigned long )dcdc;
3011#line 81
3012  __cil_tmp9 = __cil_tmp8 + 64;
3013#line 81
3014  wm831x = *((struct wm831x **)__cil_tmp9);
3015#line 82
3016  tmp___0 = rdev_get_id(rdev);
3017#line 82
3018  mask = 1 << tmp___0;
3019#line 85
3020  reg = wm831x_reg_read(wm831x, (unsigned short)16464);
3021  }
3022#line 86
3023  if (reg < 0) {
3024#line 87
3025    return (reg);
3026  } else {
3027
3028  }
3029  {
3030#line 89
3031  __cil_tmp10 = reg & mask;
3032#line 89
3033  if (__cil_tmp10 != 0) {
3034#line 90
3035    return (1);
3036  } else {
3037#line 92
3038    return (0);
3039  }
3040  }
3041}
3042}
3043#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3044static int wm831x_dcdc_enable(struct regulator_dev *rdev ) 
3045{ struct wm831x_dcdc *dcdc ;
3046  void *tmp ;
3047  struct wm831x *wm831x ;
3048  int mask ;
3049  int tmp___0 ;
3050  int tmp___1 ;
3051  unsigned long __cil_tmp8 ;
3052  unsigned long __cil_tmp9 ;
3053  unsigned short __cil_tmp10 ;
3054  int __cil_tmp11 ;
3055  unsigned short __cil_tmp12 ;
3056  unsigned short __cil_tmp13 ;
3057  int __cil_tmp14 ;
3058  unsigned short __cil_tmp15 ;
3059
3060  {
3061  {
3062#line 97
3063  tmp = rdev_get_drvdata(rdev);
3064#line 97
3065  dcdc = (struct wm831x_dcdc *)tmp;
3066#line 98
3067  __cil_tmp8 = (unsigned long )dcdc;
3068#line 98
3069  __cil_tmp9 = __cil_tmp8 + 64;
3070#line 98
3071  wm831x = *((struct wm831x **)__cil_tmp9);
3072#line 99
3073  tmp___0 = rdev_get_id(rdev);
3074#line 99
3075  mask = 1 << tmp___0;
3076#line 101
3077  __cil_tmp10 = (unsigned short )mask;
3078#line 101
3079  __cil_tmp11 = (int )__cil_tmp10;
3080#line 101
3081  __cil_tmp12 = (unsigned short )__cil_tmp11;
3082#line 101
3083  __cil_tmp13 = (unsigned short )mask;
3084#line 101
3085  __cil_tmp14 = (int )__cil_tmp13;
3086#line 101
3087  __cil_tmp15 = (unsigned short )__cil_tmp14;
3088#line 101
3089  tmp___1 = wm831x_set_bits(wm831x, (unsigned short)16464, __cil_tmp12, __cil_tmp15);
3090  }
3091#line 101
3092  return (tmp___1);
3093}
3094}
3095#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3096static int wm831x_dcdc_disable(struct regulator_dev *rdev ) 
3097{ struct wm831x_dcdc *dcdc ;
3098  void *tmp ;
3099  struct wm831x *wm831x ;
3100  int mask ;
3101  int tmp___0 ;
3102  int tmp___1 ;
3103  unsigned long __cil_tmp8 ;
3104  unsigned long __cil_tmp9 ;
3105  unsigned short __cil_tmp10 ;
3106  int __cil_tmp11 ;
3107  unsigned short __cil_tmp12 ;
3108
3109  {
3110  {
3111#line 106
3112  tmp = rdev_get_drvdata(rdev);
3113#line 106
3114  dcdc = (struct wm831x_dcdc *)tmp;
3115#line 107
3116  __cil_tmp8 = (unsigned long )dcdc;
3117#line 107
3118  __cil_tmp9 = __cil_tmp8 + 64;
3119#line 107
3120  wm831x = *((struct wm831x **)__cil_tmp9);
3121#line 108
3122  tmp___0 = rdev_get_id(rdev);
3123#line 108
3124  mask = 1 << tmp___0;
3125#line 110
3126  __cil_tmp10 = (unsigned short )mask;
3127#line 110
3128  __cil_tmp11 = (int )__cil_tmp10;
3129#line 110
3130  __cil_tmp12 = (unsigned short )__cil_tmp11;
3131#line 110
3132  tmp___1 = wm831x_set_bits(wm831x, (unsigned short)16464, __cil_tmp12, (unsigned short)0);
3133  }
3134#line 110
3135  return (tmp___1);
3136}
3137}
3138#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3139static unsigned int wm831x_dcdc_get_mode(struct regulator_dev *rdev ) 
3140{ struct wm831x_dcdc *dcdc ;
3141  void *tmp ;
3142  struct wm831x *wm831x ;
3143  u16 reg ;
3144  int val ;
3145  unsigned long __cil_tmp7 ;
3146  unsigned long __cil_tmp8 ;
3147  unsigned long __cil_tmp9 ;
3148  unsigned long __cil_tmp10 ;
3149  int __cil_tmp11 ;
3150  u16 __cil_tmp12 ;
3151  unsigned int __cil_tmp13 ;
3152  unsigned int __cil_tmp14 ;
3153  int __cil_tmp15 ;
3154  unsigned short __cil_tmp16 ;
3155  int __cil_tmp17 ;
3156
3157  {
3158  {
3159#line 116
3160  tmp = rdev_get_drvdata(rdev);
3161#line 116
3162  dcdc = (struct wm831x_dcdc *)tmp;
3163#line 117
3164  __cil_tmp7 = (unsigned long )dcdc;
3165#line 117
3166  __cil_tmp8 = __cil_tmp7 + 64;
3167#line 117
3168  wm831x = *((struct wm831x **)__cil_tmp8);
3169#line 118
3170  __cil_tmp9 = (unsigned long )dcdc;
3171#line 118
3172  __cil_tmp10 = __cil_tmp9 + 56;
3173#line 118
3174  __cil_tmp11 = *((int *)__cil_tmp10);
3175#line 118
3176  __cil_tmp12 = (u16 )__cil_tmp11;
3177#line 118
3178  __cil_tmp13 = (unsigned int )__cil_tmp12;
3179#line 118
3180  __cil_tmp14 = __cil_tmp13 + 2U;
3181#line 118
3182  reg = (u16 )__cil_tmp14;
3183#line 121
3184  __cil_tmp15 = (int )reg;
3185#line 121
3186  __cil_tmp16 = (unsigned short )__cil_tmp15;
3187#line 121
3188  val = wm831x_reg_read(wm831x, __cil_tmp16);
3189  }
3190#line 122
3191  if (val < 0) {
3192#line 123
3193    return ((unsigned int )val);
3194  } else {
3195
3196  }
3197#line 125
3198  __cil_tmp17 = val & 768;
3199#line 125
3200  val = __cil_tmp17 >> 8;
3201#line 128
3202  if (val == 0) {
3203#line 128
3204    goto case_0;
3205  } else
3206#line 130
3207  if (val == 1) {
3208#line 130
3209    goto case_1;
3210  } else
3211#line 132
3212  if (val == 3) {
3213#line 132
3214    goto case_3;
3215  } else
3216#line 134
3217  if (val == 2) {
3218#line 134
3219    goto case_2;
3220  } else {
3221    {
3222#line 136
3223    goto switch_default;
3224#line 127
3225    if (0) {
3226      case_0: /* CIL Label */ ;
3227#line 129
3228      return (1U);
3229      case_1: /* CIL Label */ ;
3230#line 131
3231      return (2U);
3232      case_3: /* CIL Label */ ;
3233#line 133
3234      return (8U);
3235      case_2: /* CIL Label */ ;
3236#line 135
3237      return (4U);
3238      switch_default: /* CIL Label */ 
3239#line 137
3240      __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"),
3241                           "i" (137), "i" (12UL));
3242      ldv_24599: ;
3243#line 137
3244      goto ldv_24599;
3245#line 138
3246      return (4294967274U);
3247    } else {
3248      switch_break: /* CIL Label */ ;
3249    }
3250    }
3251  }
3252}
3253}
3254#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3255static int wm831x_dcdc_set_mode_int(struct wm831x *wm831x , int reg , unsigned int mode ) 
3256{ int val ;
3257  int tmp ;
3258  unsigned short __cil_tmp6 ;
3259  int __cil_tmp7 ;
3260  unsigned short __cil_tmp8 ;
3261  unsigned short __cil_tmp9 ;
3262  int __cil_tmp10 ;
3263  int __cil_tmp11 ;
3264  unsigned short __cil_tmp12 ;
3265
3266  {
3267#line 148
3268  if ((int )mode == 1) {
3269#line 148
3270    goto case_1;
3271  } else
3272#line 151
3273  if ((int )mode == 2) {
3274#line 151
3275    goto case_2;
3276  } else
3277#line 154
3278  if ((int )mode == 8) {
3279#line 154
3280    goto case_8;
3281  } else
3282#line 157
3283  if ((int )mode == 4) {
3284#line 157
3285    goto case_4;
3286  } else {
3287    {
3288#line 160
3289    goto switch_default;
3290#line 147
3291    if (0) {
3292      case_1: /* CIL Label */ 
3293#line 149
3294      val = 0;
3295#line 150
3296      goto ldv_24607;
3297      case_2: /* CIL Label */ 
3298#line 152
3299      val = 1;
3300#line 153
3301      goto ldv_24607;
3302      case_8: /* CIL Label */ 
3303#line 155
3304      val = 3;
3305#line 156
3306      goto ldv_24607;
3307      case_4: /* CIL Label */ 
3308#line 158
3309      val = 2;
3310#line 159
3311      goto ldv_24607;
3312      switch_default: /* CIL Label */ ;
3313#line 161
3314      return (-22);
3315    } else {
3316      switch_break: /* CIL Label */ ;
3317    }
3318    }
3319  }
3320  ldv_24607: 
3321  {
3322#line 164
3323  __cil_tmp6 = (unsigned short )reg;
3324#line 164
3325  __cil_tmp7 = (int )__cil_tmp6;
3326#line 164
3327  __cil_tmp8 = (unsigned short )__cil_tmp7;
3328#line 164
3329  __cil_tmp9 = (unsigned short )val;
3330#line 164
3331  __cil_tmp10 = (int )__cil_tmp9;
3332#line 164
3333  __cil_tmp11 = __cil_tmp10 << 8U;
3334#line 164
3335  __cil_tmp12 = (unsigned short )__cil_tmp11;
3336#line 164
3337  tmp = wm831x_set_bits(wm831x, __cil_tmp8, (unsigned short)768, __cil_tmp12);
3338  }
3339#line 164
3340  return (tmp);
3341}
3342}
3343#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3344static int wm831x_dcdc_set_mode(struct regulator_dev *rdev , unsigned int mode ) 
3345{ struct wm831x_dcdc *dcdc ;
3346  void *tmp ;
3347  struct wm831x *wm831x ;
3348  u16 reg ;
3349  int tmp___0 ;
3350  unsigned long __cil_tmp8 ;
3351  unsigned long __cil_tmp9 ;
3352  unsigned long __cil_tmp10 ;
3353  unsigned long __cil_tmp11 ;
3354  int __cil_tmp12 ;
3355  u16 __cil_tmp13 ;
3356  unsigned int __cil_tmp14 ;
3357  unsigned int __cil_tmp15 ;
3358  int __cil_tmp16 ;
3359
3360  {
3361  {
3362#line 170
3363  tmp = rdev_get_drvdata(rdev);
3364#line 170
3365  dcdc = (struct wm831x_dcdc *)tmp;
3366#line 171
3367  __cil_tmp8 = (unsigned long )dcdc;
3368#line 171
3369  __cil_tmp9 = __cil_tmp8 + 64;
3370#line 171
3371  wm831x = *((struct wm831x **)__cil_tmp9);
3372#line 172
3373  __cil_tmp10 = (unsigned long )dcdc;
3374#line 172
3375  __cil_tmp11 = __cil_tmp10 + 56;
3376#line 172
3377  __cil_tmp12 = *((int *)__cil_tmp11);
3378#line 172
3379  __cil_tmp13 = (u16 )__cil_tmp12;
3380#line 172
3381  __cil_tmp14 = (unsigned int )__cil_tmp13;
3382#line 172
3383  __cil_tmp15 = __cil_tmp14 + 2U;
3384#line 172
3385  reg = (u16 )__cil_tmp15;
3386#line 174
3387  __cil_tmp16 = (int )reg;
3388#line 174
3389  tmp___0 = wm831x_dcdc_set_mode_int(wm831x, __cil_tmp16, mode);
3390  }
3391#line 174
3392  return (tmp___0);
3393}
3394}
3395#line 177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3396static int wm831x_dcdc_set_suspend_mode(struct regulator_dev *rdev , unsigned int mode ) 
3397{ struct wm831x_dcdc *dcdc ;
3398  void *tmp ;
3399  struct wm831x *wm831x ;
3400  u16 reg ;
3401  int tmp___0 ;
3402  unsigned long __cil_tmp8 ;
3403  unsigned long __cil_tmp9 ;
3404  unsigned long __cil_tmp10 ;
3405  unsigned long __cil_tmp11 ;
3406  int __cil_tmp12 ;
3407  u16 __cil_tmp13 ;
3408  unsigned int __cil_tmp14 ;
3409  unsigned int __cil_tmp15 ;
3410  int __cil_tmp16 ;
3411
3412  {
3413  {
3414#line 180
3415  tmp = rdev_get_drvdata(rdev);
3416#line 180
3417  dcdc = (struct wm831x_dcdc *)tmp;
3418#line 181
3419  __cil_tmp8 = (unsigned long )dcdc;
3420#line 181
3421  __cil_tmp9 = __cil_tmp8 + 64;
3422#line 181
3423  wm831x = *((struct wm831x **)__cil_tmp9);
3424#line 182
3425  __cil_tmp10 = (unsigned long )dcdc;
3426#line 182
3427  __cil_tmp11 = __cil_tmp10 + 56;
3428#line 182
3429  __cil_tmp12 = *((int *)__cil_tmp11);
3430#line 182
3431  __cil_tmp13 = (u16 )__cil_tmp12;
3432#line 182
3433  __cil_tmp14 = (unsigned int )__cil_tmp13;
3434#line 182
3435  __cil_tmp15 = __cil_tmp14 + 3U;
3436#line 182
3437  reg = (u16 )__cil_tmp15;
3438#line 184
3439  __cil_tmp16 = (int )reg;
3440#line 184
3441  tmp___0 = wm831x_dcdc_set_mode_int(wm831x, __cil_tmp16, mode);
3442  }
3443#line 184
3444  return (tmp___0);
3445}
3446}
3447#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3448static int wm831x_dcdc_get_status(struct regulator_dev *rdev ) 
3449{ struct wm831x_dcdc *dcdc ;
3450  void *tmp ;
3451  struct wm831x *wm831x ;
3452  int ret ;
3453  struct _ddebug descriptor ;
3454  int tmp___0 ;
3455  long tmp___1 ;
3456  int tmp___2 ;
3457  struct _ddebug descriptor___0 ;
3458  int tmp___3 ;
3459  long tmp___4 ;
3460  int tmp___5 ;
3461  struct _ddebug descriptor___1 ;
3462  int tmp___6 ;
3463  long tmp___7 ;
3464  int tmp___8 ;
3465  int tmp___9 ;
3466  int tmp___10 ;
3467  unsigned long __cil_tmp20 ;
3468  unsigned long __cil_tmp21 ;
3469  int __cil_tmp22 ;
3470  struct _ddebug *__cil_tmp23 ;
3471  unsigned long __cil_tmp24 ;
3472  unsigned long __cil_tmp25 ;
3473  unsigned long __cil_tmp26 ;
3474  unsigned long __cil_tmp27 ;
3475  unsigned long __cil_tmp28 ;
3476  unsigned long __cil_tmp29 ;
3477  unsigned char __cil_tmp30 ;
3478  long __cil_tmp31 ;
3479  long __cil_tmp32 ;
3480  unsigned long __cil_tmp33 ;
3481  unsigned long __cil_tmp34 ;
3482  struct device *__cil_tmp35 ;
3483  struct device  const  *__cil_tmp36 ;
3484  int __cil_tmp37 ;
3485  int __cil_tmp38 ;
3486  int __cil_tmp39 ;
3487  struct _ddebug *__cil_tmp40 ;
3488  unsigned long __cil_tmp41 ;
3489  unsigned long __cil_tmp42 ;
3490  unsigned long __cil_tmp43 ;
3491  unsigned long __cil_tmp44 ;
3492  unsigned long __cil_tmp45 ;
3493  unsigned long __cil_tmp46 ;
3494  unsigned char __cil_tmp47 ;
3495  long __cil_tmp48 ;
3496  long __cil_tmp49 ;
3497  unsigned long __cil_tmp50 ;
3498  unsigned long __cil_tmp51 ;
3499  struct device *__cil_tmp52 ;
3500  struct device  const  *__cil_tmp53 ;
3501  int __cil_tmp54 ;
3502  int __cil_tmp55 ;
3503  int __cil_tmp56 ;
3504  struct _ddebug *__cil_tmp57 ;
3505  unsigned long __cil_tmp58 ;
3506  unsigned long __cil_tmp59 ;
3507  unsigned long __cil_tmp60 ;
3508  unsigned long __cil_tmp61 ;
3509  unsigned long __cil_tmp62 ;
3510  unsigned long __cil_tmp63 ;
3511  unsigned char __cil_tmp64 ;
3512  long __cil_tmp65 ;
3513  long __cil_tmp66 ;
3514  unsigned long __cil_tmp67 ;
3515  unsigned long __cil_tmp68 ;
3516  struct device *__cil_tmp69 ;
3517  struct device  const  *__cil_tmp70 ;
3518  int __cil_tmp71 ;
3519  int __cil_tmp72 ;
3520  int __cil_tmp73 ;
3521
3522  {
3523  {
3524#line 189
3525  tmp = rdev_get_drvdata(rdev);
3526#line 189
3527  dcdc = (struct wm831x_dcdc *)tmp;
3528#line 190
3529  __cil_tmp20 = (unsigned long )dcdc;
3530#line 190
3531  __cil_tmp21 = __cil_tmp20 + 64;
3532#line 190
3533  wm831x = *((struct wm831x **)__cil_tmp21);
3534#line 194
3535  ret = wm831x_reg_read(wm831x, (unsigned short)16468);
3536  }
3537#line 195
3538  if (ret < 0) {
3539#line 196
3540    return (ret);
3541  } else {
3542
3543  }
3544  {
3545#line 198
3546  tmp___2 = rdev_get_id(rdev);
3547  }
3548  {
3549#line 198
3550  __cil_tmp22 = ret >> tmp___2;
3551#line 198
3552  if (__cil_tmp22 & 1) {
3553    {
3554#line 199
3555    __cil_tmp23 = & descriptor;
3556#line 199
3557    *((char const   **)__cil_tmp23) = "wm831x_dcdc";
3558#line 199
3559    __cil_tmp24 = (unsigned long )(& descriptor) + 8;
3560#line 199
3561    *((char const   **)__cil_tmp24) = "wm831x_dcdc_get_status";
3562#line 199
3563    __cil_tmp25 = (unsigned long )(& descriptor) + 16;
3564#line 199
3565    *((char const   **)__cil_tmp25) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3566#line 199
3567    __cil_tmp26 = (unsigned long )(& descriptor) + 24;
3568#line 199
3569    *((char const   **)__cil_tmp26) = "DCDC%d under voltage\n";
3570#line 199
3571    __cil_tmp27 = (unsigned long )(& descriptor) + 32;
3572#line 199
3573    *((unsigned int *)__cil_tmp27) = 200U;
3574#line 199
3575    __cil_tmp28 = (unsigned long )(& descriptor) + 35;
3576#line 199
3577    *((unsigned char *)__cil_tmp28) = (unsigned char)1;
3578#line 199
3579    __cil_tmp29 = (unsigned long )(& descriptor) + 35;
3580#line 199
3581    __cil_tmp30 = *((unsigned char *)__cil_tmp29);
3582#line 199
3583    __cil_tmp31 = (long )__cil_tmp30;
3584#line 199
3585    __cil_tmp32 = __cil_tmp31 & 1L;
3586#line 199
3587    tmp___1 = __builtin_expect(__cil_tmp32, 0L);
3588    }
3589#line 199
3590    if (tmp___1 != 0L) {
3591      {
3592#line 199
3593      tmp___0 = rdev_get_id(rdev);
3594#line 199
3595      __cil_tmp33 = (unsigned long )wm831x;
3596#line 199
3597      __cil_tmp34 = __cil_tmp33 + 168;
3598#line 199
3599      __cil_tmp35 = *((struct device **)__cil_tmp34);
3600#line 199
3601      __cil_tmp36 = (struct device  const  *)__cil_tmp35;
3602#line 199
3603      __cil_tmp37 = tmp___0 + 1;
3604#line 199
3605      __dynamic_dev_dbg(& descriptor, __cil_tmp36, "DCDC%d under voltage\n", __cil_tmp37);
3606      }
3607    } else {
3608
3609    }
3610#line 201
3611    return (2);
3612  } else {
3613
3614  }
3615  }
3616  {
3617#line 205
3618  tmp___9 = rdev_get_id(rdev);
3619  }
3620#line 205
3621  if (tmp___9 <= 1) {
3622    {
3623#line 206
3624    tmp___5 = rdev_get_id(rdev);
3625    }
3626    {
3627#line 206
3628    __cil_tmp38 = 4096 << tmp___5;
3629#line 206
3630    __cil_tmp39 = __cil_tmp38 & ret;
3631#line 206
3632    if (__cil_tmp39 != 0) {
3633      {
3634#line 207
3635      __cil_tmp40 = & descriptor___0;
3636#line 207
3637      *((char const   **)__cil_tmp40) = "wm831x_dcdc";
3638#line 207
3639      __cil_tmp41 = (unsigned long )(& descriptor___0) + 8;
3640#line 207
3641      *((char const   **)__cil_tmp41) = "wm831x_dcdc_get_status";
3642#line 207
3643      __cil_tmp42 = (unsigned long )(& descriptor___0) + 16;
3644#line 207
3645      *((char const   **)__cil_tmp42) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3646#line 207
3647      __cil_tmp43 = (unsigned long )(& descriptor___0) + 24;
3648#line 207
3649      *((char const   **)__cil_tmp43) = "DCDC%d over voltage\n";
3650#line 207
3651      __cil_tmp44 = (unsigned long )(& descriptor___0) + 32;
3652#line 207
3653      *((unsigned int *)__cil_tmp44) = 208U;
3654#line 207
3655      __cil_tmp45 = (unsigned long )(& descriptor___0) + 35;
3656#line 207
3657      *((unsigned char *)__cil_tmp45) = (unsigned char)1;
3658#line 207
3659      __cil_tmp46 = (unsigned long )(& descriptor___0) + 35;
3660#line 207
3661      __cil_tmp47 = *((unsigned char *)__cil_tmp46);
3662#line 207
3663      __cil_tmp48 = (long )__cil_tmp47;
3664#line 207
3665      __cil_tmp49 = __cil_tmp48 & 1L;
3666#line 207
3667      tmp___4 = __builtin_expect(__cil_tmp49, 0L);
3668      }
3669#line 207
3670      if (tmp___4 != 0L) {
3671        {
3672#line 207
3673        tmp___3 = rdev_get_id(rdev);
3674#line 207
3675        __cil_tmp50 = (unsigned long )wm831x;
3676#line 207
3677        __cil_tmp51 = __cil_tmp50 + 168;
3678#line 207
3679        __cil_tmp52 = *((struct device **)__cil_tmp51);
3680#line 207
3681        __cil_tmp53 = (struct device  const  *)__cil_tmp52;
3682#line 207
3683        __cil_tmp54 = tmp___3 + 1;
3684#line 207
3685        __dynamic_dev_dbg(& descriptor___0, __cil_tmp53, "DCDC%d over voltage\n",
3686                          __cil_tmp54);
3687        }
3688      } else {
3689
3690      }
3691#line 209
3692      return (2);
3693    } else {
3694
3695    }
3696    }
3697    {
3698#line 212
3699    tmp___8 = rdev_get_id(rdev);
3700    }
3701    {
3702#line 212
3703    __cil_tmp55 = 256 << tmp___8;
3704#line 212
3705    __cil_tmp56 = __cil_tmp55 & ret;
3706#line 212
3707    if (__cil_tmp56 != 0) {
3708      {
3709#line 213
3710      __cil_tmp57 = & descriptor___1;
3711#line 213
3712      *((char const   **)__cil_tmp57) = "wm831x_dcdc";
3713#line 213
3714      __cil_tmp58 = (unsigned long )(& descriptor___1) + 8;
3715#line 213
3716      *((char const   **)__cil_tmp58) = "wm831x_dcdc_get_status";
3717#line 213
3718      __cil_tmp59 = (unsigned long )(& descriptor___1) + 16;
3719#line 213
3720      *((char const   **)__cil_tmp59) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
3721#line 213
3722      __cil_tmp60 = (unsigned long )(& descriptor___1) + 24;
3723#line 213
3724      *((char const   **)__cil_tmp60) = "DCDC%d over current\n";
3725#line 213
3726      __cil_tmp61 = (unsigned long )(& descriptor___1) + 32;
3727#line 213
3728      *((unsigned int *)__cil_tmp61) = 214U;
3729#line 213
3730      __cil_tmp62 = (unsigned long )(& descriptor___1) + 35;
3731#line 213
3732      *((unsigned char *)__cil_tmp62) = (unsigned char)1;
3733#line 213
3734      __cil_tmp63 = (unsigned long )(& descriptor___1) + 35;
3735#line 213
3736      __cil_tmp64 = *((unsigned char *)__cil_tmp63);
3737#line 213
3738      __cil_tmp65 = (long )__cil_tmp64;
3739#line 213
3740      __cil_tmp66 = __cil_tmp65 & 1L;
3741#line 213
3742      tmp___7 = __builtin_expect(__cil_tmp66, 0L);
3743      }
3744#line 213
3745      if (tmp___7 != 0L) {
3746        {
3747#line 213
3748        tmp___6 = rdev_get_id(rdev);
3749#line 213
3750        __cil_tmp67 = (unsigned long )wm831x;
3751#line 213
3752        __cil_tmp68 = __cil_tmp67 + 168;
3753#line 213
3754        __cil_tmp69 = *((struct device **)__cil_tmp68);
3755#line 213
3756        __cil_tmp70 = (struct device  const  *)__cil_tmp69;
3757#line 213
3758        __cil_tmp71 = tmp___6 + 1;
3759#line 213
3760        __dynamic_dev_dbg(& descriptor___1, __cil_tmp70, "DCDC%d over current\n",
3761                          __cil_tmp71);
3762        }
3763      } else {
3764
3765      }
3766#line 215
3767      return (2);
3768    } else {
3769
3770    }
3771    }
3772  } else {
3773
3774  }
3775  {
3776#line 220
3777  ret = wm831x_reg_read(wm831x, (unsigned short)16466);
3778  }
3779#line 221
3780  if (ret < 0) {
3781#line 222
3782    return (ret);
3783  } else {
3784
3785  }
3786  {
3787#line 223
3788  tmp___10 = rdev_get_id(rdev);
3789  }
3790  {
3791#line 223
3792  __cil_tmp72 = ret >> tmp___10;
3793#line 223
3794  __cil_tmp73 = __cil_tmp72 & 1;
3795#line 223
3796  if (__cil_tmp73 == 0) {
3797#line 224
3798    return (0);
3799  } else {
3800
3801  }
3802  }
3803#line 228
3804  return (1);
3805}
3806}
3807#line 231 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3808static irqreturn_t wm831x_dcdc_uv_irq(int irq , void *data ) 
3809{ struct wm831x_dcdc *dcdc ;
3810  unsigned long __cil_tmp4 ;
3811  unsigned long __cil_tmp5 ;
3812  struct regulator_dev *__cil_tmp6 ;
3813  void *__cil_tmp7 ;
3814
3815  {
3816  {
3817#line 233
3818  dcdc = (struct wm831x_dcdc *)data;
3819#line 235
3820  __cil_tmp4 = (unsigned long )dcdc;
3821#line 235
3822  __cil_tmp5 = __cil_tmp4 + 72;
3823#line 235
3824  __cil_tmp6 = *((struct regulator_dev **)__cil_tmp5);
3825#line 235
3826  __cil_tmp7 = (void *)0;
3827#line 235
3828  regulator_notifier_call_chain(__cil_tmp6, 1UL, __cil_tmp7);
3829  }
3830#line 239
3831  return ((irqreturn_t )1);
3832}
3833}
3834#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3835static irqreturn_t wm831x_dcdc_oc_irq(int irq , void *data ) 
3836{ struct wm831x_dcdc *dcdc ;
3837  unsigned long __cil_tmp4 ;
3838  unsigned long __cil_tmp5 ;
3839  struct regulator_dev *__cil_tmp6 ;
3840  void *__cil_tmp7 ;
3841
3842  {
3843  {
3844#line 244
3845  dcdc = (struct wm831x_dcdc *)data;
3846#line 246
3847  __cil_tmp4 = (unsigned long )dcdc;
3848#line 246
3849  __cil_tmp5 = __cil_tmp4 + 72;
3850#line 246
3851  __cil_tmp6 = *((struct regulator_dev **)__cil_tmp5);
3852#line 246
3853  __cil_tmp7 = (void *)0;
3854#line 246
3855  regulator_notifier_call_chain(__cil_tmp6, 2UL, __cil_tmp7);
3856  }
3857#line 250
3858  return ((irqreturn_t )1);
3859}
3860}
3861#line 257 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3862static int wm831x_buckv_list_voltage(struct regulator_dev *rdev , unsigned int selector ) 
3863{ unsigned int __cil_tmp3 ;
3864  unsigned int __cil_tmp4 ;
3865
3866  {
3867#line 260
3868  if (selector <= 8U) {
3869#line 261
3870    return (600000);
3871  } else {
3872
3873  }
3874#line 262
3875  if (selector <= 104U) {
3876    {
3877#line 263
3878    __cil_tmp3 = selector * 12500U;
3879#line 263
3880    __cil_tmp4 = __cil_tmp3 + 500000U;
3881#line 263
3882    return ((int )__cil_tmp4);
3883    }
3884  } else {
3885
3886  }
3887#line 264
3888  return (-22);
3889}
3890}
3891#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3892static int wm831x_buckv_select_min_voltage(struct regulator_dev *rdev , int min_uV ,
3893                                           int max_uV ) 
3894{ u16 vsel ;
3895  int tmp ;
3896  int __cil_tmp6 ;
3897  int __cil_tmp7 ;
3898  u16 __cil_tmp8 ;
3899  unsigned int __cil_tmp9 ;
3900  unsigned int __cil_tmp10 ;
3901  unsigned int __cil_tmp11 ;
3902
3903  {
3904#line 272
3905  if (min_uV <= 599999) {
3906#line 273
3907    vsel = (u16 )0U;
3908  } else
3909#line 274
3910  if (min_uV <= 1800000) {
3911#line 275
3912    __cil_tmp6 = min_uV + -600000;
3913#line 275
3914    __cil_tmp7 = __cil_tmp6 / 12500;
3915#line 275
3916    __cil_tmp8 = (u16 )__cil_tmp7;
3917#line 275
3918    __cil_tmp9 = (unsigned int )__cil_tmp8;
3919#line 275
3920    __cil_tmp10 = __cil_tmp9 + 8U;
3921#line 275
3922    vsel = (u16 )__cil_tmp10;
3923  } else {
3924#line 277
3925    return (-22);
3926  }
3927  {
3928#line 279
3929  __cil_tmp11 = (unsigned int )vsel;
3930#line 279
3931  tmp = wm831x_buckv_list_voltage(rdev, __cil_tmp11);
3932  }
3933#line 279
3934  if (tmp > max_uV) {
3935#line 280
3936    return (-22);
3937  } else {
3938
3939  }
3940#line 282
3941  return ((int )vsel);
3942}
3943}
3944#line 285 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
3945static int wm831x_buckv_set_dvs(struct regulator_dev *rdev , int state ) 
3946{ struct wm831x_dcdc *dcdc ;
3947  void *tmp ;
3948  unsigned long __cil_tmp5 ;
3949  unsigned long __cil_tmp6 ;
3950  int __cil_tmp7 ;
3951  unsigned long __cil_tmp8 ;
3952  unsigned long __cil_tmp9 ;
3953  unsigned long __cil_tmp10 ;
3954  unsigned long __cil_tmp11 ;
3955  int __cil_tmp12 ;
3956  unsigned int __cil_tmp13 ;
3957
3958  {
3959  {
3960#line 287
3961  tmp = rdev_get_drvdata(rdev);
3962#line 287
3963  dcdc = (struct wm831x_dcdc *)tmp;
3964  }
3965  {
3966#line 289
3967  __cil_tmp5 = (unsigned long )dcdc;
3968#line 289
3969  __cil_tmp6 = __cil_tmp5 + 84;
3970#line 289
3971  __cil_tmp7 = *((int *)__cil_tmp6);
3972#line 289
3973  if (__cil_tmp7 == state) {
3974#line 290
3975    return (0);
3976  } else {
3977
3978  }
3979  }
3980  {
3981#line 292
3982  __cil_tmp8 = (unsigned long )dcdc;
3983#line 292
3984  __cil_tmp9 = __cil_tmp8 + 84;
3985#line 292
3986  *((int *)__cil_tmp9) = state;
3987#line 293
3988  __cil_tmp10 = (unsigned long )dcdc;
3989#line 293
3990  __cil_tmp11 = __cil_tmp10 + 80;
3991#line 293
3992  __cil_tmp12 = *((int *)__cil_tmp11);
3993#line 293
3994  __cil_tmp13 = (unsigned int )__cil_tmp12;
3995#line 293
3996  gpio_set_value(__cil_tmp13, state);
3997  }
3998#line 300
3999  return (0);
4000}
4001}
4002#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4003static int wm831x_buckv_set_voltage(struct regulator_dev *rdev , int min_uV , int max_uV ,
4004                                    unsigned int *selector ) 
4005{ struct wm831x_dcdc *dcdc ;
4006  void *tmp ;
4007  struct wm831x *wm831x ;
4008  int on_reg ;
4009  int dvs_reg ;
4010  int vsel ;
4011  int ret ;
4012  int tmp___0 ;
4013  int tmp___1 ;
4014  unsigned long __cil_tmp14 ;
4015  unsigned long __cil_tmp15 ;
4016  unsigned long __cil_tmp16 ;
4017  unsigned long __cil_tmp17 ;
4018  int __cil_tmp18 ;
4019  unsigned long __cil_tmp19 ;
4020  unsigned long __cil_tmp20 ;
4021  int __cil_tmp21 ;
4022  unsigned long __cil_tmp22 ;
4023  unsigned long __cil_tmp23 ;
4024  int __cil_tmp24 ;
4025  unsigned long __cil_tmp25 ;
4026  unsigned long __cil_tmp26 ;
4027  int __cil_tmp27 ;
4028  unsigned long __cil_tmp28 ;
4029  unsigned long __cil_tmp29 ;
4030  int __cil_tmp30 ;
4031  unsigned long __cil_tmp31 ;
4032  unsigned long __cil_tmp32 ;
4033  int __cil_tmp33 ;
4034  unsigned short __cil_tmp34 ;
4035  int __cil_tmp35 ;
4036  unsigned short __cil_tmp36 ;
4037  unsigned short __cil_tmp37 ;
4038  int __cil_tmp38 ;
4039  unsigned short __cil_tmp39 ;
4040  unsigned long __cil_tmp40 ;
4041  unsigned long __cil_tmp41 ;
4042  unsigned long __cil_tmp42 ;
4043  unsigned long __cil_tmp43 ;
4044  int __cil_tmp44 ;
4045  unsigned long __cil_tmp45 ;
4046  unsigned long __cil_tmp46 ;
4047  int __cil_tmp47 ;
4048  unsigned short __cil_tmp48 ;
4049  int __cil_tmp49 ;
4050  unsigned short __cil_tmp50 ;
4051  unsigned long __cil_tmp51 ;
4052  unsigned long __cil_tmp52 ;
4053  int __cil_tmp53 ;
4054  unsigned short __cil_tmp54 ;
4055  int __cil_tmp55 ;
4056  unsigned short __cil_tmp56 ;
4057  unsigned long __cil_tmp57 ;
4058  unsigned long __cil_tmp58 ;
4059  unsigned long __cil_tmp59 ;
4060  unsigned long __cil_tmp60 ;
4061  struct device *__cil_tmp61 ;
4062  struct device  const  *__cil_tmp62 ;
4063
4064  {
4065  {
4066#line 306
4067  tmp = rdev_get_drvdata(rdev);
4068#line 306
4069  dcdc = (struct wm831x_dcdc *)tmp;
4070#line 307
4071  __cil_tmp14 = (unsigned long )dcdc;
4072#line 307
4073  __cil_tmp15 = __cil_tmp14 + 64;
4074#line 307
4075  wm831x = *((struct wm831x **)__cil_tmp15);
4076#line 308
4077  __cil_tmp16 = (unsigned long )dcdc;
4078#line 308
4079  __cil_tmp17 = __cil_tmp16 + 56;
4080#line 308
4081  __cil_tmp18 = *((int *)__cil_tmp17);
4082#line 308
4083  on_reg = __cil_tmp18 + 2;
4084#line 309
4085  __cil_tmp19 = (unsigned long )dcdc;
4086#line 309
4087  __cil_tmp20 = __cil_tmp19 + 56;
4088#line 309
4089  __cil_tmp21 = *((int *)__cil_tmp20);
4090#line 309
4091  dvs_reg = __cil_tmp21 + 4;
4092#line 312
4093  vsel = wm831x_buckv_select_min_voltage(rdev, min_uV, max_uV);
4094  }
4095#line 313
4096  if (vsel < 0) {
4097#line 314
4098    return (vsel);
4099  } else {
4100
4101  }
4102#line 316
4103  *selector = (unsigned int )vsel;
4104  {
4105#line 319
4106  __cil_tmp22 = (unsigned long )dcdc;
4107#line 319
4108  __cil_tmp23 = __cil_tmp22 + 80;
4109#line 319
4110  __cil_tmp24 = *((int *)__cil_tmp23);
4111#line 319
4112  if (__cil_tmp24 != 0) {
4113    {
4114#line 319
4115    __cil_tmp25 = (unsigned long )dcdc;
4116#line 319
4117    __cil_tmp26 = __cil_tmp25 + 88;
4118#line 319
4119    __cil_tmp27 = *((int *)__cil_tmp26);
4120#line 319
4121    if (__cil_tmp27 == vsel) {
4122      {
4123#line 320
4124      tmp___0 = wm831x_buckv_set_dvs(rdev, 0);
4125      }
4126#line 320
4127      return (tmp___0);
4128    } else {
4129
4130    }
4131    }
4132  } else {
4133
4134  }
4135  }
4136  {
4137#line 322
4138  __cil_tmp28 = (unsigned long )dcdc;
4139#line 322
4140  __cil_tmp29 = __cil_tmp28 + 80;
4141#line 322
4142  __cil_tmp30 = *((int *)__cil_tmp29);
4143#line 322
4144  if (__cil_tmp30 != 0) {
4145    {
4146#line 322
4147    __cil_tmp31 = (unsigned long )dcdc;
4148#line 322
4149    __cil_tmp32 = __cil_tmp31 + 92;
4150#line 322
4151    __cil_tmp33 = *((int *)__cil_tmp32);
4152#line 322
4153    if (__cil_tmp33 == vsel) {
4154      {
4155#line 323
4156      tmp___1 = wm831x_buckv_set_dvs(rdev, 1);
4157      }
4158#line 323
4159      return (tmp___1);
4160    } else {
4161
4162    }
4163    }
4164  } else {
4165
4166  }
4167  }
4168  {
4169#line 326
4170  __cil_tmp34 = (unsigned short )on_reg;
4171#line 326
4172  __cil_tmp35 = (int )__cil_tmp34;
4173#line 326
4174  __cil_tmp36 = (unsigned short )__cil_tmp35;
4175#line 326
4176  __cil_tmp37 = (unsigned short )vsel;
4177#line 326
4178  __cil_tmp38 = (int )__cil_tmp37;
4179#line 326
4180  __cil_tmp39 = (unsigned short )__cil_tmp38;
4181#line 326
4182  ret = wm831x_set_bits(wm831x, __cil_tmp36, (unsigned short)127, __cil_tmp39);
4183  }
4184#line 327
4185  if (ret < 0) {
4186#line 328
4187    return (ret);
4188  } else {
4189
4190  }
4191#line 329
4192  __cil_tmp40 = (unsigned long )dcdc;
4193#line 329
4194  __cil_tmp41 = __cil_tmp40 + 88;
4195#line 329
4196  *((int *)__cil_tmp41) = vsel;
4197  {
4198#line 331
4199  __cil_tmp42 = (unsigned long )dcdc;
4200#line 331
4201  __cil_tmp43 = __cil_tmp42 + 80;
4202#line 331
4203  __cil_tmp44 = *((int *)__cil_tmp43);
4204#line 331
4205  if (__cil_tmp44 == 0) {
4206#line 332
4207    return (ret);
4208  } else {
4209
4210  }
4211  }
4212  {
4213#line 335
4214  ret = wm831x_buckv_set_dvs(rdev, 0);
4215  }
4216#line 336
4217  if (ret < 0) {
4218#line 337
4219    return (ret);
4220  } else {
4221
4222  }
4223  {
4224#line 345
4225  __cil_tmp45 = (unsigned long )dcdc;
4226#line 345
4227  __cil_tmp46 = __cil_tmp45 + 92;
4228#line 345
4229  __cil_tmp47 = *((int *)__cil_tmp46);
4230#line 345
4231  if (__cil_tmp47 < vsel) {
4232    {
4233#line 346
4234    __cil_tmp48 = (unsigned short )dvs_reg;
4235#line 346
4236    __cil_tmp49 = (int )__cil_tmp48;
4237#line 346
4238    __cil_tmp50 = (unsigned short )__cil_tmp49;
4239#line 346
4240    __cil_tmp51 = (unsigned long )dcdc;
4241#line 346
4242    __cil_tmp52 = __cil_tmp51 + 92;
4243#line 346
4244    __cil_tmp53 = *((int *)__cil_tmp52);
4245#line 346
4246    __cil_tmp54 = (unsigned short )__cil_tmp53;
4247#line 346
4248    __cil_tmp55 = (int )__cil_tmp54;
4249#line 346
4250    __cil_tmp56 = (unsigned short )__cil_tmp55;
4251#line 346
4252    ret = wm831x_set_bits(wm831x, __cil_tmp50, (unsigned short)127, __cil_tmp56);
4253    }
4254#line 349
4255    if (ret == 0) {
4256#line 350
4257      __cil_tmp57 = (unsigned long )dcdc;
4258#line 350
4259      __cil_tmp58 = __cil_tmp57 + 92;
4260#line 350
4261      *((int *)__cil_tmp58) = vsel;
4262    } else {
4263      {
4264#line 352
4265      __cil_tmp59 = (unsigned long )wm831x;
4266#line 352
4267      __cil_tmp60 = __cil_tmp59 + 168;
4268#line 352
4269      __cil_tmp61 = *((struct device **)__cil_tmp60);
4270#line 352
4271      __cil_tmp62 = (struct device  const  *)__cil_tmp61;
4272#line 352
4273      dev_warn(__cil_tmp62, "Failed to set DCDC DVS VSEL: %d\n", ret);
4274      }
4275    }
4276  } else {
4277
4278  }
4279  }
4280#line 356
4281  return (0);
4282}
4283}
4284#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4285static int wm831x_buckv_set_suspend_voltage(struct regulator_dev *rdev , int uV ) 
4286{ struct wm831x_dcdc *dcdc ;
4287  void *tmp ;
4288  struct wm831x *wm831x ;
4289  u16 reg ;
4290  int vsel ;
4291  int tmp___0 ;
4292  unsigned long __cil_tmp9 ;
4293  unsigned long __cil_tmp10 ;
4294  unsigned long __cil_tmp11 ;
4295  unsigned long __cil_tmp12 ;
4296  int __cil_tmp13 ;
4297  u16 __cil_tmp14 ;
4298  unsigned int __cil_tmp15 ;
4299  unsigned int __cil_tmp16 ;
4300  int __cil_tmp17 ;
4301  unsigned short __cil_tmp18 ;
4302  unsigned short __cil_tmp19 ;
4303  int __cil_tmp20 ;
4304  unsigned short __cil_tmp21 ;
4305
4306  {
4307  {
4308#line 362
4309  tmp = rdev_get_drvdata(rdev);
4310#line 362
4311  dcdc = (struct wm831x_dcdc *)tmp;
4312#line 363
4313  __cil_tmp9 = (unsigned long )dcdc;
4314#line 363
4315  __cil_tmp10 = __cil_tmp9 + 64;
4316#line 363
4317  wm831x = *((struct wm831x **)__cil_tmp10);
4318#line 364
4319  __cil_tmp11 = (unsigned long )dcdc;
4320#line 364
4321  __cil_tmp12 = __cil_tmp11 + 56;
4322#line 364
4323  __cil_tmp13 = *((int *)__cil_tmp12);
4324#line 364
4325  __cil_tmp14 = (u16 )__cil_tmp13;
4326#line 364
4327  __cil_tmp15 = (unsigned int )__cil_tmp14;
4328#line 364
4329  __cil_tmp16 = __cil_tmp15 + 3U;
4330#line 364
4331  reg = (u16 )__cil_tmp16;
4332#line 367
4333  vsel = wm831x_buckv_select_min_voltage(rdev, uV, uV);
4334  }
4335#line 368
4336  if (vsel < 0) {
4337#line 369
4338    return (vsel);
4339  } else {
4340
4341  }
4342  {
4343#line 371
4344  __cil_tmp17 = (int )reg;
4345#line 371
4346  __cil_tmp18 = (unsigned short )__cil_tmp17;
4347#line 371
4348  __cil_tmp19 = (unsigned short )vsel;
4349#line 371
4350  __cil_tmp20 = (int )__cil_tmp19;
4351#line 371
4352  __cil_tmp21 = (unsigned short )__cil_tmp20;
4353#line 371
4354  tmp___0 = wm831x_set_bits(wm831x, __cil_tmp18, (unsigned short)127, __cil_tmp21);
4355  }
4356#line 371
4357  return (tmp___0);
4358}
4359}
4360#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4361static int wm831x_buckv_get_voltage_sel(struct regulator_dev *rdev ) 
4362{ struct wm831x_dcdc *dcdc ;
4363  void *tmp ;
4364  unsigned long __cil_tmp4 ;
4365  unsigned long __cil_tmp5 ;
4366  int __cil_tmp6 ;
4367  unsigned long __cil_tmp7 ;
4368  unsigned long __cil_tmp8 ;
4369  int __cil_tmp9 ;
4370  unsigned long __cil_tmp10 ;
4371  unsigned long __cil_tmp11 ;
4372  unsigned long __cil_tmp12 ;
4373  unsigned long __cil_tmp13 ;
4374  unsigned long __cil_tmp14 ;
4375  unsigned long __cil_tmp15 ;
4376
4377  {
4378  {
4379#line 376
4380  tmp = rdev_get_drvdata(rdev);
4381#line 376
4382  dcdc = (struct wm831x_dcdc *)tmp;
4383  }
4384  {
4385#line 378
4386  __cil_tmp4 = (unsigned long )dcdc;
4387#line 378
4388  __cil_tmp5 = __cil_tmp4 + 80;
4389#line 378
4390  __cil_tmp6 = *((int *)__cil_tmp5);
4391#line 378
4392  if (__cil_tmp6 != 0) {
4393    {
4394#line 378
4395    __cil_tmp7 = (unsigned long )dcdc;
4396#line 378
4397    __cil_tmp8 = __cil_tmp7 + 84;
4398#line 378
4399    __cil_tmp9 = *((int *)__cil_tmp8);
4400#line 378
4401    if (__cil_tmp9 != 0) {
4402      {
4403#line 379
4404      __cil_tmp10 = (unsigned long )dcdc;
4405#line 379
4406      __cil_tmp11 = __cil_tmp10 + 92;
4407#line 379
4408      return (*((int *)__cil_tmp11));
4409      }
4410    } else {
4411      {
4412#line 381
4413      __cil_tmp12 = (unsigned long )dcdc;
4414#line 381
4415      __cil_tmp13 = __cil_tmp12 + 88;
4416#line 381
4417      return (*((int *)__cil_tmp13));
4418      }
4419    }
4420    }
4421  } else {
4422    {
4423#line 381
4424    __cil_tmp14 = (unsigned long )dcdc;
4425#line 381
4426    __cil_tmp15 = __cil_tmp14 + 88;
4427#line 381
4428    return (*((int *)__cil_tmp15));
4429    }
4430  }
4431  }
4432}
4433}
4434#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4435static u16 wm831x_dcdc_ilim[8U]  = 
4436#line 385
4437  {      (u16 )125U,      (u16 )250U,      (u16 )375U,      (u16 )500U, 
4438        (u16 )625U,      (u16 )750U,      (u16 )875U,      (u16 )1000U};
4439#line 389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4440static int wm831x_buckv_set_current_limit(struct regulator_dev *rdev , int min_uA ,
4441                                          int max_uA ) 
4442{ struct wm831x_dcdc *dcdc ;
4443  void *tmp ;
4444  struct wm831x *wm831x ;
4445  u16 reg ;
4446  int i ;
4447  int tmp___0 ;
4448  unsigned long __cil_tmp10 ;
4449  unsigned long __cil_tmp11 ;
4450  unsigned long __cil_tmp12 ;
4451  unsigned long __cil_tmp13 ;
4452  int __cil_tmp14 ;
4453  u16 __cil_tmp15 ;
4454  unsigned int __cil_tmp16 ;
4455  unsigned int __cil_tmp17 ;
4456  unsigned long __cil_tmp18 ;
4457  unsigned long __cil_tmp19 ;
4458  u16 __cil_tmp20 ;
4459  int __cil_tmp21 ;
4460  unsigned long __cil_tmp22 ;
4461  unsigned long __cil_tmp23 ;
4462  u16 __cil_tmp24 ;
4463  int __cil_tmp25 ;
4464  unsigned int __cil_tmp26 ;
4465  int __cil_tmp27 ;
4466  unsigned short __cil_tmp28 ;
4467  unsigned short __cil_tmp29 ;
4468  int __cil_tmp30 ;
4469  int __cil_tmp31 ;
4470  unsigned short __cil_tmp32 ;
4471
4472  {
4473  {
4474#line 392
4475  tmp = rdev_get_drvdata(rdev);
4476#line 392
4477  dcdc = (struct wm831x_dcdc *)tmp;
4478#line 393
4479  __cil_tmp10 = (unsigned long )dcdc;
4480#line 393
4481  __cil_tmp11 = __cil_tmp10 + 64;
4482#line 393
4483  wm831x = *((struct wm831x **)__cil_tmp11);
4484#line 394
4485  __cil_tmp12 = (unsigned long )dcdc;
4486#line 394
4487  __cil_tmp13 = __cil_tmp12 + 56;
4488#line 394
4489  __cil_tmp14 = *((int *)__cil_tmp13);
4490#line 394
4491  __cil_tmp15 = (u16 )__cil_tmp14;
4492#line 394
4493  __cil_tmp16 = (unsigned int )__cil_tmp15;
4494#line 394
4495  __cil_tmp17 = __cil_tmp16 + 1U;
4496#line 394
4497  reg = (u16 )__cil_tmp17;
4498#line 397
4499  i = 0;
4500  }
4501#line 397
4502  goto ldv_24699;
4503  ldv_24698: ;
4504  {
4505#line 398
4506  __cil_tmp18 = i * 2UL;
4507#line 398
4508  __cil_tmp19 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp18;
4509#line 398
4510  __cil_tmp20 = *((u16 *)__cil_tmp19);
4511#line 398
4512  __cil_tmp21 = (int )__cil_tmp20;
4513#line 398
4514  if (__cil_tmp21 >= min_uA) {
4515    {
4516#line 398
4517    __cil_tmp22 = i * 2UL;
4518#line 398
4519    __cil_tmp23 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp22;
4520#line 398
4521    __cil_tmp24 = *((u16 *)__cil_tmp23);
4522#line 398
4523    __cil_tmp25 = (int )__cil_tmp24;
4524#line 398
4525    if (__cil_tmp25 <= max_uA) {
4526#line 400
4527      goto ldv_24697;
4528    } else {
4529
4530    }
4531    }
4532  } else {
4533
4534  }
4535  }
4536#line 397
4537  i = i + 1;
4538  ldv_24699: ;
4539  {
4540#line 397
4541  __cil_tmp26 = (unsigned int )i;
4542#line 397
4543  if (__cil_tmp26 <= 7U) {
4544#line 398
4545    goto ldv_24698;
4546  } else {
4547#line 400
4548    goto ldv_24697;
4549  }
4550  }
4551  ldv_24697: ;
4552#line 402
4553  if (i == 8) {
4554#line 403
4555    return (-22);
4556  } else {
4557
4558  }
4559  {
4560#line 405
4561  __cil_tmp27 = (int )reg;
4562#line 405
4563  __cil_tmp28 = (unsigned short )__cil_tmp27;
4564#line 405
4565  __cil_tmp29 = (unsigned short )i;
4566#line 405
4567  __cil_tmp30 = (int )__cil_tmp29;
4568#line 405
4569  __cil_tmp31 = __cil_tmp30 << 4U;
4570#line 405
4571  __cil_tmp32 = (unsigned short )__cil_tmp31;
4572#line 405
4573  tmp___0 = wm831x_set_bits(wm831x, __cil_tmp28, (unsigned short)112, __cil_tmp32);
4574  }
4575#line 405
4576  return (tmp___0);
4577}
4578}
4579#line 409 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4580static int wm831x_buckv_get_current_limit(struct regulator_dev *rdev ) 
4581{ struct wm831x_dcdc *dcdc ;
4582  void *tmp ;
4583  struct wm831x *wm831x ;
4584  u16 reg ;
4585  int val ;
4586  unsigned long __cil_tmp7 ;
4587  unsigned long __cil_tmp8 ;
4588  unsigned long __cil_tmp9 ;
4589  unsigned long __cil_tmp10 ;
4590  int __cil_tmp11 ;
4591  u16 __cil_tmp12 ;
4592  unsigned int __cil_tmp13 ;
4593  unsigned int __cil_tmp14 ;
4594  int __cil_tmp15 ;
4595  unsigned short __cil_tmp16 ;
4596  int __cil_tmp17 ;
4597  unsigned long __cil_tmp18 ;
4598  unsigned long __cil_tmp19 ;
4599  u16 __cil_tmp20 ;
4600
4601  {
4602  {
4603#line 411
4604  tmp = rdev_get_drvdata(rdev);
4605#line 411
4606  dcdc = (struct wm831x_dcdc *)tmp;
4607#line 412
4608  __cil_tmp7 = (unsigned long )dcdc;
4609#line 412
4610  __cil_tmp8 = __cil_tmp7 + 64;
4611#line 412
4612  wm831x = *((struct wm831x **)__cil_tmp8);
4613#line 413
4614  __cil_tmp9 = (unsigned long )dcdc;
4615#line 413
4616  __cil_tmp10 = __cil_tmp9 + 56;
4617#line 413
4618  __cil_tmp11 = *((int *)__cil_tmp10);
4619#line 413
4620  __cil_tmp12 = (u16 )__cil_tmp11;
4621#line 413
4622  __cil_tmp13 = (unsigned int )__cil_tmp12;
4623#line 413
4624  __cil_tmp14 = __cil_tmp13 + 1U;
4625#line 413
4626  reg = (u16 )__cil_tmp14;
4627#line 416
4628  __cil_tmp15 = (int )reg;
4629#line 416
4630  __cil_tmp16 = (unsigned short )__cil_tmp15;
4631#line 416
4632  val = wm831x_reg_read(wm831x, __cil_tmp16);
4633  }
4634#line 417
4635  if (val < 0) {
4636#line 418
4637    return (val);
4638  } else {
4639
4640  }
4641#line 420
4642  __cil_tmp17 = val & 112;
4643#line 420
4644  val = __cil_tmp17 >> 4;
4645  {
4646#line 421
4647  __cil_tmp18 = val * 2UL;
4648#line 421
4649  __cil_tmp19 = (unsigned long )(wm831x_dcdc_ilim) + __cil_tmp18;
4650#line 421
4651  __cil_tmp20 = *((u16 *)__cil_tmp19);
4652#line 421
4653  return ((int )__cil_tmp20);
4654  }
4655}
4656}
4657#line 424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4658static struct regulator_ops wm831x_buckv_ops  = 
4659#line 424
4660     {& wm831x_buckv_list_voltage, & wm831x_buckv_set_voltage, (int (*)(struct regulator_dev * ,
4661                                                                      unsigned int  ))0,
4662    (int (*)(struct regulator_dev * ))0, & wm831x_buckv_get_voltage_sel, & wm831x_buckv_set_current_limit,
4663    & wm831x_buckv_get_current_limit, & wm831x_dcdc_enable, & wm831x_dcdc_disable,
4664    & wm831x_dcdc_is_enabled, & wm831x_dcdc_set_mode, & wm831x_dcdc_get_mode, (int (*)(struct regulator_dev * ))0,
4665    (int (*)(struct regulator_dev * , unsigned int  , unsigned int  ))0, & wm831x_dcdc_get_status,
4666    (unsigned int (*)(struct regulator_dev * , int  , int  , int  ))0, & wm831x_buckv_set_suspend_voltage,
4667    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_set_suspend_mode};
4668#line 445 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
4669static void wm831x_buckv_dvs_init(struct wm831x_dcdc *dcdc , struct wm831x_buckv_pdata *pdata ) 
4670{ struct wm831x *wm831x ;
4671  int ret ;
4672  u16 ctrl ;
4673  unsigned long __cil_tmp6 ;
4674  unsigned long __cil_tmp7 ;
4675  struct wm831x_buckv_pdata *__cil_tmp8 ;
4676  unsigned long __cil_tmp9 ;
4677  unsigned long __cil_tmp10 ;
4678  int __cil_tmp11 ;
4679  int __cil_tmp12 ;
4680  unsigned int __cil_tmp13 ;
4681  unsigned long __cil_tmp14 ;
4682  unsigned long __cil_tmp15 ;
4683  struct device *__cil_tmp16 ;
4684  struct device  const  *__cil_tmp17 ;
4685  char (*__cil_tmp18)[6U] ;
4686  char *__cil_tmp19 ;
4687  unsigned long __cil_tmp20 ;
4688  unsigned long __cil_tmp21 ;
4689  unsigned long __cil_tmp22 ;
4690  unsigned long __cil_tmp23 ;
4691  int __cil_tmp24 ;
4692  unsigned int __cil_tmp25 ;
4693  unsigned long __cil_tmp26 ;
4694  unsigned long __cil_tmp27 ;
4695  int __cil_tmp28 ;
4696  unsigned long __cil_tmp29 ;
4697  unsigned long __cil_tmp30 ;
4698  struct device *__cil_tmp31 ;
4699  struct device  const  *__cil_tmp32 ;
4700  char (*__cil_tmp33)[6U] ;
4701  char *__cil_tmp34 ;
4702  int __cil_tmp35 ;
4703  unsigned int __cil_tmp36 ;
4704  unsigned long __cil_tmp37 ;
4705  unsigned long __cil_tmp38 ;
4706  unsigned long __cil_tmp39 ;
4707  unsigned long __cil_tmp40 ;
4708  unsigned long __cil_tmp41 ;
4709  unsigned long __cil_tmp42 ;
4710  struct device *__cil_tmp43 ;
4711  struct device  const  *__cil_tmp44 ;
4712  unsigned long __cil_tmp45 ;
4713  unsigned long __cil_tmp46 ;
4714  int __cil_tmp47 ;
4715  char (*__cil_tmp48)[6U] ;
4716  char *__cil_tmp49 ;
4717  unsigned long __cil_tmp50 ;
4718  unsigned long __cil_tmp51 ;
4719  int __cil_tmp52 ;
4720  unsigned long __cil_tmp53 ;
4721  unsigned long __cil_tmp54 ;
4722  int __cil_tmp55 ;
4723  unsigned short __cil_tmp56 ;
4724  unsigned int __cil_tmp57 ;
4725  unsigned int __cil_tmp58 ;
4726  int __cil_tmp59 ;
4727  unsigned short __cil_tmp60 ;
4728  unsigned long __cil_tmp61 ;
4729  unsigned long __cil_tmp62 ;
4730  int __cil_tmp63 ;
4731  unsigned short __cil_tmp64 ;
4732  int __cil_tmp65 ;
4733  unsigned short __cil_tmp66 ;
4734  unsigned long __cil_tmp67 ;
4735  unsigned long __cil_tmp68 ;
4736  unsigned long __cil_tmp69 ;
4737  unsigned long __cil_tmp70 ;
4738  unsigned long __cil_tmp71 ;
4739  unsigned long __cil_tmp72 ;
4740  struct device *__cil_tmp73 ;
4741  struct device  const  *__cil_tmp74 ;
4742  unsigned long __cil_tmp75 ;
4743  unsigned long __cil_tmp76 ;
4744  int __cil_tmp77 ;
4745  unsigned short __cil_tmp78 ;
4746  unsigned int __cil_tmp79 ;
4747  unsigned int __cil_tmp80 ;
4748  int __cil_tmp81 ;
4749  unsigned short __cil_tmp82 ;
4750  int __cil_tmp83 ;
4751  unsigned short __cil_tmp84 ;
4752  unsigned long __cil_tmp85 ;
4753  unsigned long __cil_tmp86 ;
4754  struct device *__cil_tmp87 ;
4755  struct device  const  *__cil_tmp88 ;
4756  char (*__cil_tmp89)[6U] ;
4757  char *__cil_tmp90 ;
4758
4759  {
4760#line 448
4761  __cil_tmp6 = (unsigned long )dcdc;
4762#line 448
4763  __cil_tmp7 = __cil_tmp6 + 64;
4764#line 448
4765  wm831x = *((struct wm831x **)__cil_tmp7);
4766  {
4767#line 452
4768  __cil_tmp8 = (struct wm831x_buckv_pdata *)0;
4769#line 452
4770  __cil_tmp9 = (unsigned long )__cil_tmp8;
4771#line 452
4772  __cil_tmp10 = (unsigned long )pdata;
4773#line 452
4774  if (__cil_tmp10 == __cil_tmp9) {
4775#line 453
4776    return;
4777  } else {
4778    {
4779#line 452
4780    __cil_tmp11 = *((int *)pdata);
4781#line 452
4782    if (__cil_tmp11 == 0) {
4783#line 453
4784      return;
4785    } else {
4786
4787    }
4788    }
4789  }
4790  }
4791  {
4792#line 455
4793  __cil_tmp12 = *((int *)pdata);
4794#line 455
4795  __cil_tmp13 = (unsigned int )__cil_tmp12;
4796#line 455
4797  ret = gpio_request(__cil_tmp13, "DCDC DVS");
4798  }
4799#line 456
4800  if (ret < 0) {
4801    {
4802#line 457
4803    __cil_tmp14 = (unsigned long )wm831x;
4804#line 457
4805    __cil_tmp15 = __cil_tmp14 + 168;
4806#line 457
4807    __cil_tmp16 = *((struct device **)__cil_tmp15);
4808#line 457
4809    __cil_tmp17 = (struct device  const  *)__cil_tmp16;
4810#line 457
4811    __cil_tmp18 = (char (*)[6U])dcdc;
4812#line 457
4813    __cil_tmp19 = (char *)__cil_tmp18;
4814#line 457
4815    dev_err(__cil_tmp17, "Failed to get %s DVS GPIO: %d\n", __cil_tmp19, ret);
4816    }
4817#line 459
4818    return;
4819  } else {
4820
4821  }
4822  {
4823#line 465
4824  __cil_tmp20 = (unsigned long )dcdc;
4825#line 465
4826  __cil_tmp21 = __cil_tmp20 + 84;
4827#line 465
4828  __cil_tmp22 = (unsigned long )pdata;
4829#line 465
4830  __cil_tmp23 = __cil_tmp22 + 8;
4831#line 465
4832  *((int *)__cil_tmp21) = *((int *)__cil_tmp23);
4833#line 467
4834  __cil_tmp24 = *((int *)pdata);
4835#line 467
4836  __cil_tmp25 = (unsigned int )__cil_tmp24;
4837#line 467
4838  __cil_tmp26 = (unsigned long )dcdc;
4839#line 467
4840  __cil_tmp27 = __cil_tmp26 + 84;
4841#line 467
4842  __cil_tmp28 = *((int *)__cil_tmp27);
4843#line 467
4844  ret = gpio_direction_output(__cil_tmp25, __cil_tmp28);
4845  }
4846#line 468
4847  if (ret < 0) {
4848    {
4849#line 469
4850    __cil_tmp29 = (unsigned long )wm831x;
4851#line 469
4852    __cil_tmp30 = __cil_tmp29 + 168;
4853#line 469
4854    __cil_tmp31 = *((struct device **)__cil_tmp30);
4855#line 469
4856    __cil_tmp32 = (struct device  const  *)__cil_tmp31;
4857#line 469
4858    __cil_tmp33 = (char (*)[6U])dcdc;
4859#line 469
4860    __cil_tmp34 = (char *)__cil_tmp33;
4861#line 469
4862    dev_err(__cil_tmp32, "Failed to enable %s DVS GPIO: %d\n", __cil_tmp34, ret);
4863#line 471
4864    __cil_tmp35 = *((int *)pdata);
4865#line 471
4866    __cil_tmp36 = (unsigned int )__cil_tmp35;
4867#line 471
4868    gpio_free(__cil_tmp36);
4869    }
4870#line 472
4871    return;
4872  } else {
4873
4874  }
4875#line 475
4876  __cil_tmp37 = (unsigned long )dcdc;
4877#line 475
4878  __cil_tmp38 = __cil_tmp37 + 80;
4879#line 475
4880  *((int *)__cil_tmp38) = *((int *)pdata);
4881  {
4882#line 477
4883  __cil_tmp39 = (unsigned long )pdata;
4884#line 477
4885  __cil_tmp40 = __cil_tmp39 + 4;
4886#line 478
4887  if (*((int *)__cil_tmp40) == 1) {
4888#line 478
4889    goto case_1;
4890  } else
4891#line 481
4892  if (*((int *)__cil_tmp40) == 2) {
4893#line 481
4894    goto case_2;
4895  } else {
4896    {
4897#line 484
4898    goto switch_default;
4899#line 477
4900    if (0) {
4901      case_1: /* CIL Label */ 
4902#line 479
4903      ctrl = (u16 )4096U;
4904#line 480
4905      goto ldv_24718;
4906      case_2: /* CIL Label */ 
4907#line 482
4908      ctrl = (u16 )6144U;
4909#line 483
4910      goto ldv_24718;
4911      switch_default: /* CIL Label */ 
4912      {
4913#line 485
4914      __cil_tmp41 = (unsigned long )wm831x;
4915#line 485
4916      __cil_tmp42 = __cil_tmp41 + 168;
4917#line 485
4918      __cil_tmp43 = *((struct device **)__cil_tmp42);
4919#line 485
4920      __cil_tmp44 = (struct device  const  *)__cil_tmp43;
4921#line 485
4922      __cil_tmp45 = (unsigned long )pdata;
4923#line 485
4924      __cil_tmp46 = __cil_tmp45 + 4;
4925#line 485
4926      __cil_tmp47 = *((int *)__cil_tmp46);
4927#line 485
4928      __cil_tmp48 = (char (*)[6U])dcdc;
4929#line 485
4930      __cil_tmp49 = (char *)__cil_tmp48;
4931#line 485
4932      dev_err(__cil_tmp44, "Invalid DVS control source %d for %s\n", __cil_tmp47,
4933              __cil_tmp49);
4934      }
4935#line 487
4936      return;
4937    } else {
4938      switch_break: /* CIL Label */ ;
4939    }
4940    }
4941  }
4942  }
4943  ldv_24718: ;
4944  {
4945#line 493
4946  __cil_tmp50 = (unsigned long )dcdc;
4947#line 493
4948  __cil_tmp51 = __cil_tmp50 + 92;
4949#line 493
4950  __cil_tmp52 = *((int *)__cil_tmp51);
4951#line 493
4952  if (__cil_tmp52 == 0) {
4953    {
4954#line 494
4955    __cil_tmp53 = (unsigned long )dcdc;
4956#line 494
4957    __cil_tmp54 = __cil_tmp53 + 56;
4958#line 494
4959    __cil_tmp55 = *((int *)__cil_tmp54);
4960#line 494
4961    __cil_tmp56 = (unsigned short )__cil_tmp55;
4962#line 494
4963    __cil_tmp57 = (unsigned int )__cil_tmp56;
4964#line 494
4965    __cil_tmp58 = __cil_tmp57 + 4U;
4966#line 494
4967    __cil_tmp59 = (int )__cil_tmp58;
4968#line 494
4969    __cil_tmp60 = (unsigned short )__cil_tmp59;
4970#line 494
4971    __cil_tmp61 = (unsigned long )dcdc;
4972#line 494
4973    __cil_tmp62 = __cil_tmp61 + 88;
4974#line 494
4975    __cil_tmp63 = *((int *)__cil_tmp62);
4976#line 494
4977    __cil_tmp64 = (unsigned short )__cil_tmp63;
4978#line 494
4979    __cil_tmp65 = (int )__cil_tmp64;
4980#line 494
4981    __cil_tmp66 = (unsigned short )__cil_tmp65;
4982#line 494
4983    ret = wm831x_set_bits(wm831x, __cil_tmp60, (unsigned short)127, __cil_tmp66);
4984    }
4985#line 497
4986    if (ret == 0) {
4987#line 498
4988      __cil_tmp67 = (unsigned long )dcdc;
4989#line 498
4990      __cil_tmp68 = __cil_tmp67 + 92;
4991#line 498
4992      __cil_tmp69 = (unsigned long )dcdc;
4993#line 498
4994      __cil_tmp70 = __cil_tmp69 + 88;
4995#line 498
4996      *((int *)__cil_tmp68) = *((int *)__cil_tmp70);
4997    } else {
4998      {
4999#line 500
5000      __cil_tmp71 = (unsigned long )wm831x;
5001#line 500
5002      __cil_tmp72 = __cil_tmp71 + 168;
5003#line 500
5004      __cil_tmp73 = *((struct device **)__cil_tmp72);
5005#line 500
5006      __cil_tmp74 = (struct device  const  *)__cil_tmp73;
5007#line 500
5008      dev_warn(__cil_tmp74, "Failed to set DVS_VSEL: %d\n", ret);
5009      }
5010    }
5011  } else {
5012
5013  }
5014  }
5015  {
5016#line 504
5017  __cil_tmp75 = (unsigned long )dcdc;
5018#line 504
5019  __cil_tmp76 = __cil_tmp75 + 56;
5020#line 504
5021  __cil_tmp77 = *((int *)__cil_tmp76);
5022#line 504
5023  __cil_tmp78 = (unsigned short )__cil_tmp77;
5024#line 504
5025  __cil_tmp79 = (unsigned int )__cil_tmp78;
5026#line 504
5027  __cil_tmp80 = __cil_tmp79 + 4U;
5028#line 504
5029  __cil_tmp81 = (int )__cil_tmp80;
5030#line 504
5031  __cil_tmp82 = (unsigned short )__cil_tmp81;
5032#line 504
5033  __cil_tmp83 = (int )ctrl;
5034#line 504
5035  __cil_tmp84 = (unsigned short )__cil_tmp83;
5036#line 504
5037  ret = wm831x_set_bits(wm831x, __cil_tmp82, (unsigned short)6144, __cil_tmp84);
5038  }
5039#line 506
5040  if (ret < 0) {
5041    {
5042#line 507
5043    __cil_tmp85 = (unsigned long )wm831x;
5044#line 507
5045    __cil_tmp86 = __cil_tmp85 + 168;
5046#line 507
5047    __cil_tmp87 = *((struct device **)__cil_tmp86);
5048#line 507
5049    __cil_tmp88 = (struct device  const  *)__cil_tmp87;
5050#line 507
5051    __cil_tmp89 = (char (*)[6U])dcdc;
5052#line 507
5053    __cil_tmp90 = (char *)__cil_tmp89;
5054#line 507
5055    dev_err(__cil_tmp88, "Failed to set %s DVS source: %d\n", __cil_tmp90, ret);
5056    }
5057  } else {
5058
5059  }
5060#line 509
5061  return;
5062}
5063}
5064#line 512 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
5065static int wm831x_buckv_probe(struct platform_device *pdev ) 
5066{ struct wm831x *wm831x ;
5067  void *tmp ;
5068  struct wm831x_pdata *pdata ;
5069  int id ;
5070  struct wm831x_dcdc *dcdc ;
5071  struct resource *res ;
5072  int ret ;
5073  int irq ;
5074  struct _ddebug descriptor ;
5075  long tmp___0 ;
5076  void *tmp___1 ;
5077  long tmp___2 ;
5078  long tmp___3 ;
5079  int tmp___4 ;
5080  unsigned long __cil_tmp16 ;
5081  unsigned long __cil_tmp17 ;
5082  struct device *__cil_tmp18 ;
5083  struct device  const  *__cil_tmp19 ;
5084  unsigned long __cil_tmp20 ;
5085  unsigned long __cil_tmp21 ;
5086  struct device *__cil_tmp22 ;
5087  unsigned long __cil_tmp23 ;
5088  unsigned long __cil_tmp24 ;
5089  void *__cil_tmp25 ;
5090  struct wm831x_pdata *__cil_tmp26 ;
5091  unsigned long __cil_tmp27 ;
5092  unsigned long __cil_tmp28 ;
5093  int __cil_tmp29 ;
5094  int __cil_tmp30 ;
5095  int __cil_tmp31 ;
5096  unsigned long __cil_tmp32 ;
5097  unsigned long __cil_tmp33 ;
5098  int __cil_tmp34 ;
5099  struct _ddebug *__cil_tmp35 ;
5100  unsigned long __cil_tmp36 ;
5101  unsigned long __cil_tmp37 ;
5102  unsigned long __cil_tmp38 ;
5103  unsigned long __cil_tmp39 ;
5104  unsigned long __cil_tmp40 ;
5105  unsigned long __cil_tmp41 ;
5106  unsigned char __cil_tmp42 ;
5107  long __cil_tmp43 ;
5108  long __cil_tmp44 ;
5109  unsigned long __cil_tmp45 ;
5110  unsigned long __cil_tmp46 ;
5111  struct device *__cil_tmp47 ;
5112  struct device  const  *__cil_tmp48 ;
5113  int __cil_tmp49 ;
5114  struct wm831x_pdata *__cil_tmp50 ;
5115  unsigned long __cil_tmp51 ;
5116  unsigned long __cil_tmp52 ;
5117  struct regulator_init_data *__cil_tmp53 ;
5118  unsigned long __cil_tmp54 ;
5119  unsigned long __cil_tmp55 ;
5120  unsigned long __cil_tmp56 ;
5121  unsigned long __cil_tmp57 ;
5122  unsigned long __cil_tmp58 ;
5123  struct regulator_init_data *__cil_tmp59 ;
5124  unsigned long __cil_tmp60 ;
5125  unsigned long __cil_tmp61 ;
5126  unsigned long __cil_tmp62 ;
5127  struct device *__cil_tmp63 ;
5128  struct wm831x_dcdc *__cil_tmp64 ;
5129  unsigned long __cil_tmp65 ;
5130  unsigned long __cil_tmp66 ;
5131  unsigned long __cil_tmp67 ;
5132  unsigned long __cil_tmp68 ;
5133  struct device *__cil_tmp69 ;
5134  struct device  const  *__cil_tmp70 ;
5135  unsigned long __cil_tmp71 ;
5136  unsigned long __cil_tmp72 ;
5137  struct resource *__cil_tmp73 ;
5138  unsigned long __cil_tmp74 ;
5139  unsigned long __cil_tmp75 ;
5140  unsigned long __cil_tmp76 ;
5141  unsigned long __cil_tmp77 ;
5142  struct device *__cil_tmp78 ;
5143  struct device  const  *__cil_tmp79 ;
5144  unsigned long __cil_tmp80 ;
5145  unsigned long __cil_tmp81 ;
5146  resource_size_t __cil_tmp82 ;
5147  char (*__cil_tmp83)[6U] ;
5148  char *__cil_tmp84 ;
5149  int __cil_tmp85 ;
5150  unsigned long __cil_tmp86 ;
5151  unsigned long __cil_tmp87 ;
5152  char (*__cil_tmp88)[6U] ;
5153  unsigned long __cil_tmp89 ;
5154  unsigned long __cil_tmp90 ;
5155  unsigned long __cil_tmp91 ;
5156  unsigned long __cil_tmp92 ;
5157  unsigned long __cil_tmp93 ;
5158  unsigned long __cil_tmp94 ;
5159  unsigned long __cil_tmp95 ;
5160  unsigned long __cil_tmp96 ;
5161  unsigned long __cil_tmp97 ;
5162  unsigned long __cil_tmp98 ;
5163  unsigned long __cil_tmp99 ;
5164  unsigned long __cil_tmp100 ;
5165  unsigned long __cil_tmp101 ;
5166  unsigned long __cil_tmp102 ;
5167  unsigned long __cil_tmp103 ;
5168  unsigned long __cil_tmp104 ;
5169  unsigned long __cil_tmp105 ;
5170  int __cil_tmp106 ;
5171  unsigned short __cil_tmp107 ;
5172  unsigned int __cil_tmp108 ;
5173  unsigned int __cil_tmp109 ;
5174  int __cil_tmp110 ;
5175  unsigned short __cil_tmp111 ;
5176  unsigned long __cil_tmp112 ;
5177  unsigned long __cil_tmp113 ;
5178  struct device *__cil_tmp114 ;
5179  struct device  const  *__cil_tmp115 ;
5180  unsigned long __cil_tmp116 ;
5181  unsigned long __cil_tmp117 ;
5182  unsigned long __cil_tmp118 ;
5183  unsigned long __cil_tmp119 ;
5184  int __cil_tmp120 ;
5185  unsigned short __cil_tmp121 ;
5186  unsigned int __cil_tmp122 ;
5187  unsigned int __cil_tmp123 ;
5188  int __cil_tmp124 ;
5189  unsigned short __cil_tmp125 ;
5190  unsigned long __cil_tmp126 ;
5191  unsigned long __cil_tmp127 ;
5192  struct device *__cil_tmp128 ;
5193  struct device  const  *__cil_tmp129 ;
5194  unsigned long __cil_tmp130 ;
5195  unsigned long __cil_tmp131 ;
5196  struct regulator_init_data *__cil_tmp132 ;
5197  unsigned long __cil_tmp133 ;
5198  unsigned long __cil_tmp134 ;
5199  unsigned long __cil_tmp135 ;
5200  unsigned long __cil_tmp136 ;
5201  unsigned long __cil_tmp137 ;
5202  struct regulator_init_data *__cil_tmp138 ;
5203  unsigned long __cil_tmp139 ;
5204  unsigned long __cil_tmp140 ;
5205  unsigned long __cil_tmp141 ;
5206  unsigned long __cil_tmp142 ;
5207  unsigned long __cil_tmp143 ;
5208  struct regulator_init_data *__cil_tmp144 ;
5209  unsigned long __cil_tmp145 ;
5210  unsigned long __cil_tmp146 ;
5211  void *__cil_tmp147 ;
5212  struct wm831x_buckv_pdata *__cil_tmp148 ;
5213  unsigned long __cil_tmp149 ;
5214  unsigned long __cil_tmp150 ;
5215  unsigned long __cil_tmp151 ;
5216  unsigned long __cil_tmp152 ;
5217  struct regulator_desc *__cil_tmp153 ;
5218  unsigned long __cil_tmp154 ;
5219  unsigned long __cil_tmp155 ;
5220  struct device *__cil_tmp156 ;
5221  unsigned long __cil_tmp157 ;
5222  unsigned long __cil_tmp158 ;
5223  unsigned long __cil_tmp159 ;
5224  unsigned long __cil_tmp160 ;
5225  struct regulator_init_data *__cil_tmp161 ;
5226  struct regulator_init_data  const  *__cil_tmp162 ;
5227  void *__cil_tmp163 ;
5228  struct device_node *__cil_tmp164 ;
5229  unsigned long __cil_tmp165 ;
5230  unsigned long __cil_tmp166 ;
5231  struct regulator_dev *__cil_tmp167 ;
5232  void const   *__cil_tmp168 ;
5233  unsigned long __cil_tmp169 ;
5234  unsigned long __cil_tmp170 ;
5235  struct regulator_dev *__cil_tmp171 ;
5236  void const   *__cil_tmp172 ;
5237  unsigned long __cil_tmp173 ;
5238  unsigned long __cil_tmp174 ;
5239  struct device *__cil_tmp175 ;
5240  struct device  const  *__cil_tmp176 ;
5241  int __cil_tmp177 ;
5242  unsigned int __cil_tmp178 ;
5243  irqreturn_t (*__cil_tmp179)(int  , void * ) ;
5244  char (*__cil_tmp180)[6U] ;
5245  char const   *__cil_tmp181 ;
5246  void *__cil_tmp182 ;
5247  unsigned long __cil_tmp183 ;
5248  unsigned long __cil_tmp184 ;
5249  struct device *__cil_tmp185 ;
5250  struct device  const  *__cil_tmp186 ;
5251  unsigned int __cil_tmp187 ;
5252  irqreturn_t (*__cil_tmp188)(int  , void * ) ;
5253  char (*__cil_tmp189)[6U] ;
5254  char const   *__cil_tmp190 ;
5255  void *__cil_tmp191 ;
5256  unsigned long __cil_tmp192 ;
5257  unsigned long __cil_tmp193 ;
5258  struct device *__cil_tmp194 ;
5259  struct device  const  *__cil_tmp195 ;
5260  void *__cil_tmp196 ;
5261  unsigned int __cil_tmp197 ;
5262  void *__cil_tmp198 ;
5263  unsigned long __cil_tmp199 ;
5264  unsigned long __cil_tmp200 ;
5265  struct regulator_dev *__cil_tmp201 ;
5266  unsigned long __cil_tmp202 ;
5267  unsigned long __cil_tmp203 ;
5268  int __cil_tmp204 ;
5269  unsigned long __cil_tmp205 ;
5270  unsigned long __cil_tmp206 ;
5271  int __cil_tmp207 ;
5272  unsigned int __cil_tmp208 ;
5273
5274  {
5275  {
5276#line 514
5277  __cil_tmp16 = (unsigned long )pdev;
5278#line 514
5279  __cil_tmp17 = __cil_tmp16 + 16;
5280#line 514
5281  __cil_tmp18 = *((struct device **)__cil_tmp17);
5282#line 514
5283  __cil_tmp19 = (struct device  const  *)__cil_tmp18;
5284#line 514
5285  tmp = dev_get_drvdata(__cil_tmp19);
5286#line 514
5287  wm831x = (struct wm831x *)tmp;
5288#line 515
5289  __cil_tmp20 = (unsigned long )wm831x;
5290#line 515
5291  __cil_tmp21 = __cil_tmp20 + 168;
5292#line 515
5293  __cil_tmp22 = *((struct device **)__cil_tmp21);
5294#line 515
5295  __cil_tmp23 = (unsigned long )__cil_tmp22;
5296#line 515
5297  __cil_tmp24 = __cil_tmp23 + 280;
5298#line 515
5299  __cil_tmp25 = *((void **)__cil_tmp24);
5300#line 515
5301  pdata = (struct wm831x_pdata *)__cil_tmp25;
5302  }
5303  {
5304#line 521
5305  __cil_tmp26 = (struct wm831x_pdata *)0;
5306#line 521
5307  __cil_tmp27 = (unsigned long )__cil_tmp26;
5308#line 521
5309  __cil_tmp28 = (unsigned long )pdata;
5310#line 521
5311  if (__cil_tmp28 != __cil_tmp27) {
5312    {
5313#line 521
5314    __cil_tmp29 = *((int *)pdata);
5315#line 521
5316    if (__cil_tmp29 != 0) {
5317#line 522
5318      __cil_tmp30 = *((int *)pdata);
5319#line 522
5320      __cil_tmp31 = __cil_tmp30 * 10;
5321#line 522
5322      id = __cil_tmp31 + 1;
5323    } else {
5324#line 524
5325      id = 0;
5326    }
5327    }
5328  } else {
5329#line 524
5330    id = 0;
5331  }
5332  }
5333  {
5334#line 525
5335  __cil_tmp32 = (unsigned long )pdev;
5336#line 525
5337  __cil_tmp33 = __cil_tmp32 + 8;
5338#line 525
5339  __cil_tmp34 = *((int *)__cil_tmp33);
5340#line 525
5341  id = __cil_tmp34 - id;
5342#line 527
5343  __cil_tmp35 = & descriptor;
5344#line 527
5345  *((char const   **)__cil_tmp35) = "wm831x_dcdc";
5346#line 527
5347  __cil_tmp36 = (unsigned long )(& descriptor) + 8;
5348#line 527
5349  *((char const   **)__cil_tmp36) = "wm831x_buckv_probe";
5350#line 527
5351  __cil_tmp37 = (unsigned long )(& descriptor) + 16;
5352#line 527
5353  *((char const   **)__cil_tmp37) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
5354#line 527
5355  __cil_tmp38 = (unsigned long )(& descriptor) + 24;
5356#line 527
5357  *((char const   **)__cil_tmp38) = "Probing DCDC%d\n";
5358#line 527
5359  __cil_tmp39 = (unsigned long )(& descriptor) + 32;
5360#line 527
5361  *((unsigned int *)__cil_tmp39) = 527U;
5362#line 527
5363  __cil_tmp40 = (unsigned long )(& descriptor) + 35;
5364#line 527
5365  *((unsigned char *)__cil_tmp40) = (unsigned char)1;
5366#line 527
5367  __cil_tmp41 = (unsigned long )(& descriptor) + 35;
5368#line 527
5369  __cil_tmp42 = *((unsigned char *)__cil_tmp41);
5370#line 527
5371  __cil_tmp43 = (long )__cil_tmp42;
5372#line 527
5373  __cil_tmp44 = __cil_tmp43 & 1L;
5374#line 527
5375  tmp___0 = __builtin_expect(__cil_tmp44, 0L);
5376  }
5377#line 527
5378  if (tmp___0 != 0L) {
5379    {
5380#line 527
5381    __cil_tmp45 = (unsigned long )pdev;
5382#line 527
5383    __cil_tmp46 = __cil_tmp45 + 16;
5384#line 527
5385    __cil_tmp47 = (struct device *)__cil_tmp46;
5386#line 527
5387    __cil_tmp48 = (struct device  const  *)__cil_tmp47;
5388#line 527
5389    __cil_tmp49 = id + 1;
5390#line 527
5391    __dynamic_dev_dbg(& descriptor, __cil_tmp48, "Probing DCDC%d\n", __cil_tmp49);
5392    }
5393  } else {
5394
5395  }
5396  {
5397#line 529
5398  __cil_tmp50 = (struct wm831x_pdata *)0;
5399#line 529
5400  __cil_tmp51 = (unsigned long )__cil_tmp50;
5401#line 529
5402  __cil_tmp52 = (unsigned long )pdata;
5403#line 529
5404  if (__cil_tmp52 == __cil_tmp51) {
5405#line 530
5406    return (-19);
5407  } else {
5408    {
5409#line 529
5410    __cil_tmp53 = (struct regulator_init_data *)0;
5411#line 529
5412    __cil_tmp54 = (unsigned long )__cil_tmp53;
5413#line 529
5414    __cil_tmp55 = id * 8UL;
5415#line 529
5416    __cil_tmp56 = 160 + __cil_tmp55;
5417#line 529
5418    __cil_tmp57 = (unsigned long )pdata;
5419#line 529
5420    __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
5421#line 529
5422    __cil_tmp59 = *((struct regulator_init_data **)__cil_tmp58);
5423#line 529
5424    __cil_tmp60 = (unsigned long )__cil_tmp59;
5425#line 529
5426    if (__cil_tmp60 == __cil_tmp54) {
5427#line 530
5428      return (-19);
5429    } else {
5430
5431    }
5432    }
5433  }
5434  }
5435  {
5436#line 532
5437  __cil_tmp61 = (unsigned long )pdev;
5438#line 532
5439  __cil_tmp62 = __cil_tmp61 + 16;
5440#line 532
5441  __cil_tmp63 = (struct device *)__cil_tmp62;
5442#line 532
5443  tmp___1 = devm_kzalloc(__cil_tmp63, 96UL, 208U);
5444#line 532
5445  dcdc = (struct wm831x_dcdc *)tmp___1;
5446  }
5447  {
5448#line 534
5449  __cil_tmp64 = (struct wm831x_dcdc *)0;
5450#line 534
5451  __cil_tmp65 = (unsigned long )__cil_tmp64;
5452#line 534
5453  __cil_tmp66 = (unsigned long )dcdc;
5454#line 534
5455  if (__cil_tmp66 == __cil_tmp65) {
5456    {
5457#line 535
5458    __cil_tmp67 = (unsigned long )pdev;
5459#line 535
5460    __cil_tmp68 = __cil_tmp67 + 16;
5461#line 535
5462    __cil_tmp69 = (struct device *)__cil_tmp68;
5463#line 535
5464    __cil_tmp70 = (struct device  const  *)__cil_tmp69;
5465#line 535
5466    dev_err(__cil_tmp70, "Unable to allocate private data\n");
5467    }
5468#line 536
5469    return (-12);
5470  } else {
5471
5472  }
5473  }
5474  {
5475#line 539
5476  __cil_tmp71 = (unsigned long )dcdc;
5477#line 539
5478  __cil_tmp72 = __cil_tmp71 + 64;
5479#line 539
5480  *((struct wm831x **)__cil_tmp72) = wm831x;
5481#line 541
5482  res = platform_get_resource(pdev, 256U, 0U);
5483  }
5484  {
5485#line 542
5486  __cil_tmp73 = (struct resource *)0;
5487#line 542
5488  __cil_tmp74 = (unsigned long )__cil_tmp73;
5489#line 542
5490  __cil_tmp75 = (unsigned long )res;
5491#line 542
5492  if (__cil_tmp75 == __cil_tmp74) {
5493    {
5494#line 543
5495    __cil_tmp76 = (unsigned long )pdev;
5496#line 543
5497    __cil_tmp77 = __cil_tmp76 + 16;
5498#line 543
5499    __cil_tmp78 = (struct device *)__cil_tmp77;
5500#line 543
5501    __cil_tmp79 = (struct device  const  *)__cil_tmp78;
5502#line 543
5503    dev_err(__cil_tmp79, "No I/O resource\n");
5504#line 544
5505    ret = -22;
5506    }
5507#line 545
5508    goto err;
5509  } else {
5510
5511  }
5512  }
5513  {
5514#line 547
5515  __cil_tmp80 = (unsigned long )dcdc;
5516#line 547
5517  __cil_tmp81 = __cil_tmp80 + 56;
5518#line 547
5519  __cil_tmp82 = *((resource_size_t *)res);
5520#line 547
5521  *((int *)__cil_tmp81) = (int )__cil_tmp82;
5522#line 549
5523  __cil_tmp83 = (char (*)[6U])dcdc;
5524#line 549
5525  __cil_tmp84 = (char *)__cil_tmp83;
5526#line 549
5527  __cil_tmp85 = id + 1;
5528#line 549
5529  snprintf(__cil_tmp84, 6UL, "DCDC%d", __cil_tmp85);
5530#line 550
5531  __cil_tmp86 = (unsigned long )dcdc;
5532#line 550
5533  __cil_tmp87 = __cil_tmp86 + 8;
5534#line 550
5535  __cil_tmp88 = (char (*)[6U])dcdc;
5536#line 550
5537  *((char const   **)__cil_tmp87) = (char const   *)__cil_tmp88;
5538#line 551
5539  __cil_tmp89 = 8 + 16;
5540#line 551
5541  __cil_tmp90 = (unsigned long )dcdc;
5542#line 551
5543  __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
5544#line 551
5545  *((int *)__cil_tmp91) = id;
5546#line 552
5547  __cil_tmp92 = 8 + 36;
5548#line 552
5549  __cil_tmp93 = (unsigned long )dcdc;
5550#line 552
5551  __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
5552#line 552
5553  *((enum regulator_type *)__cil_tmp94) = (enum regulator_type )0;
5554#line 553
5555  __cil_tmp95 = 8 + 20;
5556#line 553
5557  __cil_tmp96 = (unsigned long )dcdc;
5558#line 553
5559  __cil_tmp97 = __cil_tmp96 + __cil_tmp95;
5560#line 553
5561  *((unsigned int *)__cil_tmp97) = 105U;
5562#line 554
5563  __cil_tmp98 = 8 + 24;
5564#line 554
5565  __cil_tmp99 = (unsigned long )dcdc;
5566#line 554
5567  __cil_tmp100 = __cil_tmp99 + __cil_tmp98;
5568#line 554
5569  *((struct regulator_ops **)__cil_tmp100) = & wm831x_buckv_ops;
5570#line 555
5571  __cil_tmp101 = 8 + 40;
5572#line 555
5573  __cil_tmp102 = (unsigned long )dcdc;
5574#line 555
5575  __cil_tmp103 = __cil_tmp102 + __cil_tmp101;
5576#line 555
5577  *((struct module **)__cil_tmp103) = & __this_module;
5578#line 557
5579  __cil_tmp104 = (unsigned long )dcdc;
5580#line 557
5581  __cil_tmp105 = __cil_tmp104 + 56;
5582#line 557
5583  __cil_tmp106 = *((int *)__cil_tmp105);
5584#line 557
5585  __cil_tmp107 = (unsigned short )__cil_tmp106;
5586#line 557
5587  __cil_tmp108 = (unsigned int )__cil_tmp107;
5588#line 557
5589  __cil_tmp109 = __cil_tmp108 + 2U;
5590#line 557
5591  __cil_tmp110 = (int )__cil_tmp109;
5592#line 557
5593  __cil_tmp111 = (unsigned short )__cil_tmp110;
5594#line 557
5595  ret = wm831x_reg_read(wm831x, __cil_tmp111);
5596  }
5597#line 558
5598  if (ret < 0) {
5599    {
5600#line 559
5601    __cil_tmp112 = (unsigned long )wm831x;
5602#line 559
5603    __cil_tmp113 = __cil_tmp112 + 168;
5604#line 559
5605    __cil_tmp114 = *((struct device **)__cil_tmp113);
5606#line 559
5607    __cil_tmp115 = (struct device  const  *)__cil_tmp114;
5608#line 559
5609    dev_err(__cil_tmp115, "Failed to read ON VSEL: %d\n", ret);
5610    }
5611#line 560
5612    goto err;
5613  } else {
5614
5615  }
5616  {
5617#line 562
5618  __cil_tmp116 = (unsigned long )dcdc;
5619#line 562
5620  __cil_tmp117 = __cil_tmp116 + 88;
5621#line 562
5622  *((int *)__cil_tmp117) = ret & 127;
5623#line 564
5624  __cil_tmp118 = (unsigned long )dcdc;
5625#line 564
5626  __cil_tmp119 = __cil_tmp118 + 56;
5627#line 564
5628  __cil_tmp120 = *((int *)__cil_tmp119);
5629#line 564
5630  __cil_tmp121 = (unsigned short )__cil_tmp120;
5631#line 564
5632  __cil_tmp122 = (unsigned int )__cil_tmp121;
5633#line 564
5634  __cil_tmp123 = __cil_tmp122 + 4U;
5635#line 564
5636  __cil_tmp124 = (int )__cil_tmp123;
5637#line 564
5638  __cil_tmp125 = (unsigned short )__cil_tmp124;
5639#line 564
5640  ret = wm831x_reg_read(wm831x, __cil_tmp125);
5641  }
5642#line 565
5643  if (ret < 0) {
5644    {
5645#line 566
5646    __cil_tmp126 = (unsigned long )wm831x;
5647#line 566
5648    __cil_tmp127 = __cil_tmp126 + 168;
5649#line 566
5650    __cil_tmp128 = *((struct device **)__cil_tmp127);
5651#line 566
5652    __cil_tmp129 = (struct device  const  *)__cil_tmp128;
5653#line 566
5654    dev_err(__cil_tmp129, "Failed to read DVS VSEL: %d\n", ret);
5655    }
5656#line 567
5657    goto err;
5658  } else {
5659
5660  }
5661#line 569
5662  __cil_tmp130 = (unsigned long )dcdc;
5663#line 569
5664  __cil_tmp131 = __cil_tmp130 + 92;
5665#line 569
5666  *((int *)__cil_tmp131) = ret & 127;
5667  {
5668#line 571
5669  __cil_tmp132 = (struct regulator_init_data *)0;
5670#line 571
5671  __cil_tmp133 = (unsigned long )__cil_tmp132;
5672#line 571
5673  __cil_tmp134 = id * 8UL;
5674#line 571
5675  __cil_tmp135 = 160 + __cil_tmp134;
5676#line 571
5677  __cil_tmp136 = (unsigned long )pdata;
5678#line 571
5679  __cil_tmp137 = __cil_tmp136 + __cil_tmp135;
5680#line 571
5681  __cil_tmp138 = *((struct regulator_init_data **)__cil_tmp137);
5682#line 571
5683  __cil_tmp139 = (unsigned long )__cil_tmp138;
5684#line 571
5685  if (__cil_tmp139 != __cil_tmp133) {
5686    {
5687#line 572
5688    __cil_tmp140 = id * 8UL;
5689#line 572
5690    __cil_tmp141 = 160 + __cil_tmp140;
5691#line 572
5692    __cil_tmp142 = (unsigned long )pdata;
5693#line 572
5694    __cil_tmp143 = __cil_tmp142 + __cil_tmp141;
5695#line 572
5696    __cil_tmp144 = *((struct regulator_init_data **)__cil_tmp143);
5697#line 572
5698    __cil_tmp145 = (unsigned long )__cil_tmp144;
5699#line 572
5700    __cil_tmp146 = __cil_tmp145 + 136;
5701#line 572
5702    __cil_tmp147 = *((void **)__cil_tmp146);
5703#line 572
5704    __cil_tmp148 = (struct wm831x_buckv_pdata *)__cil_tmp147;
5705#line 572
5706    wm831x_buckv_dvs_init(dcdc, __cil_tmp148);
5707    }
5708  } else {
5709
5710  }
5711  }
5712  {
5713#line 574
5714  __cil_tmp149 = (unsigned long )dcdc;
5715#line 574
5716  __cil_tmp150 = __cil_tmp149 + 72;
5717#line 574
5718  __cil_tmp151 = (unsigned long )dcdc;
5719#line 574
5720  __cil_tmp152 = __cil_tmp151 + 8;
5721#line 574
5722  __cil_tmp153 = (struct regulator_desc *)__cil_tmp152;
5723#line 574
5724  __cil_tmp154 = (unsigned long )pdev;
5725#line 574
5726  __cil_tmp155 = __cil_tmp154 + 16;
5727#line 574
5728  __cil_tmp156 = (struct device *)__cil_tmp155;
5729#line 574
5730  __cil_tmp157 = id * 8UL;
5731#line 574
5732  __cil_tmp158 = 160 + __cil_tmp157;
5733#line 574
5734  __cil_tmp159 = (unsigned long )pdata;
5735#line 574
5736  __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
5737#line 574
5738  __cil_tmp161 = *((struct regulator_init_data **)__cil_tmp160);
5739#line 574
5740  __cil_tmp162 = (struct regulator_init_data  const  *)__cil_tmp161;
5741#line 574
5742  __cil_tmp163 = (void *)dcdc;
5743#line 574
5744  __cil_tmp164 = (struct device_node *)0;
5745#line 574
5746  *((struct regulator_dev **)__cil_tmp150) = regulator_register(__cil_tmp153, __cil_tmp156,
5747                                                                __cil_tmp162, __cil_tmp163,
5748                                                                __cil_tmp164);
5749#line 576
5750  __cil_tmp165 = (unsigned long )dcdc;
5751#line 576
5752  __cil_tmp166 = __cil_tmp165 + 72;
5753#line 576
5754  __cil_tmp167 = *((struct regulator_dev **)__cil_tmp166);
5755#line 576
5756  __cil_tmp168 = (void const   *)__cil_tmp167;
5757#line 576
5758  tmp___3 = IS_ERR(__cil_tmp168);
5759  }
5760#line 576
5761  if (tmp___3 != 0L) {
5762    {
5763#line 577
5764    __cil_tmp169 = (unsigned long )dcdc;
5765#line 577
5766    __cil_tmp170 = __cil_tmp169 + 72;
5767#line 577
5768    __cil_tmp171 = *((struct regulator_dev **)__cil_tmp170);
5769#line 577
5770    __cil_tmp172 = (void const   *)__cil_tmp171;
5771#line 577
5772    tmp___2 = PTR_ERR(__cil_tmp172);
5773#line 577
5774    ret = (int )tmp___2;
5775#line 578
5776    __cil_tmp173 = (unsigned long )wm831x;
5777#line 578
5778    __cil_tmp174 = __cil_tmp173 + 168;
5779#line 578
5780    __cil_tmp175 = *((struct device **)__cil_tmp174);
5781#line 578
5782    __cil_tmp176 = (struct device  const  *)__cil_tmp175;
5783#line 578
5784    __cil_tmp177 = id + 1;
5785#line 578
5786    dev_err(__cil_tmp176, "Failed to register DCDC%d: %d\n", __cil_tmp177, ret);
5787    }
5788#line 580
5789    goto err;
5790  } else {
5791
5792  }
5793  {
5794#line 583
5795  irq = platform_get_irq_byname(pdev, "UV");
5796#line 584
5797  __cil_tmp178 = (unsigned int )irq;
5798#line 584
5799  __cil_tmp179 = (irqreturn_t (*)(int  , void * ))0;
5800#line 584
5801  __cil_tmp180 = (char (*)[6U])dcdc;
5802#line 584
5803  __cil_tmp181 = (char const   *)__cil_tmp180;
5804#line 584
5805  __cil_tmp182 = (void *)dcdc;
5806#line 584
5807  ret = request_threaded_irq(__cil_tmp178, __cil_tmp179, & wm831x_dcdc_uv_irq, 1UL,
5808                             __cil_tmp181, __cil_tmp182);
5809  }
5810#line 586
5811  if (ret != 0) {
5812    {
5813#line 587
5814    __cil_tmp183 = (unsigned long )pdev;
5815#line 587
5816    __cil_tmp184 = __cil_tmp183 + 16;
5817#line 587
5818    __cil_tmp185 = (struct device *)__cil_tmp184;
5819#line 587
5820    __cil_tmp186 = (struct device  const  *)__cil_tmp185;
5821#line 587
5822    dev_err(__cil_tmp186, "Failed to request UV IRQ %d: %d\n", irq, ret);
5823    }
5824#line 589
5825    goto err_regulator;
5826  } else {
5827
5828  }
5829  {
5830#line 592
5831  irq = platform_get_irq_byname(pdev, "HC");
5832#line 593
5833  __cil_tmp187 = (unsigned int )irq;
5834#line 593
5835  __cil_tmp188 = (irqreturn_t (*)(int  , void * ))0;
5836#line 593
5837  __cil_tmp189 = (char (*)[6U])dcdc;
5838#line 593
5839  __cil_tmp190 = (char const   *)__cil_tmp189;
5840#line 593
5841  __cil_tmp191 = (void *)dcdc;
5842#line 593
5843  ret = request_threaded_irq(__cil_tmp187, __cil_tmp188, & wm831x_dcdc_oc_irq, 1UL,
5844                             __cil_tmp190, __cil_tmp191);
5845  }
5846#line 595
5847  if (ret != 0) {
5848    {
5849#line 596
5850    __cil_tmp192 = (unsigned long )pdev;
5851#line 596
5852    __cil_tmp193 = __cil_tmp192 + 16;
5853#line 596
5854    __cil_tmp194 = (struct device *)__cil_tmp193;
5855#line 596
5856    __cil_tmp195 = (struct device  const  *)__cil_tmp194;
5857#line 596
5858    dev_err(__cil_tmp195, "Failed to request HC IRQ %d: %d\n", irq, ret);
5859    }
5860#line 598
5861    goto err_uv;
5862  } else {
5863
5864  }
5865  {
5866#line 601
5867  __cil_tmp196 = (void *)dcdc;
5868#line 601
5869  platform_set_drvdata(pdev, __cil_tmp196);
5870  }
5871#line 603
5872  return (0);
5873  err_uv: 
5874  {
5875#line 606
5876  tmp___4 = platform_get_irq_byname(pdev, "UV");
5877#line 606
5878  __cil_tmp197 = (unsigned int )tmp___4;
5879#line 606
5880  __cil_tmp198 = (void *)dcdc;
5881#line 606
5882  free_irq(__cil_tmp197, __cil_tmp198);
5883  }
5884  err_regulator: 
5885  {
5886#line 608
5887  __cil_tmp199 = (unsigned long )dcdc;
5888#line 608
5889  __cil_tmp200 = __cil_tmp199 + 72;
5890#line 608
5891  __cil_tmp201 = *((struct regulator_dev **)__cil_tmp200);
5892#line 608
5893  regulator_unregister(__cil_tmp201);
5894  }
5895  err: ;
5896  {
5897#line 610
5898  __cil_tmp202 = (unsigned long )dcdc;
5899#line 610
5900  __cil_tmp203 = __cil_tmp202 + 80;
5901#line 610
5902  __cil_tmp204 = *((int *)__cil_tmp203);
5903#line 610
5904  if (__cil_tmp204 != 0) {
5905    {
5906#line 611
5907    __cil_tmp205 = (unsigned long )dcdc;
5908#line 611
5909    __cil_tmp206 = __cil_tmp205 + 80;
5910#line 611
5911    __cil_tmp207 = *((int *)__cil_tmp206);
5912#line 611
5913    __cil_tmp208 = (unsigned int )__cil_tmp207;
5914#line 611
5915    gpio_free(__cil_tmp208);
5916    }
5917  } else {
5918
5919  }
5920  }
5921#line 612
5922  return (ret);
5923}
5924}
5925#line 615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
5926static int wm831x_buckv_remove(struct platform_device *pdev ) 
5927{ struct wm831x_dcdc *dcdc ;
5928  void *tmp ;
5929  int tmp___0 ;
5930  int tmp___1 ;
5931  struct platform_device  const  *__cil_tmp6 ;
5932  void *__cil_tmp7 ;
5933  unsigned int __cil_tmp8 ;
5934  void *__cil_tmp9 ;
5935  unsigned int __cil_tmp10 ;
5936  void *__cil_tmp11 ;
5937  unsigned long __cil_tmp12 ;
5938  unsigned long __cil_tmp13 ;
5939  struct regulator_dev *__cil_tmp14 ;
5940  unsigned long __cil_tmp15 ;
5941  unsigned long __cil_tmp16 ;
5942  int __cil_tmp17 ;
5943  unsigned long __cil_tmp18 ;
5944  unsigned long __cil_tmp19 ;
5945  int __cil_tmp20 ;
5946  unsigned int __cil_tmp21 ;
5947
5948  {
5949  {
5950#line 617
5951  __cil_tmp6 = (struct platform_device  const  *)pdev;
5952#line 617
5953  tmp = platform_get_drvdata(__cil_tmp6);
5954#line 617
5955  dcdc = (struct wm831x_dcdc *)tmp;
5956#line 619
5957  __cil_tmp7 = (void *)0;
5958#line 619
5959  platform_set_drvdata(pdev, __cil_tmp7);
5960#line 621
5961  tmp___0 = platform_get_irq_byname(pdev, "HC");
5962#line 621
5963  __cil_tmp8 = (unsigned int )tmp___0;
5964#line 621
5965  __cil_tmp9 = (void *)dcdc;
5966#line 621
5967  free_irq(__cil_tmp8, __cil_tmp9);
5968#line 622
5969  tmp___1 = platform_get_irq_byname(pdev, "UV");
5970#line 622
5971  __cil_tmp10 = (unsigned int )tmp___1;
5972#line 622
5973  __cil_tmp11 = (void *)dcdc;
5974#line 622
5975  free_irq(__cil_tmp10, __cil_tmp11);
5976#line 623
5977  __cil_tmp12 = (unsigned long )dcdc;
5978#line 623
5979  __cil_tmp13 = __cil_tmp12 + 72;
5980#line 623
5981  __cil_tmp14 = *((struct regulator_dev **)__cil_tmp13);
5982#line 623
5983  regulator_unregister(__cil_tmp14);
5984  }
5985  {
5986#line 624
5987  __cil_tmp15 = (unsigned long )dcdc;
5988#line 624
5989  __cil_tmp16 = __cil_tmp15 + 80;
5990#line 624
5991  __cil_tmp17 = *((int *)__cil_tmp16);
5992#line 624
5993  if (__cil_tmp17 != 0) {
5994    {
5995#line 625
5996    __cil_tmp18 = (unsigned long )dcdc;
5997#line 625
5998    __cil_tmp19 = __cil_tmp18 + 80;
5999#line 625
6000    __cil_tmp20 = *((int *)__cil_tmp19);
6001#line 625
6002    __cil_tmp21 = (unsigned int )__cil_tmp20;
6003#line 625
6004    gpio_free(__cil_tmp21);
6005    }
6006  } else {
6007
6008  }
6009  }
6010#line 627
6011  return (0);
6012}
6013}
6014#line 630 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6015static struct platform_driver wm831x_buckv_driver  =    {& wm831x_buckv_probe, & wm831x_buckv_remove, (void (*)(struct platform_device * ))0,
6016    (int (*)(struct platform_device * , pm_message_t  ))0, (int (*)(struct platform_device * ))0,
6017    {"wm831x-buckv", (struct bus_type *)0, & __this_module, (char const   *)0, (_Bool)0,
6018     (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
6019     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
6020     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
6021     (struct driver_private *)0}, (struct platform_device_id  const  *)0};
6022#line 643 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6023static int wm831x_buckp_list_voltage(struct regulator_dev *rdev , unsigned int selector ) 
6024{ unsigned int __cil_tmp3 ;
6025  unsigned int __cil_tmp4 ;
6026
6027  {
6028#line 646
6029  if (selector <= 102U) {
6030    {
6031#line 647
6032    __cil_tmp3 = selector * 25000U;
6033#line 647
6034    __cil_tmp4 = __cil_tmp3 + 850000U;
6035#line 647
6036    return ((int )__cil_tmp4);
6037    }
6038  } else {
6039#line 649
6040    return (-22);
6041  }
6042}
6043}
6044#line 652 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6045static int wm831x_buckp_set_voltage_int(struct regulator_dev *rdev , int reg , int min_uV ,
6046                                        int max_uV , int *selector ) 
6047{ struct wm831x_dcdc *dcdc ;
6048  void *tmp ;
6049  struct wm831x *wm831x ;
6050  u16 vsel ;
6051  int tmp___0 ;
6052  int tmp___1 ;
6053  unsigned long __cil_tmp12 ;
6054  unsigned long __cil_tmp13 ;
6055  int __cil_tmp14 ;
6056  int __cil_tmp15 ;
6057  unsigned int __cil_tmp16 ;
6058  unsigned short __cil_tmp17 ;
6059  int __cil_tmp18 ;
6060  unsigned short __cil_tmp19 ;
6061  int __cil_tmp20 ;
6062  unsigned short __cil_tmp21 ;
6063
6064  {
6065  {
6066#line 655
6067  tmp = rdev_get_drvdata(rdev);
6068#line 655
6069  dcdc = (struct wm831x_dcdc *)tmp;
6070#line 656
6071  __cil_tmp12 = (unsigned long )dcdc;
6072#line 656
6073  __cil_tmp13 = __cil_tmp12 + 64;
6074#line 656
6075  wm831x = *((struct wm831x **)__cil_tmp13);
6076  }
6077#line 659
6078  if (min_uV <= 34000000) {
6079#line 660
6080    __cil_tmp14 = min_uV + -850000;
6081#line 660
6082    __cil_tmp15 = __cil_tmp14 / 25000;
6083#line 660
6084    vsel = (u16 )__cil_tmp15;
6085  } else {
6086#line 662
6087    return (-22);
6088  }
6089  {
6090#line 664
6091  __cil_tmp16 = (unsigned int )vsel;
6092#line 664
6093  tmp___0 = wm831x_buckp_list_voltage(rdev, __cil_tmp16);
6094  }
6095#line 664
6096  if (tmp___0 > max_uV) {
6097#line 665
6098    return (-22);
6099  } else {
6100
6101  }
6102  {
6103#line 667
6104  *selector = (int )vsel;
6105#line 669
6106  __cil_tmp17 = (unsigned short )reg;
6107#line 669
6108  __cil_tmp18 = (int )__cil_tmp17;
6109#line 669
6110  __cil_tmp19 = (unsigned short )__cil_tmp18;
6111#line 669
6112  __cil_tmp20 = (int )vsel;
6113#line 669
6114  __cil_tmp21 = (unsigned short )__cil_tmp20;
6115#line 669
6116  tmp___1 = wm831x_set_bits(wm831x, __cil_tmp19, (unsigned short)127, __cil_tmp21);
6117  }
6118#line 669
6119  return (tmp___1);
6120}
6121}
6122#line 672 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6123static int wm831x_buckp_set_voltage(struct regulator_dev *rdev , int min_uV , int max_uV ,
6124                                    unsigned int *selector ) 
6125{ struct wm831x_dcdc *dcdc ;
6126  void *tmp ;
6127  u16 reg ;
6128  int tmp___0 ;
6129  unsigned long __cil_tmp9 ;
6130  unsigned long __cil_tmp10 ;
6131  int __cil_tmp11 ;
6132  u16 __cil_tmp12 ;
6133  unsigned int __cil_tmp13 ;
6134  unsigned int __cil_tmp14 ;
6135  int __cil_tmp15 ;
6136  int *__cil_tmp16 ;
6137
6138  {
6139  {
6140#line 676
6141  tmp = rdev_get_drvdata(rdev);
6142#line 676
6143  dcdc = (struct wm831x_dcdc *)tmp;
6144#line 677
6145  __cil_tmp9 = (unsigned long )dcdc;
6146#line 677
6147  __cil_tmp10 = __cil_tmp9 + 56;
6148#line 677
6149  __cil_tmp11 = *((int *)__cil_tmp10);
6150#line 677
6151  __cil_tmp12 = (u16 )__cil_tmp11;
6152#line 677
6153  __cil_tmp13 = (unsigned int )__cil_tmp12;
6154#line 677
6155  __cil_tmp14 = __cil_tmp13 + 2U;
6156#line 677
6157  reg = (u16 )__cil_tmp14;
6158#line 679
6159  __cil_tmp15 = (int )reg;
6160#line 679
6161  __cil_tmp16 = (int *)selector;
6162#line 679
6163  tmp___0 = wm831x_buckp_set_voltage_int(rdev, __cil_tmp15, min_uV, max_uV, __cil_tmp16);
6164  }
6165#line 679
6166  return (tmp___0);
6167}
6168}
6169#line 683 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6170static int wm831x_buckp_set_suspend_voltage(struct regulator_dev *rdev , int uV ) 
6171{ struct wm831x_dcdc *dcdc ;
6172  void *tmp ;
6173  u16 reg ;
6174  unsigned int selector ;
6175  int tmp___0 ;
6176  unsigned long __cil_tmp8 ;
6177  unsigned long __cil_tmp9 ;
6178  int __cil_tmp10 ;
6179  u16 __cil_tmp11 ;
6180  unsigned int __cil_tmp12 ;
6181  unsigned int __cil_tmp13 ;
6182  int __cil_tmp14 ;
6183  int *__cil_tmp15 ;
6184
6185  {
6186  {
6187#line 686
6188  tmp = rdev_get_drvdata(rdev);
6189#line 686
6190  dcdc = (struct wm831x_dcdc *)tmp;
6191#line 687
6192  __cil_tmp8 = (unsigned long )dcdc;
6193#line 687
6194  __cil_tmp9 = __cil_tmp8 + 56;
6195#line 687
6196  __cil_tmp10 = *((int *)__cil_tmp9);
6197#line 687
6198  __cil_tmp11 = (u16 )__cil_tmp10;
6199#line 687
6200  __cil_tmp12 = (unsigned int )__cil_tmp11;
6201#line 687
6202  __cil_tmp13 = __cil_tmp12 + 3U;
6203#line 687
6204  reg = (u16 )__cil_tmp13;
6205#line 690
6206  __cil_tmp14 = (int )reg;
6207#line 690
6208  __cil_tmp15 = (int *)(& selector);
6209#line 690
6210  tmp___0 = wm831x_buckp_set_voltage_int(rdev, __cil_tmp14, uV, uV, __cil_tmp15);
6211  }
6212#line 690
6213  return (tmp___0);
6214}
6215}
6216#line 693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6217static int wm831x_buckp_get_voltage_sel(struct regulator_dev *rdev ) 
6218{ struct wm831x_dcdc *dcdc ;
6219  void *tmp ;
6220  struct wm831x *wm831x ;
6221  u16 reg ;
6222  int val ;
6223  unsigned long __cil_tmp7 ;
6224  unsigned long __cil_tmp8 ;
6225  unsigned long __cil_tmp9 ;
6226  unsigned long __cil_tmp10 ;
6227  int __cil_tmp11 ;
6228  u16 __cil_tmp12 ;
6229  unsigned int __cil_tmp13 ;
6230  unsigned int __cil_tmp14 ;
6231  int __cil_tmp15 ;
6232  unsigned short __cil_tmp16 ;
6233
6234  {
6235  {
6236#line 695
6237  tmp = rdev_get_drvdata(rdev);
6238#line 695
6239  dcdc = (struct wm831x_dcdc *)tmp;
6240#line 696
6241  __cil_tmp7 = (unsigned long )dcdc;
6242#line 696
6243  __cil_tmp8 = __cil_tmp7 + 64;
6244#line 696
6245  wm831x = *((struct wm831x **)__cil_tmp8);
6246#line 697
6247  __cil_tmp9 = (unsigned long )dcdc;
6248#line 697
6249  __cil_tmp10 = __cil_tmp9 + 56;
6250#line 697
6251  __cil_tmp11 = *((int *)__cil_tmp10);
6252#line 697
6253  __cil_tmp12 = (u16 )__cil_tmp11;
6254#line 697
6255  __cil_tmp13 = (unsigned int )__cil_tmp12;
6256#line 697
6257  __cil_tmp14 = __cil_tmp13 + 2U;
6258#line 697
6259  reg = (u16 )__cil_tmp14;
6260#line 700
6261  __cil_tmp15 = (int )reg;
6262#line 700
6263  __cil_tmp16 = (unsigned short )__cil_tmp15;
6264#line 700
6265  val = wm831x_reg_read(wm831x, __cil_tmp16);
6266  }
6267#line 701
6268  if (val < 0) {
6269#line 702
6270    return (val);
6271  } else {
6272
6273  }
6274#line 704
6275  return (val & 127);
6276}
6277}
6278#line 707 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6279static struct regulator_ops wm831x_buckp_ops  = 
6280#line 707
6281     {& wm831x_buckp_list_voltage, & wm831x_buckp_set_voltage, (int (*)(struct regulator_dev * ,
6282                                                                      unsigned int  ))0,
6283    (int (*)(struct regulator_dev * ))0, & wm831x_buckp_get_voltage_sel, (int (*)(struct regulator_dev * ,
6284                                                                                  int  ,
6285                                                                                  int  ))0,
6286    (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_enable, & wm831x_dcdc_disable,
6287    & wm831x_dcdc_is_enabled, & wm831x_dcdc_set_mode, & wm831x_dcdc_get_mode, (int (*)(struct regulator_dev * ))0,
6288    (int (*)(struct regulator_dev * , unsigned int  , unsigned int  ))0, & wm831x_dcdc_get_status,
6289    (unsigned int (*)(struct regulator_dev * , int  , int  , int  ))0, & wm831x_buckp_set_suspend_voltage,
6290    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, & wm831x_dcdc_set_suspend_mode};
6291#line 722 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6292static int wm831x_buckp_probe(struct platform_device *pdev ) 
6293{ struct wm831x *wm831x ;
6294  void *tmp ;
6295  struct wm831x_pdata *pdata ;
6296  int id ;
6297  struct wm831x_dcdc *dcdc ;
6298  struct resource *res ;
6299  int ret ;
6300  int irq ;
6301  struct _ddebug descriptor ;
6302  long tmp___0 ;
6303  void *tmp___1 ;
6304  long tmp___2 ;
6305  long tmp___3 ;
6306  unsigned long __cil_tmp15 ;
6307  unsigned long __cil_tmp16 ;
6308  struct device *__cil_tmp17 ;
6309  struct device  const  *__cil_tmp18 ;
6310  unsigned long __cil_tmp19 ;
6311  unsigned long __cil_tmp20 ;
6312  struct device *__cil_tmp21 ;
6313  unsigned long __cil_tmp22 ;
6314  unsigned long __cil_tmp23 ;
6315  void *__cil_tmp24 ;
6316  struct wm831x_pdata *__cil_tmp25 ;
6317  unsigned long __cil_tmp26 ;
6318  unsigned long __cil_tmp27 ;
6319  int __cil_tmp28 ;
6320  int __cil_tmp29 ;
6321  int __cil_tmp30 ;
6322  unsigned long __cil_tmp31 ;
6323  unsigned long __cil_tmp32 ;
6324  int __cil_tmp33 ;
6325  struct _ddebug *__cil_tmp34 ;
6326  unsigned long __cil_tmp35 ;
6327  unsigned long __cil_tmp36 ;
6328  unsigned long __cil_tmp37 ;
6329  unsigned long __cil_tmp38 ;
6330  unsigned long __cil_tmp39 ;
6331  unsigned long __cil_tmp40 ;
6332  unsigned char __cil_tmp41 ;
6333  long __cil_tmp42 ;
6334  long __cil_tmp43 ;
6335  unsigned long __cil_tmp44 ;
6336  unsigned long __cil_tmp45 ;
6337  struct device *__cil_tmp46 ;
6338  struct device  const  *__cil_tmp47 ;
6339  int __cil_tmp48 ;
6340  struct wm831x_pdata *__cil_tmp49 ;
6341  unsigned long __cil_tmp50 ;
6342  unsigned long __cil_tmp51 ;
6343  struct regulator_init_data *__cil_tmp52 ;
6344  unsigned long __cil_tmp53 ;
6345  unsigned long __cil_tmp54 ;
6346  unsigned long __cil_tmp55 ;
6347  unsigned long __cil_tmp56 ;
6348  unsigned long __cil_tmp57 ;
6349  struct regulator_init_data *__cil_tmp58 ;
6350  unsigned long __cil_tmp59 ;
6351  unsigned long __cil_tmp60 ;
6352  unsigned long __cil_tmp61 ;
6353  struct device *__cil_tmp62 ;
6354  struct wm831x_dcdc *__cil_tmp63 ;
6355  unsigned long __cil_tmp64 ;
6356  unsigned long __cil_tmp65 ;
6357  unsigned long __cil_tmp66 ;
6358  unsigned long __cil_tmp67 ;
6359  struct device *__cil_tmp68 ;
6360  struct device  const  *__cil_tmp69 ;
6361  unsigned long __cil_tmp70 ;
6362  unsigned long __cil_tmp71 ;
6363  struct resource *__cil_tmp72 ;
6364  unsigned long __cil_tmp73 ;
6365  unsigned long __cil_tmp74 ;
6366  unsigned long __cil_tmp75 ;
6367  unsigned long __cil_tmp76 ;
6368  struct device *__cil_tmp77 ;
6369  struct device  const  *__cil_tmp78 ;
6370  unsigned long __cil_tmp79 ;
6371  unsigned long __cil_tmp80 ;
6372  resource_size_t __cil_tmp81 ;
6373  char (*__cil_tmp82)[6U] ;
6374  char *__cil_tmp83 ;
6375  int __cil_tmp84 ;
6376  unsigned long __cil_tmp85 ;
6377  unsigned long __cil_tmp86 ;
6378  char (*__cil_tmp87)[6U] ;
6379  unsigned long __cil_tmp88 ;
6380  unsigned long __cil_tmp89 ;
6381  unsigned long __cil_tmp90 ;
6382  unsigned long __cil_tmp91 ;
6383  unsigned long __cil_tmp92 ;
6384  unsigned long __cil_tmp93 ;
6385  unsigned long __cil_tmp94 ;
6386  unsigned long __cil_tmp95 ;
6387  unsigned long __cil_tmp96 ;
6388  unsigned long __cil_tmp97 ;
6389  unsigned long __cil_tmp98 ;
6390  unsigned long __cil_tmp99 ;
6391  unsigned long __cil_tmp100 ;
6392  unsigned long __cil_tmp101 ;
6393  unsigned long __cil_tmp102 ;
6394  unsigned long __cil_tmp103 ;
6395  unsigned long __cil_tmp104 ;
6396  unsigned long __cil_tmp105 ;
6397  unsigned long __cil_tmp106 ;
6398  struct regulator_desc *__cil_tmp107 ;
6399  unsigned long __cil_tmp108 ;
6400  unsigned long __cil_tmp109 ;
6401  struct device *__cil_tmp110 ;
6402  unsigned long __cil_tmp111 ;
6403  unsigned long __cil_tmp112 ;
6404  unsigned long __cil_tmp113 ;
6405  unsigned long __cil_tmp114 ;
6406  struct regulator_init_data *__cil_tmp115 ;
6407  struct regulator_init_data  const  *__cil_tmp116 ;
6408  void *__cil_tmp117 ;
6409  struct device_node *__cil_tmp118 ;
6410  unsigned long __cil_tmp119 ;
6411  unsigned long __cil_tmp120 ;
6412  struct regulator_dev *__cil_tmp121 ;
6413  void const   *__cil_tmp122 ;
6414  unsigned long __cil_tmp123 ;
6415  unsigned long __cil_tmp124 ;
6416  struct regulator_dev *__cil_tmp125 ;
6417  void const   *__cil_tmp126 ;
6418  unsigned long __cil_tmp127 ;
6419  unsigned long __cil_tmp128 ;
6420  struct device *__cil_tmp129 ;
6421  struct device  const  *__cil_tmp130 ;
6422  int __cil_tmp131 ;
6423  unsigned int __cil_tmp132 ;
6424  irqreturn_t (*__cil_tmp133)(int  , void * ) ;
6425  char (*__cil_tmp134)[6U] ;
6426  char const   *__cil_tmp135 ;
6427  void *__cil_tmp136 ;
6428  unsigned long __cil_tmp137 ;
6429  unsigned long __cil_tmp138 ;
6430  struct device *__cil_tmp139 ;
6431  struct device  const  *__cil_tmp140 ;
6432  void *__cil_tmp141 ;
6433  unsigned long __cil_tmp142 ;
6434  unsigned long __cil_tmp143 ;
6435  struct regulator_dev *__cil_tmp144 ;
6436
6437  {
6438  {
6439#line 724
6440  __cil_tmp15 = (unsigned long )pdev;
6441#line 724
6442  __cil_tmp16 = __cil_tmp15 + 16;
6443#line 724
6444  __cil_tmp17 = *((struct device **)__cil_tmp16);
6445#line 724
6446  __cil_tmp18 = (struct device  const  *)__cil_tmp17;
6447#line 724
6448  tmp = dev_get_drvdata(__cil_tmp18);
6449#line 724
6450  wm831x = (struct wm831x *)tmp;
6451#line 725
6452  __cil_tmp19 = (unsigned long )wm831x;
6453#line 725
6454  __cil_tmp20 = __cil_tmp19 + 168;
6455#line 725
6456  __cil_tmp21 = *((struct device **)__cil_tmp20);
6457#line 725
6458  __cil_tmp22 = (unsigned long )__cil_tmp21;
6459#line 725
6460  __cil_tmp23 = __cil_tmp22 + 280;
6461#line 725
6462  __cil_tmp24 = *((void **)__cil_tmp23);
6463#line 725
6464  pdata = (struct wm831x_pdata *)__cil_tmp24;
6465  }
6466  {
6467#line 731
6468  __cil_tmp25 = (struct wm831x_pdata *)0;
6469#line 731
6470  __cil_tmp26 = (unsigned long )__cil_tmp25;
6471#line 731
6472  __cil_tmp27 = (unsigned long )pdata;
6473#line 731
6474  if (__cil_tmp27 != __cil_tmp26) {
6475    {
6476#line 731
6477    __cil_tmp28 = *((int *)pdata);
6478#line 731
6479    if (__cil_tmp28 != 0) {
6480#line 732
6481      __cil_tmp29 = *((int *)pdata);
6482#line 732
6483      __cil_tmp30 = __cil_tmp29 * 10;
6484#line 732
6485      id = __cil_tmp30 + 1;
6486    } else {
6487#line 734
6488      id = 0;
6489    }
6490    }
6491  } else {
6492#line 734
6493    id = 0;
6494  }
6495  }
6496  {
6497#line 735
6498  __cil_tmp31 = (unsigned long )pdev;
6499#line 735
6500  __cil_tmp32 = __cil_tmp31 + 8;
6501#line 735
6502  __cil_tmp33 = *((int *)__cil_tmp32);
6503#line 735
6504  id = __cil_tmp33 - id;
6505#line 737
6506  __cil_tmp34 = & descriptor;
6507#line 737
6508  *((char const   **)__cil_tmp34) = "wm831x_dcdc";
6509#line 737
6510  __cil_tmp35 = (unsigned long )(& descriptor) + 8;
6511#line 737
6512  *((char const   **)__cil_tmp35) = "wm831x_buckp_probe";
6513#line 737
6514  __cil_tmp36 = (unsigned long )(& descriptor) + 16;
6515#line 737
6516  *((char const   **)__cil_tmp36) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
6517#line 737
6518  __cil_tmp37 = (unsigned long )(& descriptor) + 24;
6519#line 737
6520  *((char const   **)__cil_tmp37) = "Probing DCDC%d\n";
6521#line 737
6522  __cil_tmp38 = (unsigned long )(& descriptor) + 32;
6523#line 737
6524  *((unsigned int *)__cil_tmp38) = 737U;
6525#line 737
6526  __cil_tmp39 = (unsigned long )(& descriptor) + 35;
6527#line 737
6528  *((unsigned char *)__cil_tmp39) = (unsigned char)1;
6529#line 737
6530  __cil_tmp40 = (unsigned long )(& descriptor) + 35;
6531#line 737
6532  __cil_tmp41 = *((unsigned char *)__cil_tmp40);
6533#line 737
6534  __cil_tmp42 = (long )__cil_tmp41;
6535#line 737
6536  __cil_tmp43 = __cil_tmp42 & 1L;
6537#line 737
6538  tmp___0 = __builtin_expect(__cil_tmp43, 0L);
6539  }
6540#line 737
6541  if (tmp___0 != 0L) {
6542    {
6543#line 737
6544    __cil_tmp44 = (unsigned long )pdev;
6545#line 737
6546    __cil_tmp45 = __cil_tmp44 + 16;
6547#line 737
6548    __cil_tmp46 = (struct device *)__cil_tmp45;
6549#line 737
6550    __cil_tmp47 = (struct device  const  *)__cil_tmp46;
6551#line 737
6552    __cil_tmp48 = id + 1;
6553#line 737
6554    __dynamic_dev_dbg(& descriptor, __cil_tmp47, "Probing DCDC%d\n", __cil_tmp48);
6555    }
6556  } else {
6557
6558  }
6559  {
6560#line 739
6561  __cil_tmp49 = (struct wm831x_pdata *)0;
6562#line 739
6563  __cil_tmp50 = (unsigned long )__cil_tmp49;
6564#line 739
6565  __cil_tmp51 = (unsigned long )pdata;
6566#line 739
6567  if (__cil_tmp51 == __cil_tmp50) {
6568#line 740
6569    return (-19);
6570  } else {
6571    {
6572#line 739
6573    __cil_tmp52 = (struct regulator_init_data *)0;
6574#line 739
6575    __cil_tmp53 = (unsigned long )__cil_tmp52;
6576#line 739
6577    __cil_tmp54 = id * 8UL;
6578#line 739
6579    __cil_tmp55 = 160 + __cil_tmp54;
6580#line 739
6581    __cil_tmp56 = (unsigned long )pdata;
6582#line 739
6583    __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
6584#line 739
6585    __cil_tmp58 = *((struct regulator_init_data **)__cil_tmp57);
6586#line 739
6587    __cil_tmp59 = (unsigned long )__cil_tmp58;
6588#line 739
6589    if (__cil_tmp59 == __cil_tmp53) {
6590#line 740
6591      return (-19);
6592    } else {
6593
6594    }
6595    }
6596  }
6597  }
6598  {
6599#line 742
6600  __cil_tmp60 = (unsigned long )pdev;
6601#line 742
6602  __cil_tmp61 = __cil_tmp60 + 16;
6603#line 742
6604  __cil_tmp62 = (struct device *)__cil_tmp61;
6605#line 742
6606  tmp___1 = devm_kzalloc(__cil_tmp62, 96UL, 208U);
6607#line 742
6608  dcdc = (struct wm831x_dcdc *)tmp___1;
6609  }
6610  {
6611#line 744
6612  __cil_tmp63 = (struct wm831x_dcdc *)0;
6613#line 744
6614  __cil_tmp64 = (unsigned long )__cil_tmp63;
6615#line 744
6616  __cil_tmp65 = (unsigned long )dcdc;
6617#line 744
6618  if (__cil_tmp65 == __cil_tmp64) {
6619    {
6620#line 745
6621    __cil_tmp66 = (unsigned long )pdev;
6622#line 745
6623    __cil_tmp67 = __cil_tmp66 + 16;
6624#line 745
6625    __cil_tmp68 = (struct device *)__cil_tmp67;
6626#line 745
6627    __cil_tmp69 = (struct device  const  *)__cil_tmp68;
6628#line 745
6629    dev_err(__cil_tmp69, "Unable to allocate private data\n");
6630    }
6631#line 746
6632    return (-12);
6633  } else {
6634
6635  }
6636  }
6637  {
6638#line 749
6639  __cil_tmp70 = (unsigned long )dcdc;
6640#line 749
6641  __cil_tmp71 = __cil_tmp70 + 64;
6642#line 749
6643  *((struct wm831x **)__cil_tmp71) = wm831x;
6644#line 751
6645  res = platform_get_resource(pdev, 256U, 0U);
6646  }
6647  {
6648#line 752
6649  __cil_tmp72 = (struct resource *)0;
6650#line 752
6651  __cil_tmp73 = (unsigned long )__cil_tmp72;
6652#line 752
6653  __cil_tmp74 = (unsigned long )res;
6654#line 752
6655  if (__cil_tmp74 == __cil_tmp73) {
6656    {
6657#line 753
6658    __cil_tmp75 = (unsigned long )pdev;
6659#line 753
6660    __cil_tmp76 = __cil_tmp75 + 16;
6661#line 753
6662    __cil_tmp77 = (struct device *)__cil_tmp76;
6663#line 753
6664    __cil_tmp78 = (struct device  const  *)__cil_tmp77;
6665#line 753
6666    dev_err(__cil_tmp78, "No I/O resource\n");
6667#line 754
6668    ret = -22;
6669    }
6670#line 755
6671    goto err;
6672  } else {
6673
6674  }
6675  }
6676  {
6677#line 757
6678  __cil_tmp79 = (unsigned long )dcdc;
6679#line 757
6680  __cil_tmp80 = __cil_tmp79 + 56;
6681#line 757
6682  __cil_tmp81 = *((resource_size_t *)res);
6683#line 757
6684  *((int *)__cil_tmp80) = (int )__cil_tmp81;
6685#line 759
6686  __cil_tmp82 = (char (*)[6U])dcdc;
6687#line 759
6688  __cil_tmp83 = (char *)__cil_tmp82;
6689#line 759
6690  __cil_tmp84 = id + 1;
6691#line 759
6692  snprintf(__cil_tmp83, 6UL, "DCDC%d", __cil_tmp84);
6693#line 760
6694  __cil_tmp85 = (unsigned long )dcdc;
6695#line 760
6696  __cil_tmp86 = __cil_tmp85 + 8;
6697#line 760
6698  __cil_tmp87 = (char (*)[6U])dcdc;
6699#line 760
6700  *((char const   **)__cil_tmp86) = (char const   *)__cil_tmp87;
6701#line 761
6702  __cil_tmp88 = 8 + 16;
6703#line 761
6704  __cil_tmp89 = (unsigned long )dcdc;
6705#line 761
6706  __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
6707#line 761
6708  *((int *)__cil_tmp90) = id;
6709#line 762
6710  __cil_tmp91 = 8 + 36;
6711#line 762
6712  __cil_tmp92 = (unsigned long )dcdc;
6713#line 762
6714  __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
6715#line 762
6716  *((enum regulator_type *)__cil_tmp93) = (enum regulator_type )0;
6717#line 763
6718  __cil_tmp94 = 8 + 20;
6719#line 763
6720  __cil_tmp95 = (unsigned long )dcdc;
6721#line 763
6722  __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
6723#line 763
6724  *((unsigned int *)__cil_tmp96) = 103U;
6725#line 764
6726  __cil_tmp97 = 8 + 24;
6727#line 764
6728  __cil_tmp98 = (unsigned long )dcdc;
6729#line 764
6730  __cil_tmp99 = __cil_tmp98 + __cil_tmp97;
6731#line 764
6732  *((struct regulator_ops **)__cil_tmp99) = & wm831x_buckp_ops;
6733#line 765
6734  __cil_tmp100 = 8 + 40;
6735#line 765
6736  __cil_tmp101 = (unsigned long )dcdc;
6737#line 765
6738  __cil_tmp102 = __cil_tmp101 + __cil_tmp100;
6739#line 765
6740  *((struct module **)__cil_tmp102) = & __this_module;
6741#line 767
6742  __cil_tmp103 = (unsigned long )dcdc;
6743#line 767
6744  __cil_tmp104 = __cil_tmp103 + 72;
6745#line 767
6746  __cil_tmp105 = (unsigned long )dcdc;
6747#line 767
6748  __cil_tmp106 = __cil_tmp105 + 8;
6749#line 767
6750  __cil_tmp107 = (struct regulator_desc *)__cil_tmp106;
6751#line 767
6752  __cil_tmp108 = (unsigned long )pdev;
6753#line 767
6754  __cil_tmp109 = __cil_tmp108 + 16;
6755#line 767
6756  __cil_tmp110 = (struct device *)__cil_tmp109;
6757#line 767
6758  __cil_tmp111 = id * 8UL;
6759#line 767
6760  __cil_tmp112 = 160 + __cil_tmp111;
6761#line 767
6762  __cil_tmp113 = (unsigned long )pdata;
6763#line 767
6764  __cil_tmp114 = __cil_tmp113 + __cil_tmp112;
6765#line 767
6766  __cil_tmp115 = *((struct regulator_init_data **)__cil_tmp114);
6767#line 767
6768  __cil_tmp116 = (struct regulator_init_data  const  *)__cil_tmp115;
6769#line 767
6770  __cil_tmp117 = (void *)dcdc;
6771#line 767
6772  __cil_tmp118 = (struct device_node *)0;
6773#line 767
6774  *((struct regulator_dev **)__cil_tmp104) = regulator_register(__cil_tmp107, __cil_tmp110,
6775                                                                __cil_tmp116, __cil_tmp117,
6776                                                                __cil_tmp118);
6777#line 769
6778  __cil_tmp119 = (unsigned long )dcdc;
6779#line 769
6780  __cil_tmp120 = __cil_tmp119 + 72;
6781#line 769
6782  __cil_tmp121 = *((struct regulator_dev **)__cil_tmp120);
6783#line 769
6784  __cil_tmp122 = (void const   *)__cil_tmp121;
6785#line 769
6786  tmp___3 = IS_ERR(__cil_tmp122);
6787  }
6788#line 769
6789  if (tmp___3 != 0L) {
6790    {
6791#line 770
6792    __cil_tmp123 = (unsigned long )dcdc;
6793#line 770
6794    __cil_tmp124 = __cil_tmp123 + 72;
6795#line 770
6796    __cil_tmp125 = *((struct regulator_dev **)__cil_tmp124);
6797#line 770
6798    __cil_tmp126 = (void const   *)__cil_tmp125;
6799#line 770
6800    tmp___2 = PTR_ERR(__cil_tmp126);
6801#line 770
6802    ret = (int )tmp___2;
6803#line 771
6804    __cil_tmp127 = (unsigned long )wm831x;
6805#line 771
6806    __cil_tmp128 = __cil_tmp127 + 168;
6807#line 771
6808    __cil_tmp129 = *((struct device **)__cil_tmp128);
6809#line 771
6810    __cil_tmp130 = (struct device  const  *)__cil_tmp129;
6811#line 771
6812    __cil_tmp131 = id + 1;
6813#line 771
6814    dev_err(__cil_tmp130, "Failed to register DCDC%d: %d\n", __cil_tmp131, ret);
6815    }
6816#line 773
6817    goto err;
6818  } else {
6819
6820  }
6821  {
6822#line 776
6823  irq = platform_get_irq_byname(pdev, "UV");
6824#line 777
6825  __cil_tmp132 = (unsigned int )irq;
6826#line 777
6827  __cil_tmp133 = (irqreturn_t (*)(int  , void * ))0;
6828#line 777
6829  __cil_tmp134 = (char (*)[6U])dcdc;
6830#line 777
6831  __cil_tmp135 = (char const   *)__cil_tmp134;
6832#line 777
6833  __cil_tmp136 = (void *)dcdc;
6834#line 777
6835  ret = request_threaded_irq(__cil_tmp132, __cil_tmp133, & wm831x_dcdc_uv_irq, 1UL,
6836                             __cil_tmp135, __cil_tmp136);
6837  }
6838#line 779
6839  if (ret != 0) {
6840    {
6841#line 780
6842    __cil_tmp137 = (unsigned long )pdev;
6843#line 780
6844    __cil_tmp138 = __cil_tmp137 + 16;
6845#line 780
6846    __cil_tmp139 = (struct device *)__cil_tmp138;
6847#line 780
6848    __cil_tmp140 = (struct device  const  *)__cil_tmp139;
6849#line 780
6850    dev_err(__cil_tmp140, "Failed to request UV IRQ %d: %d\n", irq, ret);
6851    }
6852#line 782
6853    goto err_regulator;
6854  } else {
6855
6856  }
6857  {
6858#line 785
6859  __cil_tmp141 = (void *)dcdc;
6860#line 785
6861  platform_set_drvdata(pdev, __cil_tmp141);
6862  }
6863#line 787
6864  return (0);
6865  err_regulator: 
6866  {
6867#line 790
6868  __cil_tmp142 = (unsigned long )dcdc;
6869#line 790
6870  __cil_tmp143 = __cil_tmp142 + 72;
6871#line 790
6872  __cil_tmp144 = *((struct regulator_dev **)__cil_tmp143);
6873#line 790
6874  regulator_unregister(__cil_tmp144);
6875  }
6876  err: ;
6877#line 792
6878  return (ret);
6879}
6880}
6881#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6882static int wm831x_buckp_remove(struct platform_device *pdev ) 
6883{ struct wm831x_dcdc *dcdc ;
6884  void *tmp ;
6885  int tmp___0 ;
6886  struct platform_device  const  *__cil_tmp5 ;
6887  void *__cil_tmp6 ;
6888  unsigned int __cil_tmp7 ;
6889  void *__cil_tmp8 ;
6890  unsigned long __cil_tmp9 ;
6891  unsigned long __cil_tmp10 ;
6892  struct regulator_dev *__cil_tmp11 ;
6893
6894  {
6895  {
6896#line 797
6897  __cil_tmp5 = (struct platform_device  const  *)pdev;
6898#line 797
6899  tmp = platform_get_drvdata(__cil_tmp5);
6900#line 797
6901  dcdc = (struct wm831x_dcdc *)tmp;
6902#line 799
6903  __cil_tmp6 = (void *)0;
6904#line 799
6905  platform_set_drvdata(pdev, __cil_tmp6);
6906#line 801
6907  tmp___0 = platform_get_irq_byname(pdev, "UV");
6908#line 801
6909  __cil_tmp7 = (unsigned int )tmp___0;
6910#line 801
6911  __cil_tmp8 = (void *)dcdc;
6912#line 801
6913  free_irq(__cil_tmp7, __cil_tmp8);
6914#line 802
6915  __cil_tmp9 = (unsigned long )dcdc;
6916#line 802
6917  __cil_tmp10 = __cil_tmp9 + 72;
6918#line 802
6919  __cil_tmp11 = *((struct regulator_dev **)__cil_tmp10);
6920#line 802
6921  regulator_unregister(__cil_tmp11);
6922  }
6923#line 804
6924  return (0);
6925}
6926}
6927#line 807 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6928static struct platform_driver wm831x_buckp_driver  =    {& wm831x_buckp_probe, & wm831x_buckp_remove, (void (*)(struct platform_device * ))0,
6929    (int (*)(struct platform_device * , pm_message_t  ))0, (int (*)(struct platform_device * ))0,
6930    {"wm831x-buckp", (struct bus_type *)0, & __this_module, (char const   *)0, (_Bool)0,
6931     (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
6932     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
6933     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
6934     (struct driver_private *)0}, (struct platform_device_id  const  *)0};
6935#line 820 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
6936static int wm831x_boostp_get_status(struct regulator_dev *rdev ) 
6937{ struct wm831x_dcdc *dcdc ;
6938  void *tmp ;
6939  struct wm831x *wm831x ;
6940  int ret ;
6941  struct _ddebug descriptor ;
6942  int tmp___0 ;
6943  long tmp___1 ;
6944  int tmp___2 ;
6945  int tmp___3 ;
6946  unsigned long __cil_tmp11 ;
6947  unsigned long __cil_tmp12 ;
6948  int __cil_tmp13 ;
6949  struct _ddebug *__cil_tmp14 ;
6950  unsigned long __cil_tmp15 ;
6951  unsigned long __cil_tmp16 ;
6952  unsigned long __cil_tmp17 ;
6953  unsigned long __cil_tmp18 ;
6954  unsigned long __cil_tmp19 ;
6955  unsigned long __cil_tmp20 ;
6956  unsigned char __cil_tmp21 ;
6957  long __cil_tmp22 ;
6958  long __cil_tmp23 ;
6959  unsigned long __cil_tmp24 ;
6960  unsigned long __cil_tmp25 ;
6961  struct device *__cil_tmp26 ;
6962  struct device  const  *__cil_tmp27 ;
6963  int __cil_tmp28 ;
6964  int __cil_tmp29 ;
6965
6966  {
6967  {
6968#line 822
6969  tmp = rdev_get_drvdata(rdev);
6970#line 822
6971  dcdc = (struct wm831x_dcdc *)tmp;
6972#line 823
6973  __cil_tmp11 = (unsigned long )dcdc;
6974#line 823
6975  __cil_tmp12 = __cil_tmp11 + 64;
6976#line 823
6977  wm831x = *((struct wm831x **)__cil_tmp12);
6978#line 827
6979  ret = wm831x_reg_read(wm831x, (unsigned short)16468);
6980  }
6981#line 828
6982  if (ret < 0) {
6983#line 829
6984    return (ret);
6985  } else {
6986
6987  }
6988  {
6989#line 831
6990  tmp___2 = rdev_get_id(rdev);
6991  }
6992  {
6993#line 831
6994  __cil_tmp13 = ret >> tmp___2;
6995#line 831
6996  if (__cil_tmp13 & 1) {
6997    {
6998#line 832
6999    __cil_tmp14 = & descriptor;
7000#line 832
7001    *((char const   **)__cil_tmp14) = "wm831x_dcdc";
7002#line 832
7003    __cil_tmp15 = (unsigned long )(& descriptor) + 8;
7004#line 832
7005    *((char const   **)__cil_tmp15) = "wm831x_boostp_get_status";
7006#line 832
7007    __cil_tmp16 = (unsigned long )(& descriptor) + 16;
7008#line 832
7009    *((char const   **)__cil_tmp16) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7010#line 832
7011    __cil_tmp17 = (unsigned long )(& descriptor) + 24;
7012#line 832
7013    *((char const   **)__cil_tmp17) = "DCDC%d under voltage\n";
7014#line 832
7015    __cil_tmp18 = (unsigned long )(& descriptor) + 32;
7016#line 832
7017    *((unsigned int *)__cil_tmp18) = 833U;
7018#line 832
7019    __cil_tmp19 = (unsigned long )(& descriptor) + 35;
7020#line 832
7021    *((unsigned char *)__cil_tmp19) = (unsigned char)1;
7022#line 832
7023    __cil_tmp20 = (unsigned long )(& descriptor) + 35;
7024#line 832
7025    __cil_tmp21 = *((unsigned char *)__cil_tmp20);
7026#line 832
7027    __cil_tmp22 = (long )__cil_tmp21;
7028#line 832
7029    __cil_tmp23 = __cil_tmp22 & 1L;
7030#line 832
7031    tmp___1 = __builtin_expect(__cil_tmp23, 0L);
7032    }
7033#line 832
7034    if (tmp___1 != 0L) {
7035      {
7036#line 832
7037      tmp___0 = rdev_get_id(rdev);
7038#line 832
7039      __cil_tmp24 = (unsigned long )wm831x;
7040#line 832
7041      __cil_tmp25 = __cil_tmp24 + 168;
7042#line 832
7043      __cil_tmp26 = *((struct device **)__cil_tmp25);
7044#line 832
7045      __cil_tmp27 = (struct device  const  *)__cil_tmp26;
7046#line 832
7047      __cil_tmp28 = tmp___0 + 1;
7048#line 832
7049      __dynamic_dev_dbg(& descriptor, __cil_tmp27, "DCDC%d under voltage\n", __cil_tmp28);
7050      }
7051    } else {
7052
7053    }
7054#line 834
7055    return (2);
7056  } else {
7057
7058  }
7059  }
7060  {
7061#line 838
7062  ret = wm831x_reg_read(wm831x, (unsigned short)16466);
7063  }
7064#line 839
7065  if (ret < 0) {
7066#line 840
7067    return (ret);
7068  } else {
7069
7070  }
7071  {
7072#line 841
7073  tmp___3 = rdev_get_id(rdev);
7074  }
7075  {
7076#line 841
7077  __cil_tmp29 = ret >> tmp___3;
7078#line 841
7079  if (__cil_tmp29 & 1) {
7080#line 842
7081    return (1);
7082  } else {
7083#line 844
7084    return (0);
7085  }
7086  }
7087}
7088}
7089#line 847 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7090static struct regulator_ops wm831x_boostp_ops  = 
7091#line 847
7092     {(int (*)(struct regulator_dev * , unsigned int  ))0, (int (*)(struct regulator_dev * ,
7093                                                                  int  , int  , unsigned int * ))0,
7094    (int (*)(struct regulator_dev * , unsigned int  ))0, (int (*)(struct regulator_dev * ))0,
7095    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , int  ,
7096                                                  int  ))0, (int (*)(struct regulator_dev * ))0,
7097    & wm831x_dcdc_enable, & wm831x_dcdc_disable, & wm831x_dcdc_is_enabled, (int (*)(struct regulator_dev * ,
7098                                                                                    unsigned int  ))0,
7099    (unsigned int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0,
7100    (int (*)(struct regulator_dev * , unsigned int  , unsigned int  ))0, & wm831x_boostp_get_status,
7101    (unsigned int (*)(struct regulator_dev * , int  , int  , int  ))0, (int (*)(struct regulator_dev * ,
7102                                                                                int  ))0,
7103    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
7104                                                                                       unsigned int  ))0};
7105#line 855 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7106static int wm831x_boostp_probe(struct platform_device *pdev ) 
7107{ struct wm831x *wm831x ;
7108  void *tmp ;
7109  struct wm831x_pdata *pdata ;
7110  int id ;
7111  struct wm831x_dcdc *dcdc ;
7112  struct resource *res ;
7113  int ret ;
7114  int irq ;
7115  struct _ddebug descriptor ;
7116  long tmp___0 ;
7117  void *tmp___1 ;
7118  long tmp___2 ;
7119  long tmp___3 ;
7120  unsigned long __cil_tmp15 ;
7121  unsigned long __cil_tmp16 ;
7122  struct device *__cil_tmp17 ;
7123  struct device  const  *__cil_tmp18 ;
7124  unsigned long __cil_tmp19 ;
7125  unsigned long __cil_tmp20 ;
7126  struct device *__cil_tmp21 ;
7127  unsigned long __cil_tmp22 ;
7128  unsigned long __cil_tmp23 ;
7129  void *__cil_tmp24 ;
7130  unsigned long __cil_tmp25 ;
7131  unsigned long __cil_tmp26 ;
7132  int __cil_tmp27 ;
7133  struct _ddebug *__cil_tmp28 ;
7134  unsigned long __cil_tmp29 ;
7135  unsigned long __cil_tmp30 ;
7136  unsigned long __cil_tmp31 ;
7137  unsigned long __cil_tmp32 ;
7138  unsigned long __cil_tmp33 ;
7139  unsigned long __cil_tmp34 ;
7140  unsigned char __cil_tmp35 ;
7141  long __cil_tmp36 ;
7142  long __cil_tmp37 ;
7143  unsigned long __cil_tmp38 ;
7144  unsigned long __cil_tmp39 ;
7145  struct device *__cil_tmp40 ;
7146  struct device  const  *__cil_tmp41 ;
7147  int __cil_tmp42 ;
7148  struct wm831x_pdata *__cil_tmp43 ;
7149  unsigned long __cil_tmp44 ;
7150  unsigned long __cil_tmp45 ;
7151  struct regulator_init_data *__cil_tmp46 ;
7152  unsigned long __cil_tmp47 ;
7153  unsigned long __cil_tmp48 ;
7154  unsigned long __cil_tmp49 ;
7155  unsigned long __cil_tmp50 ;
7156  unsigned long __cil_tmp51 ;
7157  struct regulator_init_data *__cil_tmp52 ;
7158  unsigned long __cil_tmp53 ;
7159  struct wm831x_dcdc *__cil_tmp54 ;
7160  unsigned long __cil_tmp55 ;
7161  unsigned long __cil_tmp56 ;
7162  unsigned long __cil_tmp57 ;
7163  unsigned long __cil_tmp58 ;
7164  struct device *__cil_tmp59 ;
7165  struct device  const  *__cil_tmp60 ;
7166  unsigned long __cil_tmp61 ;
7167  unsigned long __cil_tmp62 ;
7168  struct resource *__cil_tmp63 ;
7169  unsigned long __cil_tmp64 ;
7170  unsigned long __cil_tmp65 ;
7171  unsigned long __cil_tmp66 ;
7172  unsigned long __cil_tmp67 ;
7173  struct device *__cil_tmp68 ;
7174  struct device  const  *__cil_tmp69 ;
7175  unsigned long __cil_tmp70 ;
7176  unsigned long __cil_tmp71 ;
7177  resource_size_t __cil_tmp72 ;
7178  char (*__cil_tmp73)[6U] ;
7179  char *__cil_tmp74 ;
7180  int __cil_tmp75 ;
7181  unsigned long __cil_tmp76 ;
7182  unsigned long __cil_tmp77 ;
7183  char (*__cil_tmp78)[6U] ;
7184  unsigned long __cil_tmp79 ;
7185  unsigned long __cil_tmp80 ;
7186  unsigned long __cil_tmp81 ;
7187  unsigned long __cil_tmp82 ;
7188  unsigned long __cil_tmp83 ;
7189  unsigned long __cil_tmp84 ;
7190  unsigned long __cil_tmp85 ;
7191  unsigned long __cil_tmp86 ;
7192  unsigned long __cil_tmp87 ;
7193  unsigned long __cil_tmp88 ;
7194  unsigned long __cil_tmp89 ;
7195  unsigned long __cil_tmp90 ;
7196  unsigned long __cil_tmp91 ;
7197  unsigned long __cil_tmp92 ;
7198  unsigned long __cil_tmp93 ;
7199  unsigned long __cil_tmp94 ;
7200  struct regulator_desc *__cil_tmp95 ;
7201  unsigned long __cil_tmp96 ;
7202  unsigned long __cil_tmp97 ;
7203  struct device *__cil_tmp98 ;
7204  unsigned long __cil_tmp99 ;
7205  unsigned long __cil_tmp100 ;
7206  unsigned long __cil_tmp101 ;
7207  unsigned long __cil_tmp102 ;
7208  struct regulator_init_data *__cil_tmp103 ;
7209  struct regulator_init_data  const  *__cil_tmp104 ;
7210  void *__cil_tmp105 ;
7211  struct device_node *__cil_tmp106 ;
7212  unsigned long __cil_tmp107 ;
7213  unsigned long __cil_tmp108 ;
7214  struct regulator_dev *__cil_tmp109 ;
7215  void const   *__cil_tmp110 ;
7216  unsigned long __cil_tmp111 ;
7217  unsigned long __cil_tmp112 ;
7218  struct regulator_dev *__cil_tmp113 ;
7219  void const   *__cil_tmp114 ;
7220  unsigned long __cil_tmp115 ;
7221  unsigned long __cil_tmp116 ;
7222  struct device *__cil_tmp117 ;
7223  struct device  const  *__cil_tmp118 ;
7224  int __cil_tmp119 ;
7225  unsigned int __cil_tmp120 ;
7226  irqreturn_t (*__cil_tmp121)(int  , void * ) ;
7227  char (*__cil_tmp122)[6U] ;
7228  char const   *__cil_tmp123 ;
7229  void *__cil_tmp124 ;
7230  unsigned long __cil_tmp125 ;
7231  unsigned long __cil_tmp126 ;
7232  struct device *__cil_tmp127 ;
7233  struct device  const  *__cil_tmp128 ;
7234  void *__cil_tmp129 ;
7235  unsigned long __cil_tmp130 ;
7236  unsigned long __cil_tmp131 ;
7237  struct regulator_dev *__cil_tmp132 ;
7238  void const   *__cil_tmp133 ;
7239
7240  {
7241  {
7242#line 857
7243  __cil_tmp15 = (unsigned long )pdev;
7244#line 857
7245  __cil_tmp16 = __cil_tmp15 + 16;
7246#line 857
7247  __cil_tmp17 = *((struct device **)__cil_tmp16);
7248#line 857
7249  __cil_tmp18 = (struct device  const  *)__cil_tmp17;
7250#line 857
7251  tmp = dev_get_drvdata(__cil_tmp18);
7252#line 857
7253  wm831x = (struct wm831x *)tmp;
7254#line 858
7255  __cil_tmp19 = (unsigned long )wm831x;
7256#line 858
7257  __cil_tmp20 = __cil_tmp19 + 168;
7258#line 858
7259  __cil_tmp21 = *((struct device **)__cil_tmp20);
7260#line 858
7261  __cil_tmp22 = (unsigned long )__cil_tmp21;
7262#line 858
7263  __cil_tmp23 = __cil_tmp22 + 280;
7264#line 858
7265  __cil_tmp24 = *((void **)__cil_tmp23);
7266#line 858
7267  pdata = (struct wm831x_pdata *)__cil_tmp24;
7268#line 859
7269  __cil_tmp25 = (unsigned long )pdev;
7270#line 859
7271  __cil_tmp26 = __cil_tmp25 + 8;
7272#line 859
7273  __cil_tmp27 = *((int *)__cil_tmp26);
7274#line 859
7275  id = __cil_tmp27 & 3;
7276#line 864
7277  __cil_tmp28 = & descriptor;
7278#line 864
7279  *((char const   **)__cil_tmp28) = "wm831x_dcdc";
7280#line 864
7281  __cil_tmp29 = (unsigned long )(& descriptor) + 8;
7282#line 864
7283  *((char const   **)__cil_tmp29) = "wm831x_boostp_probe";
7284#line 864
7285  __cil_tmp30 = (unsigned long )(& descriptor) + 16;
7286#line 864
7287  *((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/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7288#line 864
7289  __cil_tmp31 = (unsigned long )(& descriptor) + 24;
7290#line 864
7291  *((char const   **)__cil_tmp31) = "Probing DCDC%d\n";
7292#line 864
7293  __cil_tmp32 = (unsigned long )(& descriptor) + 32;
7294#line 864
7295  *((unsigned int *)__cil_tmp32) = 864U;
7296#line 864
7297  __cil_tmp33 = (unsigned long )(& descriptor) + 35;
7298#line 864
7299  *((unsigned char *)__cil_tmp33) = (unsigned char)1;
7300#line 864
7301  __cil_tmp34 = (unsigned long )(& descriptor) + 35;
7302#line 864
7303  __cil_tmp35 = *((unsigned char *)__cil_tmp34);
7304#line 864
7305  __cil_tmp36 = (long )__cil_tmp35;
7306#line 864
7307  __cil_tmp37 = __cil_tmp36 & 1L;
7308#line 864
7309  tmp___0 = __builtin_expect(__cil_tmp37, 0L);
7310  }
7311#line 864
7312  if (tmp___0 != 0L) {
7313    {
7314#line 864
7315    __cil_tmp38 = (unsigned long )pdev;
7316#line 864
7317    __cil_tmp39 = __cil_tmp38 + 16;
7318#line 864
7319    __cil_tmp40 = (struct device *)__cil_tmp39;
7320#line 864
7321    __cil_tmp41 = (struct device  const  *)__cil_tmp40;
7322#line 864
7323    __cil_tmp42 = id + 1;
7324#line 864
7325    __dynamic_dev_dbg(& descriptor, __cil_tmp41, "Probing DCDC%d\n", __cil_tmp42);
7326    }
7327  } else {
7328
7329  }
7330  {
7331#line 866
7332  __cil_tmp43 = (struct wm831x_pdata *)0;
7333#line 866
7334  __cil_tmp44 = (unsigned long )__cil_tmp43;
7335#line 866
7336  __cil_tmp45 = (unsigned long )pdata;
7337#line 866
7338  if (__cil_tmp45 == __cil_tmp44) {
7339#line 867
7340    return (-19);
7341  } else {
7342    {
7343#line 866
7344    __cil_tmp46 = (struct regulator_init_data *)0;
7345#line 866
7346    __cil_tmp47 = (unsigned long )__cil_tmp46;
7347#line 866
7348    __cil_tmp48 = id * 8UL;
7349#line 866
7350    __cil_tmp49 = 160 + __cil_tmp48;
7351#line 866
7352    __cil_tmp50 = (unsigned long )pdata;
7353#line 866
7354    __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
7355#line 866
7356    __cil_tmp52 = *((struct regulator_init_data **)__cil_tmp51);
7357#line 866
7358    __cil_tmp53 = (unsigned long )__cil_tmp52;
7359#line 866
7360    if (__cil_tmp53 == __cil_tmp47) {
7361#line 867
7362      return (-19);
7363    } else {
7364
7365    }
7366    }
7367  }
7368  }
7369  {
7370#line 869
7371  tmp___1 = kzalloc(96UL, 208U);
7372#line 869
7373  dcdc = (struct wm831x_dcdc *)tmp___1;
7374  }
7375  {
7376#line 870
7377  __cil_tmp54 = (struct wm831x_dcdc *)0;
7378#line 870
7379  __cil_tmp55 = (unsigned long )__cil_tmp54;
7380#line 870
7381  __cil_tmp56 = (unsigned long )dcdc;
7382#line 870
7383  if (__cil_tmp56 == __cil_tmp55) {
7384    {
7385#line 871
7386    __cil_tmp57 = (unsigned long )pdev;
7387#line 871
7388    __cil_tmp58 = __cil_tmp57 + 16;
7389#line 871
7390    __cil_tmp59 = (struct device *)__cil_tmp58;
7391#line 871
7392    __cil_tmp60 = (struct device  const  *)__cil_tmp59;
7393#line 871
7394    dev_err(__cil_tmp60, "Unable to allocate private data\n");
7395    }
7396#line 872
7397    return (-12);
7398  } else {
7399
7400  }
7401  }
7402  {
7403#line 875
7404  __cil_tmp61 = (unsigned long )dcdc;
7405#line 875
7406  __cil_tmp62 = __cil_tmp61 + 64;
7407#line 875
7408  *((struct wm831x **)__cil_tmp62) = wm831x;
7409#line 877
7410  res = platform_get_resource(pdev, 256U, 0U);
7411  }
7412  {
7413#line 878
7414  __cil_tmp63 = (struct resource *)0;
7415#line 878
7416  __cil_tmp64 = (unsigned long )__cil_tmp63;
7417#line 878
7418  __cil_tmp65 = (unsigned long )res;
7419#line 878
7420  if (__cil_tmp65 == __cil_tmp64) {
7421    {
7422#line 879
7423    __cil_tmp66 = (unsigned long )pdev;
7424#line 879
7425    __cil_tmp67 = __cil_tmp66 + 16;
7426#line 879
7427    __cil_tmp68 = (struct device *)__cil_tmp67;
7428#line 879
7429    __cil_tmp69 = (struct device  const  *)__cil_tmp68;
7430#line 879
7431    dev_err(__cil_tmp69, "No I/O resource\n");
7432#line 880
7433    ret = -22;
7434    }
7435#line 881
7436    goto err;
7437  } else {
7438
7439  }
7440  }
7441  {
7442#line 883
7443  __cil_tmp70 = (unsigned long )dcdc;
7444#line 883
7445  __cil_tmp71 = __cil_tmp70 + 56;
7446#line 883
7447  __cil_tmp72 = *((resource_size_t *)res);
7448#line 883
7449  *((int *)__cil_tmp71) = (int )__cil_tmp72;
7450#line 885
7451  __cil_tmp73 = (char (*)[6U])dcdc;
7452#line 885
7453  __cil_tmp74 = (char *)__cil_tmp73;
7454#line 885
7455  __cil_tmp75 = id + 1;
7456#line 885
7457  snprintf(__cil_tmp74, 6UL, "DCDC%d", __cil_tmp75);
7458#line 886
7459  __cil_tmp76 = (unsigned long )dcdc;
7460#line 886
7461  __cil_tmp77 = __cil_tmp76 + 8;
7462#line 886
7463  __cil_tmp78 = (char (*)[6U])dcdc;
7464#line 886
7465  *((char const   **)__cil_tmp77) = (char const   *)__cil_tmp78;
7466#line 887
7467  __cil_tmp79 = 8 + 16;
7468#line 887
7469  __cil_tmp80 = (unsigned long )dcdc;
7470#line 887
7471  __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
7472#line 887
7473  *((int *)__cil_tmp81) = id;
7474#line 888
7475  __cil_tmp82 = 8 + 36;
7476#line 888
7477  __cil_tmp83 = (unsigned long )dcdc;
7478#line 888
7479  __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
7480#line 888
7481  *((enum regulator_type *)__cil_tmp84) = (enum regulator_type )0;
7482#line 889
7483  __cil_tmp85 = 8 + 24;
7484#line 889
7485  __cil_tmp86 = (unsigned long )dcdc;
7486#line 889
7487  __cil_tmp87 = __cil_tmp86 + __cil_tmp85;
7488#line 889
7489  *((struct regulator_ops **)__cil_tmp87) = & wm831x_boostp_ops;
7490#line 890
7491  __cil_tmp88 = 8 + 40;
7492#line 890
7493  __cil_tmp89 = (unsigned long )dcdc;
7494#line 890
7495  __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
7496#line 890
7497  *((struct module **)__cil_tmp90) = & __this_module;
7498#line 892
7499  __cil_tmp91 = (unsigned long )dcdc;
7500#line 892
7501  __cil_tmp92 = __cil_tmp91 + 72;
7502#line 892
7503  __cil_tmp93 = (unsigned long )dcdc;
7504#line 892
7505  __cil_tmp94 = __cil_tmp93 + 8;
7506#line 892
7507  __cil_tmp95 = (struct regulator_desc *)__cil_tmp94;
7508#line 892
7509  __cil_tmp96 = (unsigned long )pdev;
7510#line 892
7511  __cil_tmp97 = __cil_tmp96 + 16;
7512#line 892
7513  __cil_tmp98 = (struct device *)__cil_tmp97;
7514#line 892
7515  __cil_tmp99 = id * 8UL;
7516#line 892
7517  __cil_tmp100 = 160 + __cil_tmp99;
7518#line 892
7519  __cil_tmp101 = (unsigned long )pdata;
7520#line 892
7521  __cil_tmp102 = __cil_tmp101 + __cil_tmp100;
7522#line 892
7523  __cil_tmp103 = *((struct regulator_init_data **)__cil_tmp102);
7524#line 892
7525  __cil_tmp104 = (struct regulator_init_data  const  *)__cil_tmp103;
7526#line 892
7527  __cil_tmp105 = (void *)dcdc;
7528#line 892
7529  __cil_tmp106 = (struct device_node *)0;
7530#line 892
7531  *((struct regulator_dev **)__cil_tmp92) = regulator_register(__cil_tmp95, __cil_tmp98,
7532                                                               __cil_tmp104, __cil_tmp105,
7533                                                               __cil_tmp106);
7534#line 894
7535  __cil_tmp107 = (unsigned long )dcdc;
7536#line 894
7537  __cil_tmp108 = __cil_tmp107 + 72;
7538#line 894
7539  __cil_tmp109 = *((struct regulator_dev **)__cil_tmp108);
7540#line 894
7541  __cil_tmp110 = (void const   *)__cil_tmp109;
7542#line 894
7543  tmp___3 = IS_ERR(__cil_tmp110);
7544  }
7545#line 894
7546  if (tmp___3 != 0L) {
7547    {
7548#line 895
7549    __cil_tmp111 = (unsigned long )dcdc;
7550#line 895
7551    __cil_tmp112 = __cil_tmp111 + 72;
7552#line 895
7553    __cil_tmp113 = *((struct regulator_dev **)__cil_tmp112);
7554#line 895
7555    __cil_tmp114 = (void const   *)__cil_tmp113;
7556#line 895
7557    tmp___2 = PTR_ERR(__cil_tmp114);
7558#line 895
7559    ret = (int )tmp___2;
7560#line 896
7561    __cil_tmp115 = (unsigned long )wm831x;
7562#line 896
7563    __cil_tmp116 = __cil_tmp115 + 168;
7564#line 896
7565    __cil_tmp117 = *((struct device **)__cil_tmp116);
7566#line 896
7567    __cil_tmp118 = (struct device  const  *)__cil_tmp117;
7568#line 896
7569    __cil_tmp119 = id + 1;
7570#line 896
7571    dev_err(__cil_tmp118, "Failed to register DCDC%d: %d\n", __cil_tmp119, ret);
7572    }
7573#line 898
7574    goto err;
7575  } else {
7576
7577  }
7578  {
7579#line 901
7580  irq = platform_get_irq_byname(pdev, "UV");
7581#line 902
7582  __cil_tmp120 = (unsigned int )irq;
7583#line 902
7584  __cil_tmp121 = (irqreturn_t (*)(int  , void * ))0;
7585#line 902
7586  __cil_tmp122 = (char (*)[6U])dcdc;
7587#line 902
7588  __cil_tmp123 = (char const   *)__cil_tmp122;
7589#line 902
7590  __cil_tmp124 = (void *)dcdc;
7591#line 902
7592  ret = request_threaded_irq(__cil_tmp120, __cil_tmp121, & wm831x_dcdc_uv_irq, 1UL,
7593                             __cil_tmp123, __cil_tmp124);
7594  }
7595#line 905
7596  if (ret != 0) {
7597    {
7598#line 906
7599    __cil_tmp125 = (unsigned long )pdev;
7600#line 906
7601    __cil_tmp126 = __cil_tmp125 + 16;
7602#line 906
7603    __cil_tmp127 = (struct device *)__cil_tmp126;
7604#line 906
7605    __cil_tmp128 = (struct device  const  *)__cil_tmp127;
7606#line 906
7607    dev_err(__cil_tmp128, "Failed to request UV IRQ %d: %d\n", irq, ret);
7608    }
7609#line 908
7610    goto err_regulator;
7611  } else {
7612
7613  }
7614  {
7615#line 911
7616  __cil_tmp129 = (void *)dcdc;
7617#line 911
7618  platform_set_drvdata(pdev, __cil_tmp129);
7619  }
7620#line 913
7621  return (0);
7622  err_regulator: 
7623  {
7624#line 916
7625  __cil_tmp130 = (unsigned long )dcdc;
7626#line 916
7627  __cil_tmp131 = __cil_tmp130 + 72;
7628#line 916
7629  __cil_tmp132 = *((struct regulator_dev **)__cil_tmp131);
7630#line 916
7631  regulator_unregister(__cil_tmp132);
7632  }
7633  err: 
7634  {
7635#line 918
7636  __cil_tmp133 = (void const   *)dcdc;
7637#line 918
7638  kfree(__cil_tmp133);
7639  }
7640#line 919
7641  return (ret);
7642}
7643}
7644#line 922 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7645static int wm831x_boostp_remove(struct platform_device *pdev ) 
7646{ struct wm831x_dcdc *dcdc ;
7647  void *tmp ;
7648  int tmp___0 ;
7649  struct platform_device  const  *__cil_tmp5 ;
7650  void *__cil_tmp6 ;
7651  unsigned int __cil_tmp7 ;
7652  void *__cil_tmp8 ;
7653  unsigned long __cil_tmp9 ;
7654  unsigned long __cil_tmp10 ;
7655  struct regulator_dev *__cil_tmp11 ;
7656  void const   *__cil_tmp12 ;
7657
7658  {
7659  {
7660#line 924
7661  __cil_tmp5 = (struct platform_device  const  *)pdev;
7662#line 924
7663  tmp = platform_get_drvdata(__cil_tmp5);
7664#line 924
7665  dcdc = (struct wm831x_dcdc *)tmp;
7666#line 926
7667  __cil_tmp6 = (void *)0;
7668#line 926
7669  platform_set_drvdata(pdev, __cil_tmp6);
7670#line 928
7671  tmp___0 = platform_get_irq_byname(pdev, "UV");
7672#line 928
7673  __cil_tmp7 = (unsigned int )tmp___0;
7674#line 928
7675  __cil_tmp8 = (void *)dcdc;
7676#line 928
7677  free_irq(__cil_tmp7, __cil_tmp8);
7678#line 929
7679  __cil_tmp9 = (unsigned long )dcdc;
7680#line 929
7681  __cil_tmp10 = __cil_tmp9 + 72;
7682#line 929
7683  __cil_tmp11 = *((struct regulator_dev **)__cil_tmp10);
7684#line 929
7685  regulator_unregister(__cil_tmp11);
7686#line 930
7687  __cil_tmp12 = (void const   *)dcdc;
7688#line 930
7689  kfree(__cil_tmp12);
7690  }
7691#line 932
7692  return (0);
7693}
7694}
7695#line 935 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7696static struct platform_driver wm831x_boostp_driver  =    {& wm831x_boostp_probe, & wm831x_boostp_remove, (void (*)(struct platform_device * ))0,
7697    (int (*)(struct platform_device * , pm_message_t  ))0, (int (*)(struct platform_device * ))0,
7698    {"wm831x-boostp", (struct bus_type *)0, & __this_module, (char const   *)0, (_Bool)0,
7699     (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
7700     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
7701     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
7702     (struct driver_private *)0}, (struct platform_device_id  const  *)0};
7703#line 953 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7704static struct regulator_ops wm831x_epe_ops  = 
7705#line 953
7706     {(int (*)(struct regulator_dev * , unsigned int  ))0, (int (*)(struct regulator_dev * ,
7707                                                                  int  , int  , unsigned int * ))0,
7708    (int (*)(struct regulator_dev * , unsigned int  ))0, (int (*)(struct regulator_dev * ))0,
7709    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * , int  ,
7710                                                  int  ))0, (int (*)(struct regulator_dev * ))0,
7711    & wm831x_dcdc_enable, & wm831x_dcdc_disable, & wm831x_dcdc_is_enabled, (int (*)(struct regulator_dev * ,
7712                                                                                    unsigned int  ))0,
7713    (unsigned int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0,
7714    (int (*)(struct regulator_dev * , unsigned int  , unsigned int  ))0, & wm831x_dcdc_get_status,
7715    (unsigned int (*)(struct regulator_dev * , int  , int  , int  ))0, (int (*)(struct regulator_dev * ,
7716                                                                                int  ))0,
7717    (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ))0, (int (*)(struct regulator_dev * ,
7718                                                                                       unsigned int  ))0};
7719#line 960 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
7720static int wm831x_epe_probe(struct platform_device *pdev ) 
7721{ struct wm831x *wm831x ;
7722  void *tmp ;
7723  struct wm831x_pdata *pdata ;
7724  int id ;
7725  struct wm831x_dcdc *dcdc ;
7726  int ret ;
7727  struct _ddebug descriptor ;
7728  long tmp___0 ;
7729  void *tmp___1 ;
7730  long tmp___2 ;
7731  long tmp___3 ;
7732  unsigned long __cil_tmp13 ;
7733  unsigned long __cil_tmp14 ;
7734  struct device *__cil_tmp15 ;
7735  struct device  const  *__cil_tmp16 ;
7736  unsigned long __cil_tmp17 ;
7737  unsigned long __cil_tmp18 ;
7738  struct device *__cil_tmp19 ;
7739  unsigned long __cil_tmp20 ;
7740  unsigned long __cil_tmp21 ;
7741  void *__cil_tmp22 ;
7742  unsigned long __cil_tmp23 ;
7743  unsigned long __cil_tmp24 ;
7744  int __cil_tmp25 ;
7745  struct _ddebug *__cil_tmp26 ;
7746  unsigned long __cil_tmp27 ;
7747  unsigned long __cil_tmp28 ;
7748  unsigned long __cil_tmp29 ;
7749  unsigned long __cil_tmp30 ;
7750  unsigned long __cil_tmp31 ;
7751  unsigned long __cil_tmp32 ;
7752  unsigned char __cil_tmp33 ;
7753  long __cil_tmp34 ;
7754  long __cil_tmp35 ;
7755  unsigned long __cil_tmp36 ;
7756  unsigned long __cil_tmp37 ;
7757  struct device *__cil_tmp38 ;
7758  struct device  const  *__cil_tmp39 ;
7759  int __cil_tmp40 ;
7760  struct wm831x_pdata *__cil_tmp41 ;
7761  unsigned long __cil_tmp42 ;
7762  unsigned long __cil_tmp43 ;
7763  struct regulator_init_data *__cil_tmp44 ;
7764  unsigned long __cil_tmp45 ;
7765  unsigned long __cil_tmp46 ;
7766  unsigned long __cil_tmp47 ;
7767  unsigned long __cil_tmp48 ;
7768  unsigned long __cil_tmp49 ;
7769  struct regulator_init_data *__cil_tmp50 ;
7770  unsigned long __cil_tmp51 ;
7771  struct wm831x_dcdc *__cil_tmp52 ;
7772  unsigned long __cil_tmp53 ;
7773  unsigned long __cil_tmp54 ;
7774  unsigned long __cil_tmp55 ;
7775  unsigned long __cil_tmp56 ;
7776  struct device *__cil_tmp57 ;
7777  struct device  const  *__cil_tmp58 ;
7778  unsigned long __cil_tmp59 ;
7779  unsigned long __cil_tmp60 ;
7780  char (*__cil_tmp61)[6U] ;
7781  char *__cil_tmp62 ;
7782  int __cil_tmp63 ;
7783  unsigned long __cil_tmp64 ;
7784  unsigned long __cil_tmp65 ;
7785  char (*__cil_tmp66)[6U] ;
7786  unsigned long __cil_tmp67 ;
7787  unsigned long __cil_tmp68 ;
7788  unsigned long __cil_tmp69 ;
7789  unsigned long __cil_tmp70 ;
7790  unsigned long __cil_tmp71 ;
7791  unsigned long __cil_tmp72 ;
7792  unsigned long __cil_tmp73 ;
7793  unsigned long __cil_tmp74 ;
7794  unsigned long __cil_tmp75 ;
7795  unsigned long __cil_tmp76 ;
7796  unsigned long __cil_tmp77 ;
7797  unsigned long __cil_tmp78 ;
7798  unsigned long __cil_tmp79 ;
7799  unsigned long __cil_tmp80 ;
7800  unsigned long __cil_tmp81 ;
7801  unsigned long __cil_tmp82 ;
7802  struct regulator_desc *__cil_tmp83 ;
7803  unsigned long __cil_tmp84 ;
7804  unsigned long __cil_tmp85 ;
7805  struct device *__cil_tmp86 ;
7806  unsigned long __cil_tmp87 ;
7807  unsigned long __cil_tmp88 ;
7808  unsigned long __cil_tmp89 ;
7809  unsigned long __cil_tmp90 ;
7810  struct regulator_init_data *__cil_tmp91 ;
7811  struct regulator_init_data  const  *__cil_tmp92 ;
7812  void *__cil_tmp93 ;
7813  struct device_node *__cil_tmp94 ;
7814  unsigned long __cil_tmp95 ;
7815  unsigned long __cil_tmp96 ;
7816  struct regulator_dev *__cil_tmp97 ;
7817  void const   *__cil_tmp98 ;
7818  unsigned long __cil_tmp99 ;
7819  unsigned long __cil_tmp100 ;
7820  struct regulator_dev *__cil_tmp101 ;
7821  void const   *__cil_tmp102 ;
7822  unsigned long __cil_tmp103 ;
7823  unsigned long __cil_tmp104 ;
7824  struct device *__cil_tmp105 ;
7825  struct device  const  *__cil_tmp106 ;
7826  int __cil_tmp107 ;
7827  void *__cil_tmp108 ;
7828  void const   *__cil_tmp109 ;
7829
7830  {
7831  {
7832#line 962
7833  __cil_tmp13 = (unsigned long )pdev;
7834#line 962
7835  __cil_tmp14 = __cil_tmp13 + 16;
7836#line 962
7837  __cil_tmp15 = *((struct device **)__cil_tmp14);
7838#line 962
7839  __cil_tmp16 = (struct device  const  *)__cil_tmp15;
7840#line 962
7841  tmp = dev_get_drvdata(__cil_tmp16);
7842#line 962
7843  wm831x = (struct wm831x *)tmp;
7844#line 963
7845  __cil_tmp17 = (unsigned long )wm831x;
7846#line 963
7847  __cil_tmp18 = __cil_tmp17 + 168;
7848#line 963
7849  __cil_tmp19 = *((struct device **)__cil_tmp18);
7850#line 963
7851  __cil_tmp20 = (unsigned long )__cil_tmp19;
7852#line 963
7853  __cil_tmp21 = __cil_tmp20 + 280;
7854#line 963
7855  __cil_tmp22 = *((void **)__cil_tmp21);
7856#line 963
7857  pdata = (struct wm831x_pdata *)__cil_tmp22;
7858#line 964
7859  __cil_tmp23 = (unsigned long )pdev;
7860#line 964
7861  __cil_tmp24 = __cil_tmp23 + 8;
7862#line 964
7863  __cil_tmp25 = *((int *)__cil_tmp24);
7864#line 964
7865  id = __cil_tmp25 & 1;
7866#line 968
7867  __cil_tmp26 = & descriptor;
7868#line 968
7869  *((char const   **)__cil_tmp26) = "wm831x_dcdc";
7870#line 968
7871  __cil_tmp27 = (unsigned long )(& descriptor) + 8;
7872#line 968
7873  *((char const   **)__cil_tmp27) = "wm831x_epe_probe";
7874#line 968
7875  __cil_tmp28 = (unsigned long )(& descriptor) + 16;
7876#line 968
7877  *((char const   **)__cil_tmp28) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p";
7878#line 968
7879  __cil_tmp29 = (unsigned long )(& descriptor) + 24;
7880#line 968
7881  *((char const   **)__cil_tmp29) = "Probing EPE%d\n";
7882#line 968
7883  __cil_tmp30 = (unsigned long )(& descriptor) + 32;
7884#line 968
7885  *((unsigned int *)__cil_tmp30) = 968U;
7886#line 968
7887  __cil_tmp31 = (unsigned long )(& descriptor) + 35;
7888#line 968
7889  *((unsigned char *)__cil_tmp31) = (unsigned char)1;
7890#line 968
7891  __cil_tmp32 = (unsigned long )(& descriptor) + 35;
7892#line 968
7893  __cil_tmp33 = *((unsigned char *)__cil_tmp32);
7894#line 968
7895  __cil_tmp34 = (long )__cil_tmp33;
7896#line 968
7897  __cil_tmp35 = __cil_tmp34 & 1L;
7898#line 968
7899  tmp___0 = __builtin_expect(__cil_tmp35, 0L);
7900  }
7901#line 968
7902  if (tmp___0 != 0L) {
7903    {
7904#line 968
7905    __cil_tmp36 = (unsigned long )pdev;
7906#line 968
7907    __cil_tmp37 = __cil_tmp36 + 16;
7908#line 968
7909    __cil_tmp38 = (struct device *)__cil_tmp37;
7910#line 968
7911    __cil_tmp39 = (struct device  const  *)__cil_tmp38;
7912#line 968
7913    __cil_tmp40 = id + 1;
7914#line 968
7915    __dynamic_dev_dbg(& descriptor, __cil_tmp39, "Probing EPE%d\n", __cil_tmp40);
7916    }
7917  } else {
7918
7919  }
7920  {
7921#line 970
7922  __cil_tmp41 = (struct wm831x_pdata *)0;
7923#line 970
7924  __cil_tmp42 = (unsigned long )__cil_tmp41;
7925#line 970
7926  __cil_tmp43 = (unsigned long )pdata;
7927#line 970
7928  if (__cil_tmp43 == __cil_tmp42) {
7929#line 971
7930    return (-19);
7931  } else {
7932    {
7933#line 970
7934    __cil_tmp44 = (struct regulator_init_data *)0;
7935#line 970
7936    __cil_tmp45 = (unsigned long )__cil_tmp44;
7937#line 970
7938    __cil_tmp46 = id * 8UL;
7939#line 970
7940    __cil_tmp47 = 192 + __cil_tmp46;
7941#line 970
7942    __cil_tmp48 = (unsigned long )pdata;
7943#line 970
7944    __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
7945#line 970
7946    __cil_tmp50 = *((struct regulator_init_data **)__cil_tmp49);
7947#line 970
7948    __cil_tmp51 = (unsigned long )__cil_tmp50;
7949#line 970
7950    if (__cil_tmp51 == __cil_tmp45) {
7951#line 971
7952      return (-19);
7953    } else {
7954
7955    }
7956    }
7957  }
7958  }
7959  {
7960#line 973
7961  tmp___1 = kzalloc(96UL, 208U);
7962#line 973
7963  dcdc = (struct wm831x_dcdc *)tmp___1;
7964  }
7965  {
7966#line 974
7967  __cil_tmp52 = (struct wm831x_dcdc *)0;
7968#line 974
7969  __cil_tmp53 = (unsigned long )__cil_tmp52;
7970#line 974
7971  __cil_tmp54 = (unsigned long )dcdc;
7972#line 974
7973  if (__cil_tmp54 == __cil_tmp53) {
7974    {
7975#line 975
7976    __cil_tmp55 = (unsigned long )pdev;
7977#line 975
7978    __cil_tmp56 = __cil_tmp55 + 16;
7979#line 975
7980    __cil_tmp57 = (struct device *)__cil_tmp56;
7981#line 975
7982    __cil_tmp58 = (struct device  const  *)__cil_tmp57;
7983#line 975
7984    dev_err(__cil_tmp58, "Unable to allocate private data\n");
7985    }
7986#line 976
7987    return (-12);
7988  } else {
7989
7990  }
7991  }
7992  {
7993#line 979
7994  __cil_tmp59 = (unsigned long )dcdc;
7995#line 979
7996  __cil_tmp60 = __cil_tmp59 + 64;
7997#line 979
7998  *((struct wm831x **)__cil_tmp60) = wm831x;
7999#line 984
8000  __cil_tmp61 = (char (*)[6U])dcdc;
8001#line 984
8002  __cil_tmp62 = (char *)__cil_tmp61;
8003#line 984
8004  __cil_tmp63 = id + 1;
8005#line 984
8006  snprintf(__cil_tmp62, 6UL, "EPE%d", __cil_tmp63);
8007#line 985
8008  __cil_tmp64 = (unsigned long )dcdc;
8009#line 985
8010  __cil_tmp65 = __cil_tmp64 + 8;
8011#line 985
8012  __cil_tmp66 = (char (*)[6U])dcdc;
8013#line 985
8014  *((char const   **)__cil_tmp65) = (char const   *)__cil_tmp66;
8015#line 986
8016  __cil_tmp67 = 8 + 16;
8017#line 986
8018  __cil_tmp68 = (unsigned long )dcdc;
8019#line 986
8020  __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
8021#line 986
8022  *((int *)__cil_tmp69) = id + 6;
8023#line 987
8024  __cil_tmp70 = 8 + 24;
8025#line 987
8026  __cil_tmp71 = (unsigned long )dcdc;
8027#line 987
8028  __cil_tmp72 = __cil_tmp71 + __cil_tmp70;
8029#line 987
8030  *((struct regulator_ops **)__cil_tmp72) = & wm831x_epe_ops;
8031#line 988
8032  __cil_tmp73 = 8 + 36;
8033#line 988
8034  __cil_tmp74 = (unsigned long )dcdc;
8035#line 988
8036  __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
8037#line 988
8038  *((enum regulator_type *)__cil_tmp75) = (enum regulator_type )0;
8039#line 989
8040  __cil_tmp76 = 8 + 40;
8041#line 989
8042  __cil_tmp77 = (unsigned long )dcdc;
8043#line 989
8044  __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
8045#line 989
8046  *((struct module **)__cil_tmp78) = & __this_module;
8047#line 991
8048  __cil_tmp79 = (unsigned long )dcdc;
8049#line 991
8050  __cil_tmp80 = __cil_tmp79 + 72;
8051#line 991
8052  __cil_tmp81 = (unsigned long )dcdc;
8053#line 991
8054  __cil_tmp82 = __cil_tmp81 + 8;
8055#line 991
8056  __cil_tmp83 = (struct regulator_desc *)__cil_tmp82;
8057#line 991
8058  __cil_tmp84 = (unsigned long )pdev;
8059#line 991
8060  __cil_tmp85 = __cil_tmp84 + 16;
8061#line 991
8062  __cil_tmp86 = (struct device *)__cil_tmp85;
8063#line 991
8064  __cil_tmp87 = id * 8UL;
8065#line 991
8066  __cil_tmp88 = 192 + __cil_tmp87;
8067#line 991
8068  __cil_tmp89 = (unsigned long )pdata;
8069#line 991
8070  __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
8071#line 991
8072  __cil_tmp91 = *((struct regulator_init_data **)__cil_tmp90);
8073#line 991
8074  __cil_tmp92 = (struct regulator_init_data  const  *)__cil_tmp91;
8075#line 991
8076  __cil_tmp93 = (void *)dcdc;
8077#line 991
8078  __cil_tmp94 = (struct device_node *)0;
8079#line 991
8080  *((struct regulator_dev **)__cil_tmp80) = regulator_register(__cil_tmp83, __cil_tmp86,
8081                                                               __cil_tmp92, __cil_tmp93,
8082                                                               __cil_tmp94);
8083#line 993
8084  __cil_tmp95 = (unsigned long )dcdc;
8085#line 993
8086  __cil_tmp96 = __cil_tmp95 + 72;
8087#line 993
8088  __cil_tmp97 = *((struct regulator_dev **)__cil_tmp96);
8089#line 993
8090  __cil_tmp98 = (void const   *)__cil_tmp97;
8091#line 993
8092  tmp___3 = IS_ERR(__cil_tmp98);
8093  }
8094#line 993
8095  if (tmp___3 != 0L) {
8096    {
8097#line 994
8098    __cil_tmp99 = (unsigned long )dcdc;
8099#line 994
8100    __cil_tmp100 = __cil_tmp99 + 72;
8101#line 994
8102    __cil_tmp101 = *((struct regulator_dev **)__cil_tmp100);
8103#line 994
8104    __cil_tmp102 = (void const   *)__cil_tmp101;
8105#line 994
8106    tmp___2 = PTR_ERR(__cil_tmp102);
8107#line 994
8108    ret = (int )tmp___2;
8109#line 995
8110    __cil_tmp103 = (unsigned long )wm831x;
8111#line 995
8112    __cil_tmp104 = __cil_tmp103 + 168;
8113#line 995
8114    __cil_tmp105 = *((struct device **)__cil_tmp104);
8115#line 995
8116    __cil_tmp106 = (struct device  const  *)__cil_tmp105;
8117#line 995
8118    __cil_tmp107 = id + 1;
8119#line 995
8120    dev_err(__cil_tmp106, "Failed to register EPE%d: %d\n", __cil_tmp107, ret);
8121    }
8122#line 997
8123    goto err;
8124  } else {
8125
8126  }
8127  {
8128#line 1000
8129  __cil_tmp108 = (void *)dcdc;
8130#line 1000
8131  platform_set_drvdata(pdev, __cil_tmp108);
8132  }
8133#line 1002
8134  return (0);
8135  err: 
8136  {
8137#line 1005
8138  __cil_tmp109 = (void const   *)dcdc;
8139#line 1005
8140  kfree(__cil_tmp109);
8141  }
8142#line 1006
8143  return (ret);
8144}
8145}
8146#line 1009 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8147static int wm831x_epe_remove(struct platform_device *pdev ) 
8148{ struct wm831x_dcdc *dcdc ;
8149  void *tmp ;
8150  struct platform_device  const  *__cil_tmp4 ;
8151  void *__cil_tmp5 ;
8152  unsigned long __cil_tmp6 ;
8153  unsigned long __cil_tmp7 ;
8154  struct regulator_dev *__cil_tmp8 ;
8155  void const   *__cil_tmp9 ;
8156
8157  {
8158  {
8159#line 1011
8160  __cil_tmp4 = (struct platform_device  const  *)pdev;
8161#line 1011
8162  tmp = platform_get_drvdata(__cil_tmp4);
8163#line 1011
8164  dcdc = (struct wm831x_dcdc *)tmp;
8165#line 1013
8166  __cil_tmp5 = (void *)0;
8167#line 1013
8168  platform_set_drvdata(pdev, __cil_tmp5);
8169#line 1015
8170  __cil_tmp6 = (unsigned long )dcdc;
8171#line 1015
8172  __cil_tmp7 = __cil_tmp6 + 72;
8173#line 1015
8174  __cil_tmp8 = *((struct regulator_dev **)__cil_tmp7);
8175#line 1015
8176  regulator_unregister(__cil_tmp8);
8177#line 1016
8178  __cil_tmp9 = (void const   *)dcdc;
8179#line 1016
8180  kfree(__cil_tmp9);
8181  }
8182#line 1018
8183  return (0);
8184}
8185}
8186#line 1021 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8187static struct platform_driver wm831x_epe_driver  =    {& wm831x_epe_probe, & wm831x_epe_remove, (void (*)(struct platform_device * ))0,
8188    (int (*)(struct platform_device * , pm_message_t  ))0, (int (*)(struct platform_device * ))0,
8189    {"wm831x-epe", (struct bus_type *)0, & __this_module, (char const   *)0, (_Bool)0,
8190     (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
8191     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
8192     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
8193     (struct driver_private *)0}, (struct platform_device_id  const  *)0};
8194#line 1030 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8195static int wm831x_dcdc_init(void) 
8196{ int ret ;
8197
8198  {
8199  {
8200#line 1033
8201  ret = platform_driver_register(& wm831x_buckv_driver);
8202  }
8203#line 1034
8204  if (ret != 0) {
8205    {
8206#line 1035
8207    printk("<3>Failed to register WM831x BUCKV driver: %d\n", ret);
8208    }
8209  } else {
8210
8211  }
8212  {
8213#line 1037
8214  ret = platform_driver_register(& wm831x_buckp_driver);
8215  }
8216#line 1038
8217  if (ret != 0) {
8218    {
8219#line 1039
8220    printk("<3>Failed to register WM831x BUCKP driver: %d\n", ret);
8221    }
8222  } else {
8223
8224  }
8225  {
8226#line 1041
8227  ret = platform_driver_register(& wm831x_boostp_driver);
8228  }
8229#line 1042
8230  if (ret != 0) {
8231    {
8232#line 1043
8233    printk("<3>Failed to register WM831x BOOST driver: %d\n", ret);
8234    }
8235  } else {
8236
8237  }
8238  {
8239#line 1045
8240  ret = platform_driver_register(& wm831x_epe_driver);
8241  }
8242#line 1046
8243  if (ret != 0) {
8244    {
8245#line 1047
8246    printk("<3>Failed to register WM831x EPE driver: %d\n", ret);
8247    }
8248  } else {
8249
8250  }
8251#line 1049
8252  return (0);
8253}
8254}
8255#line 1053 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8256static void wm831x_dcdc_exit(void) 
8257{ 
8258
8259  {
8260  {
8261#line 1055
8262  platform_driver_unregister(& wm831x_epe_driver);
8263#line 1056
8264  platform_driver_unregister(& wm831x_boostp_driver);
8265#line 1057
8266  platform_driver_unregister(& wm831x_buckp_driver);
8267#line 1058
8268  platform_driver_unregister(& wm831x_buckv_driver);
8269  }
8270#line 1059
8271  return;
8272}
8273}
8274#line 1086
8275extern void ldv_check_final_state(void) ;
8276#line 1089
8277extern void ldv_check_return_value(int  ) ;
8278#line 1092
8279extern void ldv_initialize(void) ;
8280#line 1095
8281extern int __VERIFIER_nondet_int(void) ;
8282#line 1098 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8283int LDV_IN_INTERRUPT  ;
8284#line 1101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8285void main(void) 
8286{ struct regulator_dev *var_group1 ;
8287  int var_wm831x_buckv_set_voltage_13_p1 ;
8288  int var_wm831x_buckv_set_voltage_13_p2 ;
8289  unsigned int *var_wm831x_buckv_set_voltage_13_p3 ;
8290  unsigned int var_wm831x_buckv_list_voltage_10_p1 ;
8291  int var_wm831x_buckv_set_suspend_voltage_14_p1 ;
8292  int var_wm831x_buckv_set_current_limit_16_p1 ;
8293  int var_wm831x_buckv_set_current_limit_16_p2 ;
8294  unsigned int var_wm831x_dcdc_set_mode_5_p1 ;
8295  unsigned int var_wm831x_dcdc_set_suspend_mode_6_p1 ;
8296  struct platform_device *var_group2 ;
8297  int res_wm831x_buckv_probe_19 ;
8298  int var_wm831x_buckp_set_voltage_23_p1 ;
8299  int var_wm831x_buckp_set_voltage_23_p2 ;
8300  unsigned int *var_wm831x_buckp_set_voltage_23_p3 ;
8301  unsigned int var_wm831x_buckp_list_voltage_21_p1 ;
8302  int var_wm831x_buckp_set_suspend_voltage_24_p1 ;
8303  int res_wm831x_buckp_probe_26 ;
8304  int res_wm831x_boostp_probe_29 ;
8305  int res_wm831x_epe_probe_31 ;
8306  int var_wm831x_dcdc_oc_irq_9_p0 ;
8307  void *var_wm831x_dcdc_oc_irq_9_p1 ;
8308  int var_wm831x_dcdc_uv_irq_8_p0 ;
8309  void *var_wm831x_dcdc_uv_irq_8_p1 ;
8310  int ldv_s_wm831x_buckv_driver_platform_driver ;
8311  int ldv_s_wm831x_buckp_driver_platform_driver ;
8312  int ldv_s_wm831x_boostp_driver_platform_driver ;
8313  int ldv_s_wm831x_epe_driver_platform_driver ;
8314  int tmp ;
8315  int tmp___0 ;
8316  int tmp___1 ;
8317
8318  {
8319  {
8320#line 1894
8321  ldv_s_wm831x_buckv_driver_platform_driver = 0;
8322#line 1898
8323  ldv_s_wm831x_buckp_driver_platform_driver = 0;
8324#line 1902
8325  ldv_s_wm831x_boostp_driver_platform_driver = 0;
8326#line 1906
8327  ldv_s_wm831x_epe_driver_platform_driver = 0;
8328#line 1861
8329  LDV_IN_INTERRUPT = 1;
8330#line 1870
8331  ldv_initialize();
8332#line 1890
8333  tmp = wm831x_dcdc_init();
8334  }
8335#line 1890
8336  if (tmp != 0) {
8337#line 1891
8338    goto ldv_final;
8339  } else {
8340
8341  }
8342#line 1911
8343  goto ldv_24952;
8344  ldv_24951: 
8345  {
8346#line 1918
8347  tmp___0 = __VERIFIER_nondet_int();
8348  }
8349#line 1920
8350  if (tmp___0 == 0) {
8351#line 1920
8352    goto case_0;
8353  } else
8354#line 1952
8355  if (tmp___0 == 1) {
8356#line 1952
8357    goto case_1;
8358  } else
8359#line 1984
8360  if (tmp___0 == 2) {
8361#line 1984
8362    goto case_2;
8363  } else
8364#line 2016
8365  if (tmp___0 == 3) {
8366#line 2016
8367    goto case_3;
8368  } else
8369#line 2048
8370  if (tmp___0 == 4) {
8371#line 2048
8372    goto case_4;
8373  } else
8374#line 2080
8375  if (tmp___0 == 5) {
8376#line 2080
8377    goto case_5;
8378  } else
8379#line 2112
8380  if (tmp___0 == 6) {
8381#line 2112
8382    goto case_6;
8383  } else
8384#line 2144
8385  if (tmp___0 == 7) {
8386#line 2144
8387    goto case_7;
8388  } else
8389#line 2176
8390  if (tmp___0 == 8) {
8391#line 2176
8392    goto case_8;
8393  } else
8394#line 2208
8395  if (tmp___0 == 9) {
8396#line 2208
8397    goto case_9;
8398  } else
8399#line 2240
8400  if (tmp___0 == 10) {
8401#line 2240
8402    goto case_10;
8403  } else
8404#line 2272
8405  if (tmp___0 == 11) {
8406#line 2272
8407    goto case_11;
8408  } else
8409#line 2304
8410  if (tmp___0 == 12) {
8411#line 2304
8412    goto case_12;
8413  } else
8414#line 2336
8415  if (tmp___0 == 13) {
8416#line 2336
8417    goto case_13;
8418  } else
8419#line 2371
8420  if (tmp___0 == 14) {
8421#line 2371
8422    goto case_14;
8423  } else
8424#line 2403
8425  if (tmp___0 == 15) {
8426#line 2403
8427    goto case_15;
8428  } else
8429#line 2435
8430  if (tmp___0 == 16) {
8431#line 2435
8432    goto case_16;
8433  } else
8434#line 2467
8435  if (tmp___0 == 17) {
8436#line 2467
8437    goto case_17;
8438  } else
8439#line 2499
8440  if (tmp___0 == 18) {
8441#line 2499
8442    goto case_18;
8443  } else
8444#line 2531
8445  if (tmp___0 == 19) {
8446#line 2531
8447    goto case_19;
8448  } else
8449#line 2563
8450  if (tmp___0 == 20) {
8451#line 2563
8452    goto case_20;
8453  } else
8454#line 2595
8455  if (tmp___0 == 21) {
8456#line 2595
8457    goto case_21;
8458  } else
8459#line 2627
8460  if (tmp___0 == 22) {
8461#line 2627
8462    goto case_22;
8463  } else
8464#line 2659
8465  if (tmp___0 == 23) {
8466#line 2659
8467    goto case_23;
8468  } else
8469#line 2691
8470  if (tmp___0 == 24) {
8471#line 2691
8472    goto case_24;
8473  } else
8474#line 2723
8475  if (tmp___0 == 25) {
8476#line 2723
8477    goto case_25;
8478  } else
8479#line 2758
8480  if (tmp___0 == 26) {
8481#line 2758
8482    goto case_26;
8483  } else
8484#line 2790
8485  if (tmp___0 == 27) {
8486#line 2790
8487    goto case_27;
8488  } else
8489#line 2822
8490  if (tmp___0 == 28) {
8491#line 2822
8492    goto case_28;
8493  } else
8494#line 2854
8495  if (tmp___0 == 29) {
8496#line 2854
8497    goto case_29;
8498  } else
8499#line 2886
8500  if (tmp___0 == 30) {
8501#line 2886
8502    goto case_30;
8503  } else
8504#line 2921
8505  if (tmp___0 == 31) {
8506#line 2921
8507    goto case_31;
8508  } else
8509#line 2953
8510  if (tmp___0 == 32) {
8511#line 2953
8512    goto case_32;
8513  } else
8514#line 2985
8515  if (tmp___0 == 33) {
8516#line 2985
8517    goto case_33;
8518  } else
8519#line 3017
8520  if (tmp___0 == 34) {
8521#line 3017
8522    goto case_34;
8523  } else
8524#line 3049
8525  if (tmp___0 == 35) {
8526#line 3049
8527    goto case_35;
8528  } else
8529#line 3082
8530  if (tmp___0 == 36) {
8531#line 3082
8532    goto case_36;
8533  } else
8534#line 3114
8535  if (tmp___0 == 37) {
8536#line 3114
8537    goto case_37;
8538  } else {
8539    {
8540#line 3146
8541    goto switch_default;
8542#line 1918
8543    if (0) {
8544      case_0: /* CIL Label */ 
8545      {
8546#line 1941
8547      wm831x_buckv_set_voltage(var_group1, var_wm831x_buckv_set_voltage_13_p1, var_wm831x_buckv_set_voltage_13_p2,
8548                               var_wm831x_buckv_set_voltage_13_p3);
8549      }
8550#line 1951
8551      goto ldv_24911;
8552      case_1: /* CIL Label */ 
8553      {
8554#line 1973
8555      wm831x_buckv_get_voltage_sel(var_group1);
8556      }
8557#line 1983
8558      goto ldv_24911;
8559      case_2: /* CIL Label */ 
8560      {
8561#line 2005
8562      wm831x_buckv_list_voltage(var_group1, var_wm831x_buckv_list_voltage_10_p1);
8563      }
8564#line 2015
8565      goto ldv_24911;
8566      case_3: /* CIL Label */ 
8567      {
8568#line 2037
8569      wm831x_buckv_set_suspend_voltage(var_group1, var_wm831x_buckv_set_suspend_voltage_14_p1);
8570      }
8571#line 2047
8572      goto ldv_24911;
8573      case_4: /* CIL Label */ 
8574      {
8575#line 2069
8576      wm831x_buckv_set_current_limit(var_group1, var_wm831x_buckv_set_current_limit_16_p1,
8577                                     var_wm831x_buckv_set_current_limit_16_p2);
8578      }
8579#line 2079
8580      goto ldv_24911;
8581      case_5: /* CIL Label */ 
8582      {
8583#line 2101
8584      wm831x_buckv_get_current_limit(var_group1);
8585      }
8586#line 2111
8587      goto ldv_24911;
8588      case_6: /* CIL Label */ 
8589      {
8590#line 2133
8591      wm831x_dcdc_is_enabled(var_group1);
8592      }
8593#line 2143
8594      goto ldv_24911;
8595      case_7: /* CIL Label */ 
8596      {
8597#line 2165
8598      wm831x_dcdc_enable(var_group1);
8599      }
8600#line 2175
8601      goto ldv_24911;
8602      case_8: /* CIL Label */ 
8603      {
8604#line 2197
8605      wm831x_dcdc_disable(var_group1);
8606      }
8607#line 2207
8608      goto ldv_24911;
8609      case_9: /* CIL Label */ 
8610      {
8611#line 2229
8612      wm831x_dcdc_get_status(var_group1);
8613      }
8614#line 2239
8615      goto ldv_24911;
8616      case_10: /* CIL Label */ 
8617      {
8618#line 2261
8619      wm831x_dcdc_get_mode(var_group1);
8620      }
8621#line 2271
8622      goto ldv_24911;
8623      case_11: /* CIL Label */ 
8624      {
8625#line 2293
8626      wm831x_dcdc_set_mode(var_group1, var_wm831x_dcdc_set_mode_5_p1);
8627      }
8628#line 2303
8629      goto ldv_24911;
8630      case_12: /* CIL Label */ 
8631      {
8632#line 2325
8633      wm831x_dcdc_set_suspend_mode(var_group1, var_wm831x_dcdc_set_suspend_mode_6_p1);
8634      }
8635#line 2335
8636      goto ldv_24911;
8637      case_13: /* CIL Label */ ;
8638#line 2339
8639      if (ldv_s_wm831x_buckv_driver_platform_driver == 0) {
8640        {
8641#line 2357
8642        res_wm831x_buckv_probe_19 = wm831x_buckv_probe(var_group2);
8643#line 2358
8644        ldv_check_return_value(res_wm831x_buckv_probe_19);
8645        }
8646#line 2359
8647        if (res_wm831x_buckv_probe_19 != 0) {
8648#line 2360
8649          goto ldv_module_exit;
8650        } else {
8651
8652        }
8653#line 2364
8654        ldv_s_wm831x_buckv_driver_platform_driver = 0;
8655      } else {
8656
8657      }
8658#line 2370
8659      goto ldv_24911;
8660      case_14: /* CIL Label */ 
8661      {
8662#line 2392
8663      wm831x_buckp_set_voltage(var_group1, var_wm831x_buckp_set_voltage_23_p1, var_wm831x_buckp_set_voltage_23_p2,
8664                               var_wm831x_buckp_set_voltage_23_p3);
8665      }
8666#line 2402
8667      goto ldv_24911;
8668      case_15: /* CIL Label */ 
8669      {
8670#line 2424
8671      wm831x_buckp_get_voltage_sel(var_group1);
8672      }
8673#line 2434
8674      goto ldv_24911;
8675      case_16: /* CIL Label */ 
8676      {
8677#line 2456
8678      wm831x_buckp_list_voltage(var_group1, var_wm831x_buckp_list_voltage_21_p1);
8679      }
8680#line 2466
8681      goto ldv_24911;
8682      case_17: /* CIL Label */ 
8683      {
8684#line 2488
8685      wm831x_buckp_set_suspend_voltage(var_group1, var_wm831x_buckp_set_suspend_voltage_24_p1);
8686      }
8687#line 2498
8688      goto ldv_24911;
8689      case_18: /* CIL Label */ 
8690      {
8691#line 2520
8692      wm831x_dcdc_is_enabled(var_group1);
8693      }
8694#line 2530
8695      goto ldv_24911;
8696      case_19: /* CIL Label */ 
8697      {
8698#line 2552
8699      wm831x_dcdc_enable(var_group1);
8700      }
8701#line 2562
8702      goto ldv_24911;
8703      case_20: /* CIL Label */ 
8704      {
8705#line 2584
8706      wm831x_dcdc_disable(var_group1);
8707      }
8708#line 2594
8709      goto ldv_24911;
8710      case_21: /* CIL Label */ 
8711      {
8712#line 2616
8713      wm831x_dcdc_get_status(var_group1);
8714      }
8715#line 2626
8716      goto ldv_24911;
8717      case_22: /* CIL Label */ 
8718      {
8719#line 2648
8720      wm831x_dcdc_get_mode(var_group1);
8721      }
8722#line 2658
8723      goto ldv_24911;
8724      case_23: /* CIL Label */ 
8725      {
8726#line 2680
8727      wm831x_dcdc_set_mode(var_group1, var_wm831x_dcdc_set_mode_5_p1);
8728      }
8729#line 2690
8730      goto ldv_24911;
8731      case_24: /* CIL Label */ 
8732      {
8733#line 2712
8734      wm831x_dcdc_set_suspend_mode(var_group1, var_wm831x_dcdc_set_suspend_mode_6_p1);
8735      }
8736#line 2722
8737      goto ldv_24911;
8738      case_25: /* CIL Label */ ;
8739#line 2726
8740      if (ldv_s_wm831x_buckp_driver_platform_driver == 0) {
8741        {
8742#line 2744
8743        res_wm831x_buckp_probe_26 = wm831x_buckp_probe(var_group2);
8744#line 2745
8745        ldv_check_return_value(res_wm831x_buckp_probe_26);
8746        }
8747#line 2746
8748        if (res_wm831x_buckp_probe_26 != 0) {
8749#line 2747
8750          goto ldv_module_exit;
8751        } else {
8752
8753        }
8754#line 2751
8755        ldv_s_wm831x_buckp_driver_platform_driver = 0;
8756      } else {
8757
8758      }
8759#line 2757
8760      goto ldv_24911;
8761      case_26: /* CIL Label */ 
8762      {
8763#line 2779
8764      wm831x_boostp_get_status(var_group1);
8765      }
8766#line 2789
8767      goto ldv_24911;
8768      case_27: /* CIL Label */ 
8769      {
8770#line 2811
8771      wm831x_dcdc_is_enabled(var_group1);
8772      }
8773#line 2821
8774      goto ldv_24911;
8775      case_28: /* CIL Label */ 
8776      {
8777#line 2843
8778      wm831x_dcdc_enable(var_group1);
8779      }
8780#line 2853
8781      goto ldv_24911;
8782      case_29: /* CIL Label */ 
8783      {
8784#line 2875
8785      wm831x_dcdc_disable(var_group1);
8786      }
8787#line 2885
8788      goto ldv_24911;
8789      case_30: /* CIL Label */ ;
8790#line 2889
8791      if (ldv_s_wm831x_boostp_driver_platform_driver == 0) {
8792        {
8793#line 2907
8794        res_wm831x_boostp_probe_29 = wm831x_boostp_probe(var_group2);
8795#line 2908
8796        ldv_check_return_value(res_wm831x_boostp_probe_29);
8797        }
8798#line 2909
8799        if (res_wm831x_boostp_probe_29 != 0) {
8800#line 2910
8801          goto ldv_module_exit;
8802        } else {
8803
8804        }
8805#line 2914
8806        ldv_s_wm831x_boostp_driver_platform_driver = 0;
8807      } else {
8808
8809      }
8810#line 2920
8811      goto ldv_24911;
8812      case_31: /* CIL Label */ 
8813      {
8814#line 2942
8815      wm831x_dcdc_is_enabled(var_group1);
8816      }
8817#line 2952
8818      goto ldv_24911;
8819      case_32: /* CIL Label */ 
8820      {
8821#line 2974
8822      wm831x_dcdc_enable(var_group1);
8823      }
8824#line 2984
8825      goto ldv_24911;
8826      case_33: /* CIL Label */ 
8827      {
8828#line 3006
8829      wm831x_dcdc_disable(var_group1);
8830      }
8831#line 3016
8832      goto ldv_24911;
8833      case_34: /* CIL Label */ 
8834      {
8835#line 3038
8836      wm831x_dcdc_get_status(var_group1);
8837      }
8838#line 3048
8839      goto ldv_24911;
8840      case_35: /* CIL Label */ ;
8841#line 3052
8842      if (ldv_s_wm831x_epe_driver_platform_driver == 0) {
8843        {
8844#line 3071
8845        res_wm831x_epe_probe_31 = wm831x_epe_probe(var_group2);
8846#line 3072
8847        ldv_check_return_value(res_wm831x_epe_probe_31);
8848        }
8849#line 3073
8850        if (res_wm831x_epe_probe_31 != 0) {
8851#line 3074
8852          goto ldv_module_exit;
8853        } else {
8854
8855        }
8856#line 3075
8857        ldv_s_wm831x_epe_driver_platform_driver = 0;
8858      } else {
8859
8860      }
8861#line 3081
8862      goto ldv_24911;
8863      case_36: /* CIL Label */ 
8864      {
8865#line 3085
8866      LDV_IN_INTERRUPT = 2;
8867#line 3103
8868      wm831x_dcdc_oc_irq(var_wm831x_dcdc_oc_irq_9_p0, var_wm831x_dcdc_oc_irq_9_p1);
8869#line 3107
8870      LDV_IN_INTERRUPT = 1;
8871      }
8872#line 3113
8873      goto ldv_24911;
8874      case_37: /* CIL Label */ 
8875      {
8876#line 3117
8877      LDV_IN_INTERRUPT = 2;
8878#line 3135
8879      wm831x_dcdc_uv_irq(var_wm831x_dcdc_uv_irq_8_p0, var_wm831x_dcdc_uv_irq_8_p1);
8880#line 3139
8881      LDV_IN_INTERRUPT = 1;
8882      }
8883#line 3145
8884      goto ldv_24911;
8885      switch_default: /* CIL Label */ ;
8886#line 3146
8887      goto ldv_24911;
8888    } else {
8889      switch_break: /* CIL Label */ ;
8890    }
8891    }
8892  }
8893  ldv_24911: ;
8894  ldv_24952: 
8895  {
8896#line 1911
8897  tmp___1 = __VERIFIER_nondet_int();
8898  }
8899#line 1911
8900  if (tmp___1 != 0) {
8901#line 1916
8902    goto ldv_24951;
8903  } else
8904#line 1911
8905  if (ldv_s_wm831x_buckv_driver_platform_driver != 0) {
8906#line 1916
8907    goto ldv_24951;
8908  } else
8909#line 1911
8910  if (ldv_s_wm831x_buckp_driver_platform_driver != 0) {
8911#line 1916
8912    goto ldv_24951;
8913  } else
8914#line 1911
8915  if (ldv_s_wm831x_boostp_driver_platform_driver != 0) {
8916#line 1916
8917    goto ldv_24951;
8918  } else
8919#line 1911
8920  if (ldv_s_wm831x_epe_driver_platform_driver != 0) {
8921#line 1916
8922    goto ldv_24951;
8923  } else {
8924#line 1918
8925    goto ldv_24953;
8926  }
8927  ldv_24953: ;
8928  ldv_module_exit: 
8929  {
8930#line 3172
8931  wm831x_dcdc_exit();
8932  }
8933  ldv_final: 
8934  {
8935#line 3175
8936  ldv_check_final_state();
8937  }
8938#line 3178
8939  return;
8940}
8941}
8942#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
8943void ldv_blast_assert(void) 
8944{ 
8945
8946  {
8947  ERROR: ;
8948#line 6
8949  goto ERROR;
8950}
8951}
8952#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
8953extern int __VERIFIER_nondet_int(void) ;
8954#line 3199 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8955int ldv_spin  =    0;
8956#line 3203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8957void ldv_check_alloc_flags(gfp_t flags ) 
8958{ 
8959
8960  {
8961#line 3206
8962  if (ldv_spin != 0) {
8963#line 3206
8964    if (flags != 32U) {
8965      {
8966#line 3206
8967      ldv_blast_assert();
8968      }
8969    } else {
8970
8971    }
8972  } else {
8973
8974  }
8975#line 3209
8976  return;
8977}
8978}
8979#line 3209
8980extern struct page *ldv_some_page(void) ;
8981#line 3212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
8982struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
8983{ struct page *tmp ;
8984
8985  {
8986#line 3215
8987  if (ldv_spin != 0) {
8988#line 3215
8989    if (flags != 32U) {
8990      {
8991#line 3215
8992      ldv_blast_assert();
8993      }
8994    } else {
8995
8996    }
8997  } else {
8998
8999  }
9000  {
9001#line 3217
9002  tmp = ldv_some_page();
9003  }
9004#line 3217
9005  return (tmp);
9006}
9007}
9008#line 3221 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9009void ldv_check_alloc_nonatomic(void) 
9010{ 
9011
9012  {
9013#line 3224
9014  if (ldv_spin != 0) {
9015    {
9016#line 3224
9017    ldv_blast_assert();
9018    }
9019  } else {
9020
9021  }
9022#line 3227
9023  return;
9024}
9025}
9026#line 3228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9027void ldv_spin_lock(void) 
9028{ 
9029
9030  {
9031#line 3231
9032  ldv_spin = 1;
9033#line 3232
9034  return;
9035}
9036}
9037#line 3235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9038void ldv_spin_unlock(void) 
9039{ 
9040
9041  {
9042#line 3238
9043  ldv_spin = 0;
9044#line 3239
9045  return;
9046}
9047}
9048#line 3242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9049int ldv_spin_trylock(void) 
9050{ int is_lock ;
9051
9052  {
9053  {
9054#line 3247
9055  is_lock = __VERIFIER_nondet_int();
9056  }
9057#line 3249
9058  if (is_lock != 0) {
9059#line 3252
9060    return (0);
9061  } else {
9062#line 3257
9063    ldv_spin = 1;
9064#line 3259
9065    return (1);
9066  }
9067}
9068}
9069#line 3426 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9070void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
9071{ 
9072
9073  {
9074  {
9075#line 3432
9076  ldv_check_alloc_flags(ldv_func_arg2);
9077#line 3434
9078  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
9079  }
9080#line 3435
9081  return ((void *)0);
9082}
9083}
9084#line 3437 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12253/dscv_tempdir/dscv/ri/43_1a/drivers/regulator/wm831x-dcdc.c.p"
9085__inline static void *kzalloc(size_t size , gfp_t flags ) 
9086{ void *tmp ;
9087
9088  {
9089  {
9090#line 3443
9091  ldv_check_alloc_flags(flags);
9092#line 3444
9093  tmp = __VERIFIER_nondet_pointer();
9094  }
9095#line 3444
9096  return (tmp);
9097}
9098}