Showing error 1179

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--regulator--max8649.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4555
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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