Showing error 490

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--mfd--wm8400-core.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4918
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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