Showing error 587

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