Showing error 1076

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


Source:

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