Showing error 1073

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--tps65217.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3852
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 188 "include/linux/rcupdate.h"
 575struct notifier_block;
 576#line 188
 577struct notifier_block;
 578#line 239 "include/linux/srcu.h"
 579struct notifier_block {
 580   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 581   struct notifier_block *next ;
 582   int priority ;
 583};
 584#line 60 "include/linux/notifier.h"
 585struct blocking_notifier_head {
 586   struct rw_semaphore rwsem ;
 587   struct notifier_block *head ;
 588};
 589#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 590struct resource {
 591   resource_size_t start ;
 592   resource_size_t end ;
 593   char const   *name ;
 594   unsigned long flags ;
 595   struct resource *parent ;
 596   struct resource *sibling ;
 597   struct resource *child ;
 598};
 599#line 312 "include/linux/jiffies.h"
 600union ktime {
 601   s64 tv64 ;
 602};
 603#line 59 "include/linux/ktime.h"
 604typedef union ktime ktime_t;
 605#line 341
 606struct tvec_base;
 607#line 341
 608struct tvec_base;
 609#line 342 "include/linux/ktime.h"
 610struct timer_list {
 611   struct list_head entry ;
 612   unsigned long expires ;
 613   struct tvec_base *base ;
 614   void (*function)(unsigned long  ) ;
 615   unsigned long data ;
 616   int slack ;
 617   int start_pid ;
 618   void *start_site ;
 619   char start_comm[16U] ;
 620   struct lockdep_map lockdep_map ;
 621};
 622#line 289 "include/linux/timer.h"
 623struct hrtimer;
 624#line 289
 625struct hrtimer;
 626#line 290
 627enum hrtimer_restart;
 628#line 302
 629struct work_struct;
 630#line 302
 631struct work_struct;
 632#line 45 "include/linux/workqueue.h"
 633struct work_struct {
 634   atomic_long_t data ;
 635   struct list_head entry ;
 636   void (*func)(struct work_struct * ) ;
 637   struct lockdep_map lockdep_map ;
 638};
 639#line 86 "include/linux/workqueue.h"
 640struct delayed_work {
 641   struct work_struct work ;
 642   struct timer_list timer ;
 643};
 644#line 46 "include/linux/pm.h"
 645struct pm_message {
 646   int event ;
 647};
 648#line 52 "include/linux/pm.h"
 649typedef struct pm_message pm_message_t;
 650#line 53 "include/linux/pm.h"
 651struct dev_pm_ops {
 652   int (*prepare)(struct device * ) ;
 653   void (*complete)(struct device * ) ;
 654   int (*suspend)(struct device * ) ;
 655   int (*resume)(struct device * ) ;
 656   int (*freeze)(struct device * ) ;
 657   int (*thaw)(struct device * ) ;
 658   int (*poweroff)(struct device * ) ;
 659   int (*restore)(struct device * ) ;
 660   int (*suspend_late)(struct device * ) ;
 661   int (*resume_early)(struct device * ) ;
 662   int (*freeze_late)(struct device * ) ;
 663   int (*thaw_early)(struct device * ) ;
 664   int (*poweroff_late)(struct device * ) ;
 665   int (*restore_early)(struct device * ) ;
 666   int (*suspend_noirq)(struct device * ) ;
 667   int (*resume_noirq)(struct device * ) ;
 668   int (*freeze_noirq)(struct device * ) ;
 669   int (*thaw_noirq)(struct device * ) ;
 670   int (*poweroff_noirq)(struct device * ) ;
 671   int (*restore_noirq)(struct device * ) ;
 672   int (*runtime_suspend)(struct device * ) ;
 673   int (*runtime_resume)(struct device * ) ;
 674   int (*runtime_idle)(struct device * ) ;
 675};
 676#line 289
 677enum rpm_status {
 678    RPM_ACTIVE = 0,
 679    RPM_RESUMING = 1,
 680    RPM_SUSPENDED = 2,
 681    RPM_SUSPENDING = 3
 682} ;
 683#line 296
 684enum rpm_request {
 685    RPM_REQ_NONE = 0,
 686    RPM_REQ_IDLE = 1,
 687    RPM_REQ_SUSPEND = 2,
 688    RPM_REQ_AUTOSUSPEND = 3,
 689    RPM_REQ_RESUME = 4
 690} ;
 691#line 304
 692struct wakeup_source;
 693#line 304
 694struct wakeup_source;
 695#line 494 "include/linux/pm.h"
 696struct pm_subsys_data {
 697   spinlock_t lock ;
 698   unsigned int refcount ;
 699};
 700#line 499
 701struct dev_pm_qos_request;
 702#line 499
 703struct pm_qos_constraints;
 704#line 499 "include/linux/pm.h"
 705struct dev_pm_info {
 706   pm_message_t power_state ;
 707   unsigned char can_wakeup : 1 ;
 708   unsigned char async_suspend : 1 ;
 709   bool is_prepared ;
 710   bool is_suspended ;
 711   bool ignore_children ;
 712   spinlock_t lock ;
 713   struct list_head entry ;
 714   struct completion completion ;
 715   struct wakeup_source *wakeup ;
 716   bool wakeup_path ;
 717   struct timer_list suspend_timer ;
 718   unsigned long timer_expires ;
 719   struct work_struct work ;
 720   wait_queue_head_t wait_queue ;
 721   atomic_t usage_count ;
 722   atomic_t child_count ;
 723   unsigned char disable_depth : 3 ;
 724   unsigned char idle_notification : 1 ;
 725   unsigned char request_pending : 1 ;
 726   unsigned char deferred_resume : 1 ;
 727   unsigned char run_wake : 1 ;
 728   unsigned char runtime_auto : 1 ;
 729   unsigned char no_callbacks : 1 ;
 730   unsigned char irq_safe : 1 ;
 731   unsigned char use_autosuspend : 1 ;
 732   unsigned char timer_autosuspends : 1 ;
 733   enum rpm_request request ;
 734   enum rpm_status runtime_status ;
 735   int runtime_error ;
 736   int autosuspend_delay ;
 737   unsigned long last_busy ;
 738   unsigned long active_jiffies ;
 739   unsigned long suspended_jiffies ;
 740   unsigned long accounting_timestamp ;
 741   ktime_t suspend_time ;
 742   s64 max_time_suspended_ns ;
 743   struct dev_pm_qos_request *pq_req ;
 744   struct pm_subsys_data *subsys_data ;
 745   struct pm_qos_constraints *constraints ;
 746};
 747#line 558 "include/linux/pm.h"
 748struct dev_pm_domain {
 749   struct dev_pm_ops ops ;
 750};
 751#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 752struct __anonstruct_mm_context_t_101 {
 753   void *ldt ;
 754   int size ;
 755   unsigned short ia32_compat ;
 756   struct mutex lock ;
 757   void *vdso ;
 758};
 759#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 760typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 761#line 18 "include/asm-generic/pci_iomap.h"
 762struct vm_area_struct;
 763#line 18
 764struct vm_area_struct;
 765#line 835 "include/linux/sysctl.h"
 766struct rb_node {
 767   unsigned long rb_parent_color ;
 768   struct rb_node *rb_right ;
 769   struct rb_node *rb_left ;
 770};
 771#line 108 "include/linux/rbtree.h"
 772struct rb_root {
 773   struct rb_node *rb_node ;
 774};
 775#line 176
 776struct nsproxy;
 777#line 176
 778struct nsproxy;
 779#line 37 "include/linux/kmod.h"
 780struct cred;
 781#line 37
 782struct cred;
 783#line 18 "include/linux/elf.h"
 784typedef __u64 Elf64_Addr;
 785#line 19 "include/linux/elf.h"
 786typedef __u16 Elf64_Half;
 787#line 23 "include/linux/elf.h"
 788typedef __u32 Elf64_Word;
 789#line 24 "include/linux/elf.h"
 790typedef __u64 Elf64_Xword;
 791#line 193 "include/linux/elf.h"
 792struct elf64_sym {
 793   Elf64_Word st_name ;
 794   unsigned char st_info ;
 795   unsigned char st_other ;
 796   Elf64_Half st_shndx ;
 797   Elf64_Addr st_value ;
 798   Elf64_Xword st_size ;
 799};
 800#line 201 "include/linux/elf.h"
 801typedef struct elf64_sym Elf64_Sym;
 802#line 445
 803struct sock;
 804#line 445
 805struct sock;
 806#line 446
 807struct kobject;
 808#line 446
 809struct kobject;
 810#line 447
 811enum kobj_ns_type {
 812    KOBJ_NS_TYPE_NONE = 0,
 813    KOBJ_NS_TYPE_NET = 1,
 814    KOBJ_NS_TYPES = 2
 815} ;
 816#line 453 "include/linux/elf.h"
 817struct kobj_ns_type_operations {
 818   enum kobj_ns_type type ;
 819   void *(*grab_current_ns)(void) ;
 820   void const   *(*netlink_ns)(struct sock * ) ;
 821   void const   *(*initial_ns)(void) ;
 822   void (*drop_ns)(void * ) ;
 823};
 824#line 57 "include/linux/kobject_ns.h"
 825struct attribute {
 826   char const   *name ;
 827   umode_t mode ;
 828   struct lock_class_key *key ;
 829   struct lock_class_key skey ;
 830};
 831#line 33 "include/linux/sysfs.h"
 832struct attribute_group {
 833   char const   *name ;
 834   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 835   struct attribute **attrs ;
 836};
 837#line 62 "include/linux/sysfs.h"
 838struct bin_attribute {
 839   struct attribute attr ;
 840   size_t size ;
 841   void *private ;
 842   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 843                   loff_t  , size_t  ) ;
 844   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 845                    loff_t  , size_t  ) ;
 846   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 847};
 848#line 98 "include/linux/sysfs.h"
 849struct sysfs_ops {
 850   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 851   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 852   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 853};
 854#line 117
 855struct sysfs_dirent;
 856#line 117
 857struct sysfs_dirent;
 858#line 182 "include/linux/sysfs.h"
 859struct kref {
 860   atomic_t refcount ;
 861};
 862#line 49 "include/linux/kobject.h"
 863struct kset;
 864#line 49
 865struct kobj_type;
 866#line 49 "include/linux/kobject.h"
 867struct kobject {
 868   char const   *name ;
 869   struct list_head entry ;
 870   struct kobject *parent ;
 871   struct kset *kset ;
 872   struct kobj_type *ktype ;
 873   struct sysfs_dirent *sd ;
 874   struct kref kref ;
 875   unsigned char state_initialized : 1 ;
 876   unsigned char state_in_sysfs : 1 ;
 877   unsigned char state_add_uevent_sent : 1 ;
 878   unsigned char state_remove_uevent_sent : 1 ;
 879   unsigned char uevent_suppress : 1 ;
 880};
 881#line 107 "include/linux/kobject.h"
 882struct kobj_type {
 883   void (*release)(struct kobject * ) ;
 884   struct sysfs_ops  const  *sysfs_ops ;
 885   struct attribute **default_attrs ;
 886   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 887   void const   *(*namespace)(struct kobject * ) ;
 888};
 889#line 115 "include/linux/kobject.h"
 890struct kobj_uevent_env {
 891   char *envp[32U] ;
 892   int envp_idx ;
 893   char buf[2048U] ;
 894   int buflen ;
 895};
 896#line 122 "include/linux/kobject.h"
 897struct kset_uevent_ops {
 898   int (* const  filter)(struct kset * , struct kobject * ) ;
 899   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 900   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 901};
 902#line 139 "include/linux/kobject.h"
 903struct kset {
 904   struct list_head list ;
 905   spinlock_t list_lock ;
 906   struct kobject kobj ;
 907   struct kset_uevent_ops  const  *uevent_ops ;
 908};
 909#line 215
 910struct kernel_param;
 911#line 215
 912struct kernel_param;
 913#line 216 "include/linux/kobject.h"
 914struct kernel_param_ops {
 915   int (*set)(char const   * , struct kernel_param  const  * ) ;
 916   int (*get)(char * , struct kernel_param  const  * ) ;
 917   void (*free)(void * ) ;
 918};
 919#line 49 "include/linux/moduleparam.h"
 920struct kparam_string;
 921#line 49
 922struct kparam_array;
 923#line 49 "include/linux/moduleparam.h"
 924union __anonunion_ldv_13363_134 {
 925   void *arg ;
 926   struct kparam_string  const  *str ;
 927   struct kparam_array  const  *arr ;
 928};
 929#line 49 "include/linux/moduleparam.h"
 930struct kernel_param {
 931   char const   *name ;
 932   struct kernel_param_ops  const  *ops ;
 933   u16 perm ;
 934   s16 level ;
 935   union __anonunion_ldv_13363_134 ldv_13363 ;
 936};
 937#line 61 "include/linux/moduleparam.h"
 938struct kparam_string {
 939   unsigned int maxlen ;
 940   char *string ;
 941};
 942#line 67 "include/linux/moduleparam.h"
 943struct kparam_array {
 944   unsigned int max ;
 945   unsigned int elemsize ;
 946   unsigned int *num ;
 947   struct kernel_param_ops  const  *ops ;
 948   void *elem ;
 949};
 950#line 458 "include/linux/moduleparam.h"
 951struct static_key {
 952   atomic_t enabled ;
 953};
 954#line 225 "include/linux/jump_label.h"
 955struct tracepoint;
 956#line 225
 957struct tracepoint;
 958#line 226 "include/linux/jump_label.h"
 959struct tracepoint_func {
 960   void *func ;
 961   void *data ;
 962};
 963#line 29 "include/linux/tracepoint.h"
 964struct tracepoint {
 965   char const   *name ;
 966   struct static_key key ;
 967   void (*regfunc)(void) ;
 968   void (*unregfunc)(void) ;
 969   struct tracepoint_func *funcs ;
 970};
 971#line 86 "include/linux/tracepoint.h"
 972struct kernel_symbol {
 973   unsigned long value ;
 974   char const   *name ;
 975};
 976#line 27 "include/linux/export.h"
 977struct mod_arch_specific {
 978
 979};
 980#line 34 "include/linux/module.h"
 981struct module_param_attrs;
 982#line 34 "include/linux/module.h"
 983struct module_kobject {
 984   struct kobject kobj ;
 985   struct module *mod ;
 986   struct kobject *drivers_dir ;
 987   struct module_param_attrs *mp ;
 988};
 989#line 43 "include/linux/module.h"
 990struct module_attribute {
 991   struct attribute attr ;
 992   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 993   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 994                    size_t  ) ;
 995   void (*setup)(struct module * , char const   * ) ;
 996   int (*test)(struct module * ) ;
 997   void (*free)(struct module * ) ;
 998};
 999#line 69
1000struct exception_table_entry;
1001#line 69
1002struct exception_table_entry;
1003#line 198
1004enum module_state {
1005    MODULE_STATE_LIVE = 0,
1006    MODULE_STATE_COMING = 1,
1007    MODULE_STATE_GOING = 2
1008} ;
1009#line 204 "include/linux/module.h"
1010struct module_ref {
1011   unsigned long incs ;
1012   unsigned long decs ;
1013};
1014#line 219
1015struct module_sect_attrs;
1016#line 219
1017struct module_notes_attrs;
1018#line 219
1019struct ftrace_event_call;
1020#line 219 "include/linux/module.h"
1021struct module {
1022   enum module_state state ;
1023   struct list_head list ;
1024   char name[56U] ;
1025   struct module_kobject mkobj ;
1026   struct module_attribute *modinfo_attrs ;
1027   char const   *version ;
1028   char const   *srcversion ;
1029   struct kobject *holders_dir ;
1030   struct kernel_symbol  const  *syms ;
1031   unsigned long const   *crcs ;
1032   unsigned int num_syms ;
1033   struct kernel_param *kp ;
1034   unsigned int num_kp ;
1035   unsigned int num_gpl_syms ;
1036   struct kernel_symbol  const  *gpl_syms ;
1037   unsigned long const   *gpl_crcs ;
1038   struct kernel_symbol  const  *unused_syms ;
1039   unsigned long const   *unused_crcs ;
1040   unsigned int num_unused_syms ;
1041   unsigned int num_unused_gpl_syms ;
1042   struct kernel_symbol  const  *unused_gpl_syms ;
1043   unsigned long const   *unused_gpl_crcs ;
1044   struct kernel_symbol  const  *gpl_future_syms ;
1045   unsigned long const   *gpl_future_crcs ;
1046   unsigned int num_gpl_future_syms ;
1047   unsigned int num_exentries ;
1048   struct exception_table_entry *extable ;
1049   int (*init)(void) ;
1050   void *module_init ;
1051   void *module_core ;
1052   unsigned int init_size ;
1053   unsigned int core_size ;
1054   unsigned int init_text_size ;
1055   unsigned int core_text_size ;
1056   unsigned int init_ro_size ;
1057   unsigned int core_ro_size ;
1058   struct mod_arch_specific arch ;
1059   unsigned int taints ;
1060   unsigned int num_bugs ;
1061   struct list_head bug_list ;
1062   struct bug_entry *bug_table ;
1063   Elf64_Sym *symtab ;
1064   Elf64_Sym *core_symtab ;
1065   unsigned int num_symtab ;
1066   unsigned int core_num_syms ;
1067   char *strtab ;
1068   char *core_strtab ;
1069   struct module_sect_attrs *sect_attrs ;
1070   struct module_notes_attrs *notes_attrs ;
1071   char *args ;
1072   void *percpu ;
1073   unsigned int percpu_size ;
1074   unsigned int num_tracepoints ;
1075   struct tracepoint * const  *tracepoints_ptrs ;
1076   unsigned int num_trace_bprintk_fmt ;
1077   char const   **trace_bprintk_fmt_start ;
1078   struct ftrace_event_call **trace_events ;
1079   unsigned int num_trace_events ;
1080   struct list_head source_list ;
1081   struct list_head target_list ;
1082   struct task_struct *waiter ;
1083   void (*exit)(void) ;
1084   struct module_ref *refptr ;
1085   ctor_fn_t (**ctors)(void) ;
1086   unsigned int num_ctors ;
1087};
1088#line 88 "include/linux/kmemleak.h"
1089struct kmem_cache_cpu {
1090   void **freelist ;
1091   unsigned long tid ;
1092   struct page *page ;
1093   struct page *partial ;
1094   int node ;
1095   unsigned int stat[26U] ;
1096};
1097#line 55 "include/linux/slub_def.h"
1098struct kmem_cache_node {
1099   spinlock_t list_lock ;
1100   unsigned long nr_partial ;
1101   struct list_head partial ;
1102   atomic_long_t nr_slabs ;
1103   atomic_long_t total_objects ;
1104   struct list_head full ;
1105};
1106#line 66 "include/linux/slub_def.h"
1107struct kmem_cache_order_objects {
1108   unsigned long x ;
1109};
1110#line 76 "include/linux/slub_def.h"
1111struct kmem_cache {
1112   struct kmem_cache_cpu *cpu_slab ;
1113   unsigned long flags ;
1114   unsigned long min_partial ;
1115   int size ;
1116   int objsize ;
1117   int offset ;
1118   int cpu_partial ;
1119   struct kmem_cache_order_objects oo ;
1120   struct kmem_cache_order_objects max ;
1121   struct kmem_cache_order_objects min ;
1122   gfp_t allocflags ;
1123   int refcount ;
1124   void (*ctor)(void * ) ;
1125   int inuse ;
1126   int align ;
1127   int reserved ;
1128   char const   *name ;
1129   struct list_head list ;
1130   struct kobject kobj ;
1131   int remote_node_defrag_ratio ;
1132   struct kmem_cache_node *node[1024U] ;
1133};
1134#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
1135struct klist_node;
1136#line 15
1137struct klist_node;
1138#line 37 "include/linux/klist.h"
1139struct klist_node {
1140   void *n_klist ;
1141   struct list_head n_node ;
1142   struct kref n_ref ;
1143};
1144#line 67
1145struct dma_map_ops;
1146#line 67 "include/linux/klist.h"
1147struct dev_archdata {
1148   void *acpi_handle ;
1149   struct dma_map_ops *dma_ops ;
1150   void *iommu ;
1151};
1152#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1153struct pdev_archdata {
1154
1155};
1156#line 17
1157struct device_private;
1158#line 17
1159struct device_private;
1160#line 18
1161struct device_driver;
1162#line 18
1163struct device_driver;
1164#line 19
1165struct driver_private;
1166#line 19
1167struct driver_private;
1168#line 20
1169struct class;
1170#line 20
1171struct class;
1172#line 21
1173struct subsys_private;
1174#line 21
1175struct subsys_private;
1176#line 22
1177struct bus_type;
1178#line 22
1179struct bus_type;
1180#line 23
1181struct device_node;
1182#line 23
1183struct device_node;
1184#line 24
1185struct iommu_ops;
1186#line 24
1187struct iommu_ops;
1188#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1189struct bus_attribute {
1190   struct attribute attr ;
1191   ssize_t (*show)(struct bus_type * , char * ) ;
1192   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1193};
1194#line 51 "include/linux/device.h"
1195struct device_attribute;
1196#line 51
1197struct driver_attribute;
1198#line 51 "include/linux/device.h"
1199struct bus_type {
1200   char const   *name ;
1201   char const   *dev_name ;
1202   struct device *dev_root ;
1203   struct bus_attribute *bus_attrs ;
1204   struct device_attribute *dev_attrs ;
1205   struct driver_attribute *drv_attrs ;
1206   int (*match)(struct device * , struct device_driver * ) ;
1207   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1208   int (*probe)(struct device * ) ;
1209   int (*remove)(struct device * ) ;
1210   void (*shutdown)(struct device * ) ;
1211   int (*suspend)(struct device * , pm_message_t  ) ;
1212   int (*resume)(struct device * ) ;
1213   struct dev_pm_ops  const  *pm ;
1214   struct iommu_ops *iommu_ops ;
1215   struct subsys_private *p ;
1216};
1217#line 125
1218struct device_type;
1219#line 182
1220struct of_device_id;
1221#line 182 "include/linux/device.h"
1222struct device_driver {
1223   char const   *name ;
1224   struct bus_type *bus ;
1225   struct module *owner ;
1226   char const   *mod_name ;
1227   bool suppress_bind_attrs ;
1228   struct of_device_id  const  *of_match_table ;
1229   int (*probe)(struct device * ) ;
1230   int (*remove)(struct device * ) ;
1231   void (*shutdown)(struct device * ) ;
1232   int (*suspend)(struct device * , pm_message_t  ) ;
1233   int (*resume)(struct device * ) ;
1234   struct attribute_group  const  **groups ;
1235   struct dev_pm_ops  const  *pm ;
1236   struct driver_private *p ;
1237};
1238#line 245 "include/linux/device.h"
1239struct driver_attribute {
1240   struct attribute attr ;
1241   ssize_t (*show)(struct device_driver * , char * ) ;
1242   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1243};
1244#line 299
1245struct class_attribute;
1246#line 299 "include/linux/device.h"
1247struct class {
1248   char const   *name ;
1249   struct module *owner ;
1250   struct class_attribute *class_attrs ;
1251   struct device_attribute *dev_attrs ;
1252   struct bin_attribute *dev_bin_attrs ;
1253   struct kobject *dev_kobj ;
1254   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1255   char *(*devnode)(struct device * , umode_t * ) ;
1256   void (*class_release)(struct class * ) ;
1257   void (*dev_release)(struct device * ) ;
1258   int (*suspend)(struct device * , pm_message_t  ) ;
1259   int (*resume)(struct device * ) ;
1260   struct kobj_ns_type_operations  const  *ns_type ;
1261   void const   *(*namespace)(struct device * ) ;
1262   struct dev_pm_ops  const  *pm ;
1263   struct subsys_private *p ;
1264};
1265#line 394 "include/linux/device.h"
1266struct class_attribute {
1267   struct attribute attr ;
1268   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1269   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1270   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1271};
1272#line 447 "include/linux/device.h"
1273struct device_type {
1274   char const   *name ;
1275   struct attribute_group  const  **groups ;
1276   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1277   char *(*devnode)(struct device * , umode_t * ) ;
1278   void (*release)(struct device * ) ;
1279   struct dev_pm_ops  const  *pm ;
1280};
1281#line 474 "include/linux/device.h"
1282struct device_attribute {
1283   struct attribute attr ;
1284   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1285   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1286                    size_t  ) ;
1287};
1288#line 557 "include/linux/device.h"
1289struct device_dma_parameters {
1290   unsigned int max_segment_size ;
1291   unsigned long segment_boundary_mask ;
1292};
1293#line 567
1294struct dma_coherent_mem;
1295#line 567 "include/linux/device.h"
1296struct device {
1297   struct device *parent ;
1298   struct device_private *p ;
1299   struct kobject kobj ;
1300   char const   *init_name ;
1301   struct device_type  const  *type ;
1302   struct mutex mutex ;
1303   struct bus_type *bus ;
1304   struct device_driver *driver ;
1305   void *platform_data ;
1306   struct dev_pm_info power ;
1307   struct dev_pm_domain *pm_domain ;
1308   int numa_node ;
1309   u64 *dma_mask ;
1310   u64 coherent_dma_mask ;
1311   struct device_dma_parameters *dma_parms ;
1312   struct list_head dma_pools ;
1313   struct dma_coherent_mem *dma_mem ;
1314   struct dev_archdata archdata ;
1315   struct device_node *of_node ;
1316   dev_t devt ;
1317   u32 id ;
1318   spinlock_t devres_lock ;
1319   struct list_head devres_head ;
1320   struct klist_node knode_class ;
1321   struct class *class ;
1322   struct attribute_group  const  **groups ;
1323   void (*release)(struct device * ) ;
1324};
1325#line 681 "include/linux/device.h"
1326struct wakeup_source {
1327   char const   *name ;
1328   struct list_head entry ;
1329   spinlock_t lock ;
1330   struct timer_list timer ;
1331   unsigned long timer_expires ;
1332   ktime_t total_time ;
1333   ktime_t max_time ;
1334   ktime_t last_time ;
1335   unsigned long event_count ;
1336   unsigned long active_count ;
1337   unsigned long relax_count ;
1338   unsigned long hit_count ;
1339   unsigned char active : 1 ;
1340};
1341#line 12 "include/linux/mod_devicetable.h"
1342typedef unsigned long kernel_ulong_t;
1343#line 215 "include/linux/mod_devicetable.h"
1344struct of_device_id {
1345   char name[32U] ;
1346   char type[32U] ;
1347   char compatible[128U] ;
1348   void *data ;
1349};
1350#line 425 "include/linux/mod_devicetable.h"
1351struct i2c_device_id {
1352   char name[20U] ;
1353   kernel_ulong_t driver_data ;
1354};
1355#line 492 "include/linux/mod_devicetable.h"
1356struct platform_device_id {
1357   char name[20U] ;
1358   kernel_ulong_t driver_data ;
1359};
1360#line 584
1361struct mfd_cell;
1362#line 584
1363struct mfd_cell;
1364#line 585 "include/linux/mod_devicetable.h"
1365struct platform_device {
1366   char const   *name ;
1367   int id ;
1368   struct device dev ;
1369   u32 num_resources ;
1370   struct resource *resource ;
1371   struct platform_device_id  const  *id_entry ;
1372   struct mfd_cell *mfd_cell ;
1373   struct pdev_archdata archdata ;
1374};
1375#line 93 "include/linux/capability.h"
1376struct kernel_cap_struct {
1377   __u32 cap[2U] ;
1378};
1379#line 96 "include/linux/capability.h"
1380typedef struct kernel_cap_struct kernel_cap_t;
1381#line 104
1382struct dentry;
1383#line 104
1384struct dentry;
1385#line 105
1386struct user_namespace;
1387#line 105
1388struct user_namespace;
1389#line 554
1390struct prio_tree_node;
1391#line 554 "include/linux/capability.h"
1392struct raw_prio_tree_node {
1393   struct prio_tree_node *left ;
1394   struct prio_tree_node *right ;
1395   struct prio_tree_node *parent ;
1396};
1397#line 19 "include/linux/prio_tree.h"
1398struct prio_tree_node {
1399   struct prio_tree_node *left ;
1400   struct prio_tree_node *right ;
1401   struct prio_tree_node *parent ;
1402   unsigned long start ;
1403   unsigned long last ;
1404};
1405#line 116
1406struct address_space;
1407#line 116
1408struct address_space;
1409#line 117 "include/linux/prio_tree.h"
1410union __anonunion_ldv_15458_138 {
1411   unsigned long index ;
1412   void *freelist ;
1413};
1414#line 117 "include/linux/prio_tree.h"
1415struct __anonstruct_ldv_15468_142 {
1416   unsigned short inuse ;
1417   unsigned short objects : 15 ;
1418   unsigned char frozen : 1 ;
1419};
1420#line 117 "include/linux/prio_tree.h"
1421union __anonunion_ldv_15469_141 {
1422   atomic_t _mapcount ;
1423   struct __anonstruct_ldv_15468_142 ldv_15468 ;
1424};
1425#line 117 "include/linux/prio_tree.h"
1426struct __anonstruct_ldv_15471_140 {
1427   union __anonunion_ldv_15469_141 ldv_15469 ;
1428   atomic_t _count ;
1429};
1430#line 117 "include/linux/prio_tree.h"
1431union __anonunion_ldv_15472_139 {
1432   unsigned long counters ;
1433   struct __anonstruct_ldv_15471_140 ldv_15471 ;
1434};
1435#line 117 "include/linux/prio_tree.h"
1436struct __anonstruct_ldv_15473_137 {
1437   union __anonunion_ldv_15458_138 ldv_15458 ;
1438   union __anonunion_ldv_15472_139 ldv_15472 ;
1439};
1440#line 117 "include/linux/prio_tree.h"
1441struct __anonstruct_ldv_15480_144 {
1442   struct page *next ;
1443   int pages ;
1444   int pobjects ;
1445};
1446#line 117 "include/linux/prio_tree.h"
1447union __anonunion_ldv_15481_143 {
1448   struct list_head lru ;
1449   struct __anonstruct_ldv_15480_144 ldv_15480 ;
1450};
1451#line 117 "include/linux/prio_tree.h"
1452union __anonunion_ldv_15486_145 {
1453   unsigned long private ;
1454   struct kmem_cache *slab ;
1455   struct page *first_page ;
1456};
1457#line 117 "include/linux/prio_tree.h"
1458struct page {
1459   unsigned long flags ;
1460   struct address_space *mapping ;
1461   struct __anonstruct_ldv_15473_137 ldv_15473 ;
1462   union __anonunion_ldv_15481_143 ldv_15481 ;
1463   union __anonunion_ldv_15486_145 ldv_15486 ;
1464   unsigned long debug_flags ;
1465};
1466#line 192 "include/linux/mm_types.h"
1467struct __anonstruct_vm_set_147 {
1468   struct list_head list ;
1469   void *parent ;
1470   struct vm_area_struct *head ;
1471};
1472#line 192 "include/linux/mm_types.h"
1473union __anonunion_shared_146 {
1474   struct __anonstruct_vm_set_147 vm_set ;
1475   struct raw_prio_tree_node prio_tree_node ;
1476};
1477#line 192
1478struct anon_vma;
1479#line 192
1480struct vm_operations_struct;
1481#line 192
1482struct mempolicy;
1483#line 192 "include/linux/mm_types.h"
1484struct vm_area_struct {
1485   struct mm_struct *vm_mm ;
1486   unsigned long vm_start ;
1487   unsigned long vm_end ;
1488   struct vm_area_struct *vm_next ;
1489   struct vm_area_struct *vm_prev ;
1490   pgprot_t vm_page_prot ;
1491   unsigned long vm_flags ;
1492   struct rb_node vm_rb ;
1493   union __anonunion_shared_146 shared ;
1494   struct list_head anon_vma_chain ;
1495   struct anon_vma *anon_vma ;
1496   struct vm_operations_struct  const  *vm_ops ;
1497   unsigned long vm_pgoff ;
1498   struct file *vm_file ;
1499   void *vm_private_data ;
1500   struct mempolicy *vm_policy ;
1501};
1502#line 255 "include/linux/mm_types.h"
1503struct core_thread {
1504   struct task_struct *task ;
1505   struct core_thread *next ;
1506};
1507#line 261 "include/linux/mm_types.h"
1508struct core_state {
1509   atomic_t nr_threads ;
1510   struct core_thread dumper ;
1511   struct completion startup ;
1512};
1513#line 274 "include/linux/mm_types.h"
1514struct mm_rss_stat {
1515   atomic_long_t count[3U] ;
1516};
1517#line 287
1518struct linux_binfmt;
1519#line 287
1520struct mmu_notifier_mm;
1521#line 287 "include/linux/mm_types.h"
1522struct mm_struct {
1523   struct vm_area_struct *mmap ;
1524   struct rb_root mm_rb ;
1525   struct vm_area_struct *mmap_cache ;
1526   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1527                                      unsigned long  , unsigned long  ) ;
1528   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1529   unsigned long mmap_base ;
1530   unsigned long task_size ;
1531   unsigned long cached_hole_size ;
1532   unsigned long free_area_cache ;
1533   pgd_t *pgd ;
1534   atomic_t mm_users ;
1535   atomic_t mm_count ;
1536   int map_count ;
1537   spinlock_t page_table_lock ;
1538   struct rw_semaphore mmap_sem ;
1539   struct list_head mmlist ;
1540   unsigned long hiwater_rss ;
1541   unsigned long hiwater_vm ;
1542   unsigned long total_vm ;
1543   unsigned long locked_vm ;
1544   unsigned long pinned_vm ;
1545   unsigned long shared_vm ;
1546   unsigned long exec_vm ;
1547   unsigned long stack_vm ;
1548   unsigned long reserved_vm ;
1549   unsigned long def_flags ;
1550   unsigned long nr_ptes ;
1551   unsigned long start_code ;
1552   unsigned long end_code ;
1553   unsigned long start_data ;
1554   unsigned long end_data ;
1555   unsigned long start_brk ;
1556   unsigned long brk ;
1557   unsigned long start_stack ;
1558   unsigned long arg_start ;
1559   unsigned long arg_end ;
1560   unsigned long env_start ;
1561   unsigned long env_end ;
1562   unsigned long saved_auxv[44U] ;
1563   struct mm_rss_stat rss_stat ;
1564   struct linux_binfmt *binfmt ;
1565   cpumask_var_t cpu_vm_mask_var ;
1566   mm_context_t context ;
1567   unsigned int faultstamp ;
1568   unsigned int token_priority ;
1569   unsigned int last_interval ;
1570   unsigned long flags ;
1571   struct core_state *core_state ;
1572   spinlock_t ioctx_lock ;
1573   struct hlist_head ioctx_list ;
1574   struct task_struct *owner ;
1575   struct file *exe_file ;
1576   unsigned long num_exe_file_vmas ;
1577   struct mmu_notifier_mm *mmu_notifier_mm ;
1578   pgtable_t pmd_huge_pte ;
1579   struct cpumask cpumask_allocation ;
1580};
1581#line 7 "include/asm-generic/cputime.h"
1582typedef unsigned long cputime_t;
1583#line 98 "include/linux/sem.h"
1584struct sem_undo_list;
1585#line 98 "include/linux/sem.h"
1586struct sysv_sem {
1587   struct sem_undo_list *undo_list ;
1588};
1589#line 107
1590struct siginfo;
1591#line 107
1592struct siginfo;
1593#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1594struct __anonstruct_sigset_t_148 {
1595   unsigned long sig[1U] ;
1596};
1597#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1598typedef struct __anonstruct_sigset_t_148 sigset_t;
1599#line 17 "include/asm-generic/signal-defs.h"
1600typedef void __signalfn_t(int  );
1601#line 18 "include/asm-generic/signal-defs.h"
1602typedef __signalfn_t *__sighandler_t;
1603#line 20 "include/asm-generic/signal-defs.h"
1604typedef void __restorefn_t(void);
1605#line 21 "include/asm-generic/signal-defs.h"
1606typedef __restorefn_t *__sigrestore_t;
1607#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1608struct sigaction {
1609   __sighandler_t sa_handler ;
1610   unsigned long sa_flags ;
1611   __sigrestore_t sa_restorer ;
1612   sigset_t sa_mask ;
1613};
1614#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1615struct k_sigaction {
1616   struct sigaction sa ;
1617};
1618#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1619union sigval {
1620   int sival_int ;
1621   void *sival_ptr ;
1622};
1623#line 10 "include/asm-generic/siginfo.h"
1624typedef union sigval sigval_t;
1625#line 11 "include/asm-generic/siginfo.h"
1626struct __anonstruct__kill_150 {
1627   __kernel_pid_t _pid ;
1628   __kernel_uid32_t _uid ;
1629};
1630#line 11 "include/asm-generic/siginfo.h"
1631struct __anonstruct__timer_151 {
1632   __kernel_timer_t _tid ;
1633   int _overrun ;
1634   char _pad[0U] ;
1635   sigval_t _sigval ;
1636   int _sys_private ;
1637};
1638#line 11 "include/asm-generic/siginfo.h"
1639struct __anonstruct__rt_152 {
1640   __kernel_pid_t _pid ;
1641   __kernel_uid32_t _uid ;
1642   sigval_t _sigval ;
1643};
1644#line 11 "include/asm-generic/siginfo.h"
1645struct __anonstruct__sigchld_153 {
1646   __kernel_pid_t _pid ;
1647   __kernel_uid32_t _uid ;
1648   int _status ;
1649   __kernel_clock_t _utime ;
1650   __kernel_clock_t _stime ;
1651};
1652#line 11 "include/asm-generic/siginfo.h"
1653struct __anonstruct__sigfault_154 {
1654   void *_addr ;
1655   short _addr_lsb ;
1656};
1657#line 11 "include/asm-generic/siginfo.h"
1658struct __anonstruct__sigpoll_155 {
1659   long _band ;
1660   int _fd ;
1661};
1662#line 11 "include/asm-generic/siginfo.h"
1663union __anonunion__sifields_149 {
1664   int _pad[28U] ;
1665   struct __anonstruct__kill_150 _kill ;
1666   struct __anonstruct__timer_151 _timer ;
1667   struct __anonstruct__rt_152 _rt ;
1668   struct __anonstruct__sigchld_153 _sigchld ;
1669   struct __anonstruct__sigfault_154 _sigfault ;
1670   struct __anonstruct__sigpoll_155 _sigpoll ;
1671};
1672#line 11 "include/asm-generic/siginfo.h"
1673struct siginfo {
1674   int si_signo ;
1675   int si_errno ;
1676   int si_code ;
1677   union __anonunion__sifields_149 _sifields ;
1678};
1679#line 102 "include/asm-generic/siginfo.h"
1680typedef struct siginfo siginfo_t;
1681#line 14 "include/linux/signal.h"
1682struct user_struct;
1683#line 24 "include/linux/signal.h"
1684struct sigpending {
1685   struct list_head list ;
1686   sigset_t signal ;
1687};
1688#line 395
1689struct pid_namespace;
1690#line 395 "include/linux/signal.h"
1691struct upid {
1692   int nr ;
1693   struct pid_namespace *ns ;
1694   struct hlist_node pid_chain ;
1695};
1696#line 56 "include/linux/pid.h"
1697struct pid {
1698   atomic_t count ;
1699   unsigned int level ;
1700   struct hlist_head tasks[3U] ;
1701   struct rcu_head rcu ;
1702   struct upid numbers[1U] ;
1703};
1704#line 68 "include/linux/pid.h"
1705struct pid_link {
1706   struct hlist_node node ;
1707   struct pid *pid ;
1708};
1709#line 10 "include/linux/seccomp.h"
1710struct __anonstruct_seccomp_t_158 {
1711   int mode ;
1712};
1713#line 10 "include/linux/seccomp.h"
1714typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1715#line 427 "include/linux/rculist.h"
1716struct plist_head {
1717   struct list_head node_list ;
1718};
1719#line 84 "include/linux/plist.h"
1720struct plist_node {
1721   int prio ;
1722   struct list_head prio_list ;
1723   struct list_head node_list ;
1724};
1725#line 20 "include/linux/rtmutex.h"
1726struct rt_mutex {
1727   raw_spinlock_t wait_lock ;
1728   struct plist_head wait_list ;
1729   struct task_struct *owner ;
1730   int save_state ;
1731   char const   *name ;
1732   char const   *file ;
1733   int line ;
1734   void *magic ;
1735};
1736#line 38
1737struct rt_mutex_waiter;
1738#line 38
1739struct rt_mutex_waiter;
1740#line 41 "include/linux/resource.h"
1741struct rlimit {
1742   unsigned long rlim_cur ;
1743   unsigned long rlim_max ;
1744};
1745#line 85 "include/linux/resource.h"
1746struct timerqueue_node {
1747   struct rb_node node ;
1748   ktime_t expires ;
1749};
1750#line 12 "include/linux/timerqueue.h"
1751struct timerqueue_head {
1752   struct rb_root head ;
1753   struct timerqueue_node *next ;
1754};
1755#line 50
1756struct hrtimer_clock_base;
1757#line 50
1758struct hrtimer_clock_base;
1759#line 51
1760struct hrtimer_cpu_base;
1761#line 51
1762struct hrtimer_cpu_base;
1763#line 60
1764enum hrtimer_restart {
1765    HRTIMER_NORESTART = 0,
1766    HRTIMER_RESTART = 1
1767} ;
1768#line 65 "include/linux/timerqueue.h"
1769struct hrtimer {
1770   struct timerqueue_node node ;
1771   ktime_t _softexpires ;
1772   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1773   struct hrtimer_clock_base *base ;
1774   unsigned long state ;
1775   int start_pid ;
1776   void *start_site ;
1777   char start_comm[16U] ;
1778};
1779#line 132 "include/linux/hrtimer.h"
1780struct hrtimer_clock_base {
1781   struct hrtimer_cpu_base *cpu_base ;
1782   int index ;
1783   clockid_t clockid ;
1784   struct timerqueue_head active ;
1785   ktime_t resolution ;
1786   ktime_t (*get_time)(void) ;
1787   ktime_t softirq_time ;
1788   ktime_t offset ;
1789};
1790#line 162 "include/linux/hrtimer.h"
1791struct hrtimer_cpu_base {
1792   raw_spinlock_t lock ;
1793   unsigned long active_bases ;
1794   ktime_t expires_next ;
1795   int hres_active ;
1796   int hang_detected ;
1797   unsigned long nr_events ;
1798   unsigned long nr_retries ;
1799   unsigned long nr_hangs ;
1800   ktime_t max_hang_time ;
1801   struct hrtimer_clock_base clock_base[3U] ;
1802};
1803#line 452 "include/linux/hrtimer.h"
1804struct task_io_accounting {
1805   u64 rchar ;
1806   u64 wchar ;
1807   u64 syscr ;
1808   u64 syscw ;
1809   u64 read_bytes ;
1810   u64 write_bytes ;
1811   u64 cancelled_write_bytes ;
1812};
1813#line 45 "include/linux/task_io_accounting.h"
1814struct latency_record {
1815   unsigned long backtrace[12U] ;
1816   unsigned int count ;
1817   unsigned long time ;
1818   unsigned long max ;
1819};
1820#line 29 "include/linux/key.h"
1821typedef int32_t key_serial_t;
1822#line 32 "include/linux/key.h"
1823typedef uint32_t key_perm_t;
1824#line 33
1825struct key;
1826#line 33
1827struct key;
1828#line 34
1829struct signal_struct;
1830#line 34
1831struct signal_struct;
1832#line 35
1833struct key_type;
1834#line 35
1835struct key_type;
1836#line 37
1837struct keyring_list;
1838#line 37
1839struct keyring_list;
1840#line 115
1841struct key_user;
1842#line 115 "include/linux/key.h"
1843union __anonunion_ldv_16722_159 {
1844   time_t expiry ;
1845   time_t revoked_at ;
1846};
1847#line 115 "include/linux/key.h"
1848union __anonunion_type_data_160 {
1849   struct list_head link ;
1850   unsigned long x[2U] ;
1851   void *p[2U] ;
1852   int reject_error ;
1853};
1854#line 115 "include/linux/key.h"
1855union __anonunion_payload_161 {
1856   unsigned long value ;
1857   void *rcudata ;
1858   void *data ;
1859   struct keyring_list *subscriptions ;
1860};
1861#line 115 "include/linux/key.h"
1862struct key {
1863   atomic_t usage ;
1864   key_serial_t serial ;
1865   struct rb_node serial_node ;
1866   struct key_type *type ;
1867   struct rw_semaphore sem ;
1868   struct key_user *user ;
1869   void *security ;
1870   union __anonunion_ldv_16722_159 ldv_16722 ;
1871   uid_t uid ;
1872   gid_t gid ;
1873   key_perm_t perm ;
1874   unsigned short quotalen ;
1875   unsigned short datalen ;
1876   unsigned long flags ;
1877   char *description ;
1878   union __anonunion_type_data_160 type_data ;
1879   union __anonunion_payload_161 payload ;
1880};
1881#line 316
1882struct audit_context;
1883#line 316
1884struct audit_context;
1885#line 28 "include/linux/selinux.h"
1886struct group_info {
1887   atomic_t usage ;
1888   int ngroups ;
1889   int nblocks ;
1890   gid_t small_block[32U] ;
1891   gid_t *blocks[0U] ;
1892};
1893#line 77 "include/linux/cred.h"
1894struct thread_group_cred {
1895   atomic_t usage ;
1896   pid_t tgid ;
1897   spinlock_t lock ;
1898   struct key *session_keyring ;
1899   struct key *process_keyring ;
1900   struct rcu_head rcu ;
1901};
1902#line 91 "include/linux/cred.h"
1903struct cred {
1904   atomic_t usage ;
1905   atomic_t subscribers ;
1906   void *put_addr ;
1907   unsigned int magic ;
1908   uid_t uid ;
1909   gid_t gid ;
1910   uid_t suid ;
1911   gid_t sgid ;
1912   uid_t euid ;
1913   gid_t egid ;
1914   uid_t fsuid ;
1915   gid_t fsgid ;
1916   unsigned int securebits ;
1917   kernel_cap_t cap_inheritable ;
1918   kernel_cap_t cap_permitted ;
1919   kernel_cap_t cap_effective ;
1920   kernel_cap_t cap_bset ;
1921   unsigned char jit_keyring ;
1922   struct key *thread_keyring ;
1923   struct key *request_key_auth ;
1924   struct thread_group_cred *tgcred ;
1925   void *security ;
1926   struct user_struct *user ;
1927   struct user_namespace *user_ns ;
1928   struct group_info *group_info ;
1929   struct rcu_head rcu ;
1930};
1931#line 264
1932struct llist_node;
1933#line 64 "include/linux/llist.h"
1934struct llist_node {
1935   struct llist_node *next ;
1936};
1937#line 185
1938struct futex_pi_state;
1939#line 185
1940struct futex_pi_state;
1941#line 186
1942struct robust_list_head;
1943#line 186
1944struct robust_list_head;
1945#line 187
1946struct bio_list;
1947#line 187
1948struct bio_list;
1949#line 188
1950struct fs_struct;
1951#line 188
1952struct fs_struct;
1953#line 189
1954struct perf_event_context;
1955#line 189
1956struct perf_event_context;
1957#line 190
1958struct blk_plug;
1959#line 190
1960struct blk_plug;
1961#line 149 "include/linux/sched.h"
1962struct cfs_rq;
1963#line 149
1964struct cfs_rq;
1965#line 406 "include/linux/sched.h"
1966struct sighand_struct {
1967   atomic_t count ;
1968   struct k_sigaction action[64U] ;
1969   spinlock_t siglock ;
1970   wait_queue_head_t signalfd_wqh ;
1971};
1972#line 449 "include/linux/sched.h"
1973struct pacct_struct {
1974   int ac_flag ;
1975   long ac_exitcode ;
1976   unsigned long ac_mem ;
1977   cputime_t ac_utime ;
1978   cputime_t ac_stime ;
1979   unsigned long ac_minflt ;
1980   unsigned long ac_majflt ;
1981};
1982#line 457 "include/linux/sched.h"
1983struct cpu_itimer {
1984   cputime_t expires ;
1985   cputime_t incr ;
1986   u32 error ;
1987   u32 incr_error ;
1988};
1989#line 464 "include/linux/sched.h"
1990struct task_cputime {
1991   cputime_t utime ;
1992   cputime_t stime ;
1993   unsigned long long sum_exec_runtime ;
1994};
1995#line 481 "include/linux/sched.h"
1996struct thread_group_cputimer {
1997   struct task_cputime cputime ;
1998   int running ;
1999   raw_spinlock_t lock ;
2000};
2001#line 517
2002struct autogroup;
2003#line 517
2004struct autogroup;
2005#line 518
2006struct tty_struct;
2007#line 518
2008struct taskstats;
2009#line 518
2010struct tty_audit_buf;
2011#line 518 "include/linux/sched.h"
2012struct signal_struct {
2013   atomic_t sigcnt ;
2014   atomic_t live ;
2015   int nr_threads ;
2016   wait_queue_head_t wait_chldexit ;
2017   struct task_struct *curr_target ;
2018   struct sigpending shared_pending ;
2019   int group_exit_code ;
2020   int notify_count ;
2021   struct task_struct *group_exit_task ;
2022   int group_stop_count ;
2023   unsigned int flags ;
2024   unsigned char is_child_subreaper : 1 ;
2025   unsigned char has_child_subreaper : 1 ;
2026   struct list_head posix_timers ;
2027   struct hrtimer real_timer ;
2028   struct pid *leader_pid ;
2029   ktime_t it_real_incr ;
2030   struct cpu_itimer it[2U] ;
2031   struct thread_group_cputimer cputimer ;
2032   struct task_cputime cputime_expires ;
2033   struct list_head cpu_timers[3U] ;
2034   struct pid *tty_old_pgrp ;
2035   int leader ;
2036   struct tty_struct *tty ;
2037   struct autogroup *autogroup ;
2038   cputime_t utime ;
2039   cputime_t stime ;
2040   cputime_t cutime ;
2041   cputime_t cstime ;
2042   cputime_t gtime ;
2043   cputime_t cgtime ;
2044   cputime_t prev_utime ;
2045   cputime_t prev_stime ;
2046   unsigned long nvcsw ;
2047   unsigned long nivcsw ;
2048   unsigned long cnvcsw ;
2049   unsigned long cnivcsw ;
2050   unsigned long min_flt ;
2051   unsigned long maj_flt ;
2052   unsigned long cmin_flt ;
2053   unsigned long cmaj_flt ;
2054   unsigned long inblock ;
2055   unsigned long oublock ;
2056   unsigned long cinblock ;
2057   unsigned long coublock ;
2058   unsigned long maxrss ;
2059   unsigned long cmaxrss ;
2060   struct task_io_accounting ioac ;
2061   unsigned long long sum_sched_runtime ;
2062   struct rlimit rlim[16U] ;
2063   struct pacct_struct pacct ;
2064   struct taskstats *stats ;
2065   unsigned int audit_tty ;
2066   struct tty_audit_buf *tty_audit_buf ;
2067   struct rw_semaphore group_rwsem ;
2068   int oom_adj ;
2069   int oom_score_adj ;
2070   int oom_score_adj_min ;
2071   struct mutex cred_guard_mutex ;
2072};
2073#line 699 "include/linux/sched.h"
2074struct user_struct {
2075   atomic_t __count ;
2076   atomic_t processes ;
2077   atomic_t files ;
2078   atomic_t sigpending ;
2079   atomic_t inotify_watches ;
2080   atomic_t inotify_devs ;
2081   atomic_t fanotify_listeners ;
2082   atomic_long_t epoll_watches ;
2083   unsigned long mq_bytes ;
2084   unsigned long locked_shm ;
2085   struct key *uid_keyring ;
2086   struct key *session_keyring ;
2087   struct hlist_node uidhash_node ;
2088   uid_t uid ;
2089   struct user_namespace *user_ns ;
2090   atomic_long_t locked_vm ;
2091};
2092#line 744
2093struct backing_dev_info;
2094#line 744
2095struct backing_dev_info;
2096#line 745
2097struct reclaim_state;
2098#line 745
2099struct reclaim_state;
2100#line 746 "include/linux/sched.h"
2101struct sched_info {
2102   unsigned long pcount ;
2103   unsigned long long run_delay ;
2104   unsigned long long last_arrival ;
2105   unsigned long long last_queued ;
2106};
2107#line 760 "include/linux/sched.h"
2108struct task_delay_info {
2109   spinlock_t lock ;
2110   unsigned int flags ;
2111   struct timespec blkio_start ;
2112   struct timespec blkio_end ;
2113   u64 blkio_delay ;
2114   u64 swapin_delay ;
2115   u32 blkio_count ;
2116   u32 swapin_count ;
2117   struct timespec freepages_start ;
2118   struct timespec freepages_end ;
2119   u64 freepages_delay ;
2120   u32 freepages_count ;
2121};
2122#line 1069
2123struct io_context;
2124#line 1069
2125struct io_context;
2126#line 1097
2127struct pipe_inode_info;
2128#line 1097
2129struct pipe_inode_info;
2130#line 1099
2131struct rq;
2132#line 1099
2133struct rq;
2134#line 1100 "include/linux/sched.h"
2135struct sched_class {
2136   struct sched_class  const  *next ;
2137   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2138   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2139   void (*yield_task)(struct rq * ) ;
2140   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2141   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2142   struct task_struct *(*pick_next_task)(struct rq * ) ;
2143   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2144   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2145   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2146   void (*post_schedule)(struct rq * ) ;
2147   void (*task_waking)(struct task_struct * ) ;
2148   void (*task_woken)(struct rq * , struct task_struct * ) ;
2149   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2150   void (*rq_online)(struct rq * ) ;
2151   void (*rq_offline)(struct rq * ) ;
2152   void (*set_curr_task)(struct rq * ) ;
2153   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2154   void (*task_fork)(struct task_struct * ) ;
2155   void (*switched_from)(struct rq * , struct task_struct * ) ;
2156   void (*switched_to)(struct rq * , struct task_struct * ) ;
2157   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2158   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2159   void (*task_move_group)(struct task_struct * , int  ) ;
2160};
2161#line 1165 "include/linux/sched.h"
2162struct load_weight {
2163   unsigned long weight ;
2164   unsigned long inv_weight ;
2165};
2166#line 1170 "include/linux/sched.h"
2167struct sched_statistics {
2168   u64 wait_start ;
2169   u64 wait_max ;
2170   u64 wait_count ;
2171   u64 wait_sum ;
2172   u64 iowait_count ;
2173   u64 iowait_sum ;
2174   u64 sleep_start ;
2175   u64 sleep_max ;
2176   s64 sum_sleep_runtime ;
2177   u64 block_start ;
2178   u64 block_max ;
2179   u64 exec_max ;
2180   u64 slice_max ;
2181   u64 nr_migrations_cold ;
2182   u64 nr_failed_migrations_affine ;
2183   u64 nr_failed_migrations_running ;
2184   u64 nr_failed_migrations_hot ;
2185   u64 nr_forced_migrations ;
2186   u64 nr_wakeups ;
2187   u64 nr_wakeups_sync ;
2188   u64 nr_wakeups_migrate ;
2189   u64 nr_wakeups_local ;
2190   u64 nr_wakeups_remote ;
2191   u64 nr_wakeups_affine ;
2192   u64 nr_wakeups_affine_attempts ;
2193   u64 nr_wakeups_passive ;
2194   u64 nr_wakeups_idle ;
2195};
2196#line 1205 "include/linux/sched.h"
2197struct sched_entity {
2198   struct load_weight load ;
2199   struct rb_node run_node ;
2200   struct list_head group_node ;
2201   unsigned int on_rq ;
2202   u64 exec_start ;
2203   u64 sum_exec_runtime ;
2204   u64 vruntime ;
2205   u64 prev_sum_exec_runtime ;
2206   u64 nr_migrations ;
2207   struct sched_statistics statistics ;
2208   struct sched_entity *parent ;
2209   struct cfs_rq *cfs_rq ;
2210   struct cfs_rq *my_q ;
2211};
2212#line 1231
2213struct rt_rq;
2214#line 1231 "include/linux/sched.h"
2215struct sched_rt_entity {
2216   struct list_head run_list ;
2217   unsigned long timeout ;
2218   unsigned int time_slice ;
2219   int nr_cpus_allowed ;
2220   struct sched_rt_entity *back ;
2221   struct sched_rt_entity *parent ;
2222   struct rt_rq *rt_rq ;
2223   struct rt_rq *my_q ;
2224};
2225#line 1255
2226struct mem_cgroup;
2227#line 1255 "include/linux/sched.h"
2228struct memcg_batch_info {
2229   int do_batch ;
2230   struct mem_cgroup *memcg ;
2231   unsigned long nr_pages ;
2232   unsigned long memsw_nr_pages ;
2233};
2234#line 1616
2235struct files_struct;
2236#line 1616
2237struct css_set;
2238#line 1616
2239struct compat_robust_list_head;
2240#line 1616 "include/linux/sched.h"
2241struct task_struct {
2242   long volatile   state ;
2243   void *stack ;
2244   atomic_t usage ;
2245   unsigned int flags ;
2246   unsigned int ptrace ;
2247   struct llist_node wake_entry ;
2248   int on_cpu ;
2249   int on_rq ;
2250   int prio ;
2251   int static_prio ;
2252   int normal_prio ;
2253   unsigned int rt_priority ;
2254   struct sched_class  const  *sched_class ;
2255   struct sched_entity se ;
2256   struct sched_rt_entity rt ;
2257   struct hlist_head preempt_notifiers ;
2258   unsigned char fpu_counter ;
2259   unsigned int policy ;
2260   cpumask_t cpus_allowed ;
2261   struct sched_info sched_info ;
2262   struct list_head tasks ;
2263   struct plist_node pushable_tasks ;
2264   struct mm_struct *mm ;
2265   struct mm_struct *active_mm ;
2266   unsigned char brk_randomized : 1 ;
2267   int exit_state ;
2268   int exit_code ;
2269   int exit_signal ;
2270   int pdeath_signal ;
2271   unsigned int jobctl ;
2272   unsigned int personality ;
2273   unsigned char did_exec : 1 ;
2274   unsigned char in_execve : 1 ;
2275   unsigned char in_iowait : 1 ;
2276   unsigned char sched_reset_on_fork : 1 ;
2277   unsigned char sched_contributes_to_load : 1 ;
2278   unsigned char irq_thread : 1 ;
2279   pid_t pid ;
2280   pid_t tgid ;
2281   unsigned long stack_canary ;
2282   struct task_struct *real_parent ;
2283   struct task_struct *parent ;
2284   struct list_head children ;
2285   struct list_head sibling ;
2286   struct task_struct *group_leader ;
2287   struct list_head ptraced ;
2288   struct list_head ptrace_entry ;
2289   struct pid_link pids[3U] ;
2290   struct list_head thread_group ;
2291   struct completion *vfork_done ;
2292   int *set_child_tid ;
2293   int *clear_child_tid ;
2294   cputime_t utime ;
2295   cputime_t stime ;
2296   cputime_t utimescaled ;
2297   cputime_t stimescaled ;
2298   cputime_t gtime ;
2299   cputime_t prev_utime ;
2300   cputime_t prev_stime ;
2301   unsigned long nvcsw ;
2302   unsigned long nivcsw ;
2303   struct timespec start_time ;
2304   struct timespec real_start_time ;
2305   unsigned long min_flt ;
2306   unsigned long maj_flt ;
2307   struct task_cputime cputime_expires ;
2308   struct list_head cpu_timers[3U] ;
2309   struct cred  const  *real_cred ;
2310   struct cred  const  *cred ;
2311   struct cred *replacement_session_keyring ;
2312   char comm[16U] ;
2313   int link_count ;
2314   int total_link_count ;
2315   struct sysv_sem sysvsem ;
2316   unsigned long last_switch_count ;
2317   struct thread_struct thread ;
2318   struct fs_struct *fs ;
2319   struct files_struct *files ;
2320   struct nsproxy *nsproxy ;
2321   struct signal_struct *signal ;
2322   struct sighand_struct *sighand ;
2323   sigset_t blocked ;
2324   sigset_t real_blocked ;
2325   sigset_t saved_sigmask ;
2326   struct sigpending pending ;
2327   unsigned long sas_ss_sp ;
2328   size_t sas_ss_size ;
2329   int (*notifier)(void * ) ;
2330   void *notifier_data ;
2331   sigset_t *notifier_mask ;
2332   struct audit_context *audit_context ;
2333   uid_t loginuid ;
2334   unsigned int sessionid ;
2335   seccomp_t seccomp ;
2336   u32 parent_exec_id ;
2337   u32 self_exec_id ;
2338   spinlock_t alloc_lock ;
2339   raw_spinlock_t pi_lock ;
2340   struct plist_head pi_waiters ;
2341   struct rt_mutex_waiter *pi_blocked_on ;
2342   struct mutex_waiter *blocked_on ;
2343   unsigned int irq_events ;
2344   unsigned long hardirq_enable_ip ;
2345   unsigned long hardirq_disable_ip ;
2346   unsigned int hardirq_enable_event ;
2347   unsigned int hardirq_disable_event ;
2348   int hardirqs_enabled ;
2349   int hardirq_context ;
2350   unsigned long softirq_disable_ip ;
2351   unsigned long softirq_enable_ip ;
2352   unsigned int softirq_disable_event ;
2353   unsigned int softirq_enable_event ;
2354   int softirqs_enabled ;
2355   int softirq_context ;
2356   u64 curr_chain_key ;
2357   int lockdep_depth ;
2358   unsigned int lockdep_recursion ;
2359   struct held_lock held_locks[48U] ;
2360   gfp_t lockdep_reclaim_gfp ;
2361   void *journal_info ;
2362   struct bio_list *bio_list ;
2363   struct blk_plug *plug ;
2364   struct reclaim_state *reclaim_state ;
2365   struct backing_dev_info *backing_dev_info ;
2366   struct io_context *io_context ;
2367   unsigned long ptrace_message ;
2368   siginfo_t *last_siginfo ;
2369   struct task_io_accounting ioac ;
2370   u64 acct_rss_mem1 ;
2371   u64 acct_vm_mem1 ;
2372   cputime_t acct_timexpd ;
2373   nodemask_t mems_allowed ;
2374   seqcount_t mems_allowed_seq ;
2375   int cpuset_mem_spread_rotor ;
2376   int cpuset_slab_spread_rotor ;
2377   struct css_set *cgroups ;
2378   struct list_head cg_list ;
2379   struct robust_list_head *robust_list ;
2380   struct compat_robust_list_head *compat_robust_list ;
2381   struct list_head pi_state_list ;
2382   struct futex_pi_state *pi_state_cache ;
2383   struct perf_event_context *perf_event_ctxp[2U] ;
2384   struct mutex perf_event_mutex ;
2385   struct list_head perf_event_list ;
2386   struct mempolicy *mempolicy ;
2387   short il_next ;
2388   short pref_node_fork ;
2389   struct rcu_head rcu ;
2390   struct pipe_inode_info *splice_pipe ;
2391   struct task_delay_info *delays ;
2392   int make_it_fail ;
2393   int nr_dirtied ;
2394   int nr_dirtied_pause ;
2395   unsigned long dirty_paused_when ;
2396   int latency_record_count ;
2397   struct latency_record latency_record[32U] ;
2398   unsigned long timer_slack_ns ;
2399   unsigned long default_timer_slack_ns ;
2400   struct list_head *scm_work_list ;
2401   unsigned long trace ;
2402   unsigned long trace_recursion ;
2403   struct memcg_batch_info memcg_batch ;
2404   atomic_t ptrace_bp_refcnt ;
2405};
2406#line 28 "include/linux/of.h"
2407typedef u32 phandle;
2408#line 30 "include/linux/of.h"
2409struct property {
2410   char *name ;
2411   int length ;
2412   void *value ;
2413   struct property *next ;
2414   unsigned long _flags ;
2415   unsigned int unique_id ;
2416};
2417#line 39
2418struct proc_dir_entry;
2419#line 39 "include/linux/of.h"
2420struct device_node {
2421   char const   *name ;
2422   char const   *type ;
2423   phandle phandle ;
2424   char *full_name ;
2425   struct property *properties ;
2426   struct property *deadprops ;
2427   struct device_node *parent ;
2428   struct device_node *child ;
2429   struct device_node *sibling ;
2430   struct device_node *next ;
2431   struct device_node *allnext ;
2432   struct proc_dir_entry *pde ;
2433   struct kref kref ;
2434   unsigned long _flags ;
2435   void *data ;
2436};
2437#line 41 "include/linux/i2c.h"
2438struct i2c_msg;
2439#line 41
2440struct i2c_msg;
2441#line 42
2442struct i2c_algorithm;
2443#line 42
2444struct i2c_algorithm;
2445#line 43
2446struct i2c_adapter;
2447#line 43
2448struct i2c_adapter;
2449#line 44
2450struct i2c_client;
2451#line 44
2452struct i2c_client;
2453#line 45
2454struct i2c_driver;
2455#line 45
2456struct i2c_driver;
2457#line 46
2458union i2c_smbus_data;
2459#line 46
2460union i2c_smbus_data;
2461#line 47
2462struct i2c_board_info;
2463#line 47
2464struct i2c_board_info;
2465#line 119 "include/linux/i2c.h"
2466struct i2c_driver {
2467   unsigned int class ;
2468   int (*attach_adapter)(struct i2c_adapter * ) ;
2469   int (*detach_adapter)(struct i2c_adapter * ) ;
2470   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
2471   int (*remove)(struct i2c_client * ) ;
2472   void (*shutdown)(struct i2c_client * ) ;
2473   int (*suspend)(struct i2c_client * , pm_message_t  ) ;
2474   int (*resume)(struct i2c_client * ) ;
2475   void (*alert)(struct i2c_client * , unsigned int  ) ;
2476   int (*command)(struct i2c_client * , unsigned int  , void * ) ;
2477   struct device_driver driver ;
2478   struct i2c_device_id  const  *id_table ;
2479   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2480   unsigned short const   *address_list ;
2481   struct list_head clients ;
2482};
2483#line 200 "include/linux/i2c.h"
2484struct i2c_client {
2485   unsigned short flags ;
2486   unsigned short addr ;
2487   char name[20U] ;
2488   struct i2c_adapter *adapter ;
2489   struct i2c_driver *driver ;
2490   struct device dev ;
2491   int irq ;
2492   struct list_head detected ;
2493};
2494#line 251 "include/linux/i2c.h"
2495struct i2c_board_info {
2496   char type[20U] ;
2497   unsigned short flags ;
2498   unsigned short addr ;
2499   void *platform_data ;
2500   struct dev_archdata *archdata ;
2501   struct device_node *of_node ;
2502   int irq ;
2503};
2504#line 336 "include/linux/i2c.h"
2505struct i2c_algorithm {
2506   int (*master_xfer)(struct i2c_adapter * , struct i2c_msg * , int  ) ;
2507   int (*smbus_xfer)(struct i2c_adapter * , u16  , unsigned short  , char  , u8  ,
2508                     int  , union i2c_smbus_data * ) ;
2509   u32 (*functionality)(struct i2c_adapter * ) ;
2510};
2511#line 368 "include/linux/i2c.h"
2512struct i2c_adapter {
2513   struct module *owner ;
2514   unsigned int class ;
2515   struct i2c_algorithm  const  *algo ;
2516   void *algo_data ;
2517   struct rt_mutex bus_lock ;
2518   int timeout ;
2519   int retries ;
2520   struct device dev ;
2521   int nr ;
2522   char name[48U] ;
2523   struct completion dev_released ;
2524   struct mutex userspace_clients_lock ;
2525   struct list_head userspace_clients ;
2526};
2527#line 486 "include/linux/i2c.h"
2528struct i2c_msg {
2529   __u16 addr ;
2530   __u16 flags ;
2531   __u16 len ;
2532   __u8 *buf ;
2533};
2534#line 551 "include/linux/i2c.h"
2535union i2c_smbus_data {
2536   __u8 byte ;
2537   __u16 word ;
2538   __u8 block[34U] ;
2539};
2540#line 602
2541struct regmap;
2542#line 602
2543struct regmap;
2544#line 603
2545enum regcache_type {
2546    REGCACHE_NONE = 0,
2547    REGCACHE_RBTREE = 1,
2548    REGCACHE_COMPRESSED = 2
2549} ;
2550#line 609 "include/linux/i2c.h"
2551struct reg_default {
2552   unsigned int reg ;
2553   unsigned int def ;
2554};
2555#line 43 "include/linux/regmap.h"
2556struct regmap_config {
2557   int reg_bits ;
2558   int pad_bits ;
2559   int val_bits ;
2560   bool (*writeable_reg)(struct device * , unsigned int  ) ;
2561   bool (*readable_reg)(struct device * , unsigned int  ) ;
2562   bool (*volatile_reg)(struct device * , unsigned int  ) ;
2563   bool (*precious_reg)(struct device * , unsigned int  ) ;
2564   unsigned int max_register ;
2565   struct reg_default  const  *reg_defaults ;
2566   unsigned int num_reg_defaults ;
2567   enum regcache_type cache_type ;
2568   void const   *reg_defaults_raw ;
2569   unsigned int num_reg_defaults_raw ;
2570   u8 read_flag_mask ;
2571   u8 write_flag_mask ;
2572};
2573#line 220 "include/linux/regmap.h"
2574struct mfd_cell {
2575   char const   *name ;
2576   int id ;
2577   atomic_t *usage_count ;
2578   int (*enable)(struct platform_device * ) ;
2579   int (*disable)(struct platform_device * ) ;
2580   int (*suspend)(struct platform_device * ) ;
2581   int (*resume)(struct platform_device * ) ;
2582   void *platform_data ;
2583   size_t pdata_size ;
2584   int num_resources ;
2585   struct resource  const  *resources ;
2586   bool ignore_resource_conflicts ;
2587   bool pm_runtime_no_callbacks ;
2588};
2589#line 99 "include/linux/mfd/core.h"
2590struct regulator;
2591#line 99
2592struct regulator;
2593#line 189 "include/linux/regulator/consumer.h"
2594struct regulator_dev;
2595#line 189
2596struct regulator_dev;
2597#line 190
2598struct regulator_init_data;
2599#line 190
2600struct regulator_init_data;
2601#line 201 "include/linux/regulator/consumer.h"
2602struct regulator_ops {
2603   int (*list_voltage)(struct regulator_dev * , unsigned int  ) ;
2604   int (*set_voltage)(struct regulator_dev * , int  , int  , unsigned int * ) ;
2605   int (*set_voltage_sel)(struct regulator_dev * , unsigned int  ) ;
2606   int (*get_voltage)(struct regulator_dev * ) ;
2607   int (*get_voltage_sel)(struct regulator_dev * ) ;
2608   int (*set_current_limit)(struct regulator_dev * , int  , int  ) ;
2609   int (*get_current_limit)(struct regulator_dev * ) ;
2610   int (*enable)(struct regulator_dev * ) ;
2611   int (*disable)(struct regulator_dev * ) ;
2612   int (*is_enabled)(struct regulator_dev * ) ;
2613   int (*set_mode)(struct regulator_dev * , unsigned int  ) ;
2614   unsigned int (*get_mode)(struct regulator_dev * ) ;
2615   int (*enable_time)(struct regulator_dev * ) ;
2616   int (*set_voltage_time_sel)(struct regulator_dev * , unsigned int  , unsigned int  ) ;
2617   int (*get_status)(struct regulator_dev * ) ;
2618   unsigned int (*get_optimum_mode)(struct regulator_dev * , int  , int  , int  ) ;
2619   int (*set_suspend_voltage)(struct regulator_dev * , int  ) ;
2620   int (*set_suspend_enable)(struct regulator_dev * ) ;
2621   int (*set_suspend_disable)(struct regulator_dev * ) ;
2622   int (*set_suspend_mode)(struct regulator_dev * , unsigned int  ) ;
2623};
2624#line 141 "include/linux/regulator/driver.h"
2625enum regulator_type {
2626    REGULATOR_VOLTAGE = 0,
2627    REGULATOR_CURRENT = 1
2628} ;
2629#line 146 "include/linux/regulator/driver.h"
2630struct regulator_desc {
2631   char const   *name ;
2632   char const   *supply_name ;
2633   int id ;
2634   unsigned int n_voltages ;
2635   struct regulator_ops *ops ;
2636   int irq ;
2637   enum regulator_type type ;
2638   struct module *owner ;
2639};
2640#line 175
2641struct regulation_constraints;
2642#line 175 "include/linux/regulator/driver.h"
2643struct regulator_dev {
2644   struct regulator_desc *desc ;
2645   int exclusive ;
2646   u32 use_count ;
2647   u32 open_count ;
2648   struct list_head list ;
2649   struct list_head consumer_list ;
2650   struct blocking_notifier_head notifier ;
2651   struct mutex mutex ;
2652   struct module *owner ;
2653   struct device dev ;
2654   struct regulation_constraints *constraints ;
2655   struct regulator *supply ;
2656   struct delayed_work disable_work ;
2657   int deferred_disables ;
2658   void *reg_data ;
2659   struct dentry *debugfs ;
2660};
2661#line 228 "include/linux/regulator/driver.h"
2662struct taskstats {
2663   __u16 version ;
2664   __u32 ac_exitcode ;
2665   __u8 ac_flag ;
2666   __u8 ac_nice ;
2667   __u64 cpu_count ;
2668   __u64 cpu_delay_total ;
2669   __u64 blkio_count ;
2670   __u64 blkio_delay_total ;
2671   __u64 swapin_count ;
2672   __u64 swapin_delay_total ;
2673   __u64 cpu_run_real_total ;
2674   __u64 cpu_run_virtual_total ;
2675   char ac_comm[32U] ;
2676   __u8 ac_sched ;
2677   __u8 ac_pad[3U] ;
2678   __u32 ac_uid ;
2679   __u32 ac_gid ;
2680   __u32 ac_pid ;
2681   __u32 ac_ppid ;
2682   __u32 ac_btime ;
2683   __u64 ac_etime ;
2684   __u64 ac_utime ;
2685   __u64 ac_stime ;
2686   __u64 ac_minflt ;
2687   __u64 ac_majflt ;
2688   __u64 coremem ;
2689   __u64 virtmem ;
2690   __u64 hiwater_rss ;
2691   __u64 hiwater_vm ;
2692   __u64 read_char ;
2693   __u64 write_char ;
2694   __u64 read_syscalls ;
2695   __u64 write_syscalls ;
2696   __u64 read_bytes ;
2697   __u64 write_bytes ;
2698   __u64 cancelled_write_bytes ;
2699   __u64 nvcsw ;
2700   __u64 nivcsw ;
2701   __u64 ac_utimescaled ;
2702   __u64 ac_stimescaled ;
2703   __u64 cpu_scaled_run_real_total ;
2704   __u64 freepages_count ;
2705   __u64 freepages_delay_total ;
2706};
2707#line 154 "include/linux/idr.h"
2708struct cgroupfs_root;
2709#line 154
2710struct cgroupfs_root;
2711#line 156
2712struct cgroup;
2713#line 156
2714struct cgroup;
2715#line 157
2716struct css_id;
2717#line 157
2718struct css_id;
2719#line 56 "include/linux/cgroup.h"
2720struct cgroup_subsys_state {
2721   struct cgroup *cgroup ;
2722   atomic_t refcnt ;
2723   unsigned long flags ;
2724   struct css_id *id ;
2725};
2726#line 149 "include/linux/cgroup.h"
2727struct cgroup {
2728   unsigned long flags ;
2729   atomic_t count ;
2730   struct list_head sibling ;
2731   struct list_head children ;
2732   struct cgroup *parent ;
2733   struct dentry *dentry ;
2734   struct cgroup_subsys_state *subsys[64U] ;
2735   struct cgroupfs_root *root ;
2736   struct cgroup *top_cgroup ;
2737   struct list_head css_sets ;
2738   struct list_head release_list ;
2739   struct list_head pidlists ;
2740   struct mutex pidlist_mutex ;
2741   struct rcu_head rcu_head ;
2742   struct list_head event_list ;
2743   spinlock_t event_list_lock ;
2744};
2745#line 215 "include/linux/cgroup.h"
2746struct css_set {
2747   atomic_t refcount ;
2748   struct hlist_node hlist ;
2749   struct list_head tasks ;
2750   struct list_head cg_links ;
2751   struct cgroup_subsys_state *subsys[64U] ;
2752   struct rcu_head rcu_head ;
2753};
2754#line 108 "include/linux/swap.h"
2755struct reclaim_state {
2756   unsigned long reclaimed_slab ;
2757};
2758#line 178 "include/linux/mm.h"
2759struct vm_fault {
2760   unsigned int flags ;
2761   unsigned long pgoff ;
2762   void *virtual_address ;
2763   struct page *page ;
2764};
2765#line 195 "include/linux/mm.h"
2766struct vm_operations_struct {
2767   void (*open)(struct vm_area_struct * ) ;
2768   void (*close)(struct vm_area_struct * ) ;
2769   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2770   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2771   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
2772   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2773   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
2774   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
2775                  unsigned long  ) ;
2776};
2777#line 34 "include/linux/suspend.h"
2778typedef int suspend_state_t;
2779#line 443 "include/linux/suspend.h"
2780struct regulator_state {
2781   int uV ;
2782   unsigned int mode ;
2783   int enabled ;
2784   int disabled ;
2785};
2786#line 61 "include/linux/regulator/machine.h"
2787struct regulation_constraints {
2788   char const   *name ;
2789   int min_uV ;
2790   int max_uV ;
2791   int uV_offset ;
2792   int min_uA ;
2793   int max_uA ;
2794   unsigned int valid_modes_mask ;
2795   unsigned int valid_ops_mask ;
2796   int input_uV ;
2797   struct regulator_state state_disk ;
2798   struct regulator_state state_mem ;
2799   struct regulator_state state_standby ;
2800   suspend_state_t initial_state ;
2801   unsigned int initial_mode ;
2802   unsigned char always_on : 1 ;
2803   unsigned char boot_on : 1 ;
2804   unsigned char apply_uV : 1 ;
2805};
2806#line 133 "include/linux/regulator/machine.h"
2807struct regulator_consumer_supply {
2808   char const   *dev_name ;
2809   char const   *supply ;
2810};
2811#line 147 "include/linux/regulator/machine.h"
2812struct regulator_init_data {
2813   char const   *supply_regulator ;
2814   struct regulation_constraints constraints ;
2815   int num_consumer_supplies ;
2816   struct regulator_consumer_supply *consumer_supplies ;
2817   int (*regulator_init)(void * ) ;
2818   void *driver_data ;
2819};
2820#line 201 "include/linux/regulator/machine.h"
2821struct tps65217_board {
2822   struct regulator_init_data *tps65217_init_data ;
2823};
2824#line 222 "include/linux/mfd/tps65217.h"
2825struct tps_info {
2826   char const   *name ;
2827   int min_uV ;
2828   int max_uV ;
2829   int (*vsel_to_uv)(unsigned int  ) ;
2830   int (*uv_to_vsel)(int  , unsigned int * ) ;
2831   int const   *table ;
2832   unsigned int table_len ;
2833   unsigned int enable_mask ;
2834   unsigned int set_vout_reg ;
2835   unsigned int set_vout_mask ;
2836};
2837#line 250 "include/linux/mfd/tps65217.h"
2838struct tps65217 {
2839   struct device *dev ;
2840   struct tps65217_board *pdata ;
2841   struct regulator_desc desc[7U] ;
2842   struct regulator_dev *rdev[7U] ;
2843   struct tps_info *info[7U] ;
2844   struct regmap *regmap ;
2845   struct platform_device *regulator_pdev[7U] ;
2846};
2847#line 1 "<compiler builtins>"
2848long __builtin_expect(long  , long  ) ;
2849#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
2850void ldv_spin_lock(void) ;
2851#line 3
2852void ldv_spin_unlock(void) ;
2853#line 4
2854int ldv_spin_trylock(void) ;
2855#line 27 "include/linux/err.h"
2856__inline static long PTR_ERR(void const   *ptr ) 
2857{ 
2858
2859  {
2860#line 29
2861  return ((long )ptr);
2862}
2863}
2864#line 32 "include/linux/err.h"
2865__inline static long IS_ERR(void const   *ptr ) 
2866{ long tmp ;
2867  unsigned long __cil_tmp3 ;
2868  int __cil_tmp4 ;
2869  long __cil_tmp5 ;
2870
2871  {
2872  {
2873#line 34
2874  __cil_tmp3 = (unsigned long )ptr;
2875#line 34
2876  __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2877#line 34
2878  __cil_tmp5 = (long )__cil_tmp4;
2879#line 34
2880  tmp = __builtin_expect(__cil_tmp5, 0L);
2881  }
2882#line 34
2883  return (tmp);
2884}
2885}
2886#line 26 "include/linux/export.h"
2887extern struct module __this_module ;
2888#line 220 "include/linux/slub_def.h"
2889extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2890#line 223
2891void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2892#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
2893void ldv_check_alloc_flags(gfp_t flags ) ;
2894#line 12
2895void ldv_check_alloc_nonatomic(void) ;
2896#line 14
2897struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2898#line 553 "include/linux/device.h"
2899extern void *devm_kzalloc(struct device * , size_t  , gfp_t  ) ;
2900#line 792
2901extern void *dev_get_drvdata(struct device  const  * ) ;
2902#line 793
2903extern int dev_set_drvdata(struct device * , void * ) ;
2904#line 892
2905extern int dev_err(struct device  const  * , char const   *  , ...) ;
2906#line 898
2907extern int _dev_info(struct device  const  * , char const   *  , ...) ;
2908#line 40 "include/linux/platform_device.h"
2909extern void platform_device_unregister(struct platform_device * ) ;
2910#line 155
2911extern struct platform_device *platform_device_alloc(char const   * , int  ) ;
2912#line 159
2913extern int platform_device_add_data(struct platform_device * , void const   * , size_t  ) ;
2914#line 160
2915extern int platform_device_add(struct platform_device * ) ;
2916#line 242 "include/linux/i2c.h"
2917__inline static void *i2c_get_clientdata(struct i2c_client  const  *dev ) 
2918{ void *tmp ;
2919  unsigned long __cil_tmp3 ;
2920  unsigned long __cil_tmp4 ;
2921  struct device  const  *__cil_tmp5 ;
2922
2923  {
2924  {
2925#line 244
2926  __cil_tmp3 = (unsigned long )dev;
2927#line 244
2928  __cil_tmp4 = __cil_tmp3 + 40;
2929#line 244
2930  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
2931#line 244
2932  tmp = dev_get_drvdata(__cil_tmp5);
2933  }
2934#line 244
2935  return (tmp);
2936}
2937}
2938#line 247 "include/linux/i2c.h"
2939__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data ) 
2940{ unsigned long __cil_tmp3 ;
2941  unsigned long __cil_tmp4 ;
2942  struct device *__cil_tmp5 ;
2943
2944  {
2945  {
2946#line 249
2947  __cil_tmp3 = (unsigned long )dev;
2948#line 249
2949  __cil_tmp4 = __cil_tmp3 + 40;
2950#line 249
2951  __cil_tmp5 = (struct device *)__cil_tmp4;
2952#line 249
2953  dev_set_drvdata(__cil_tmp5, data);
2954  }
2955#line 250
2956  return;
2957}
2958}
2959#line 450
2960extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
2961#line 451
2962extern void i2c_del_driver(struct i2c_driver * ) ;
2963#line 130 "include/linux/regmap.h"
2964extern struct regmap *regmap_init_i2c(struct i2c_client * , struct regmap_config  const  * ) ;
2965#line 143
2966extern void regmap_exit(struct regmap * ) ;
2967#line 146
2968extern int regmap_write(struct regmap * , unsigned int  , unsigned int  ) ;
2969#line 151
2970extern int regmap_read(struct regmap * , unsigned int  , unsigned int * ) ;
2971#line 274 "include/linux/mfd/tps65217.h"
2972int tps65217_reg_read(struct tps65217 *tps , unsigned int reg , unsigned int *val ) ;
2973#line 276
2974int tps65217_reg_write(struct tps65217 *tps , unsigned int reg , unsigned int val ,
2975                       unsigned int level ) ;
2976#line 278
2977int tps65217_set_bits(struct tps65217 *tps , unsigned int reg , unsigned int mask ,
2978                      unsigned int val , unsigned int level ) ;
2979#line 280
2980int tps65217_clear_bits(struct tps65217 *tps , unsigned int reg , unsigned int mask ,
2981                        unsigned int level ) ;
2982#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
2983int tps65217_reg_read(struct tps65217 *tps , unsigned int reg , unsigned int *val ) 
2984{ int tmp ;
2985  unsigned long __cil_tmp5 ;
2986  unsigned long __cil_tmp6 ;
2987  struct regmap *__cil_tmp7 ;
2988
2989  {
2990  {
2991#line 56
2992  __cil_tmp5 = (unsigned long )tps;
2993#line 56
2994  __cil_tmp6 = __cil_tmp5 + 464;
2995#line 56
2996  __cil_tmp7 = *((struct regmap **)__cil_tmp6);
2997#line 56
2998  tmp = regmap_read(__cil_tmp7, reg, val);
2999  }
3000#line 56
3001  return (tmp);
3002}
3003}
3004#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3005int tps65217_reg_write(struct tps65217 *tps , unsigned int reg , unsigned int val ,
3006                       unsigned int level ) 
3007{ int ret ;
3008  unsigned int xor_reg_val ;
3009  int tmp ;
3010  int tmp___0 ;
3011  int tmp___1 ;
3012  unsigned long __cil_tmp10 ;
3013  unsigned long __cil_tmp11 ;
3014  struct regmap *__cil_tmp12 ;
3015  unsigned long __cil_tmp13 ;
3016  unsigned long __cil_tmp14 ;
3017  struct regmap *__cil_tmp15 ;
3018  unsigned long __cil_tmp16 ;
3019  unsigned long __cil_tmp17 ;
3020  struct regmap *__cil_tmp18 ;
3021  unsigned long __cil_tmp19 ;
3022  unsigned long __cil_tmp20 ;
3023  struct regmap *__cil_tmp21 ;
3024  unsigned long __cil_tmp22 ;
3025  unsigned long __cil_tmp23 ;
3026  struct regmap *__cil_tmp24 ;
3027  unsigned long __cil_tmp25 ;
3028  unsigned long __cil_tmp26 ;
3029  struct regmap *__cil_tmp27 ;
3030  unsigned long __cil_tmp28 ;
3031  unsigned long __cil_tmp29 ;
3032  struct regmap *__cil_tmp30 ;
3033
3034  {
3035#line 75
3036  if ((int )level == 0) {
3037#line 75
3038    goto case_0;
3039  } else
3040#line 77
3041  if ((int )level == 1) {
3042#line 77
3043    goto case_1;
3044  } else
3045#line 85
3046  if ((int )level == 2) {
3047#line 85
3048    goto case_2;
3049  } else {
3050    {
3051#line 99
3052    goto switch_default;
3053#line 74
3054    if (0) {
3055      case_0: /* CIL Label */ 
3056      {
3057#line 76
3058      __cil_tmp10 = (unsigned long )tps;
3059#line 76
3060      __cil_tmp11 = __cil_tmp10 + 464;
3061#line 76
3062      __cil_tmp12 = *((struct regmap **)__cil_tmp11);
3063#line 76
3064      tmp = regmap_write(__cil_tmp12, reg, val);
3065      }
3066#line 76
3067      return (tmp);
3068      case_1: /* CIL Label */ 
3069      {
3070#line 78
3071      xor_reg_val = reg ^ 125U;
3072#line 79
3073      __cil_tmp13 = (unsigned long )tps;
3074#line 79
3075      __cil_tmp14 = __cil_tmp13 + 464;
3076#line 79
3077      __cil_tmp15 = *((struct regmap **)__cil_tmp14);
3078#line 79
3079      ret = regmap_write(__cil_tmp15, 11U, xor_reg_val);
3080      }
3081#line 81
3082      if (ret < 0) {
3083#line 82
3084        return (ret);
3085      } else {
3086
3087      }
3088      {
3089#line 84
3090      __cil_tmp16 = (unsigned long )tps;
3091#line 84
3092      __cil_tmp17 = __cil_tmp16 + 464;
3093#line 84
3094      __cil_tmp18 = *((struct regmap **)__cil_tmp17);
3095#line 84
3096      tmp___0 = regmap_write(__cil_tmp18, reg, val);
3097      }
3098#line 84
3099      return (tmp___0);
3100      case_2: /* CIL Label */ 
3101      {
3102#line 86
3103      xor_reg_val = reg ^ 125U;
3104#line 87
3105      __cil_tmp19 = (unsigned long )tps;
3106#line 87
3107      __cil_tmp20 = __cil_tmp19 + 464;
3108#line 87
3109      __cil_tmp21 = *((struct regmap **)__cil_tmp20);
3110#line 87
3111      ret = regmap_write(__cil_tmp21, 11U, xor_reg_val);
3112      }
3113#line 89
3114      if (ret < 0) {
3115#line 90
3116        return (ret);
3117      } else {
3118
3119      }
3120      {
3121#line 91
3122      __cil_tmp22 = (unsigned long )tps;
3123#line 91
3124      __cil_tmp23 = __cil_tmp22 + 464;
3125#line 91
3126      __cil_tmp24 = *((struct regmap **)__cil_tmp23);
3127#line 91
3128      ret = regmap_write(__cil_tmp24, reg, val);
3129      }
3130#line 92
3131      if (ret < 0) {
3132#line 93
3133        return (ret);
3134      } else {
3135
3136      }
3137      {
3138#line 94
3139      __cil_tmp25 = (unsigned long )tps;
3140#line 94
3141      __cil_tmp26 = __cil_tmp25 + 464;
3142#line 94
3143      __cil_tmp27 = *((struct regmap **)__cil_tmp26);
3144#line 94
3145      ret = regmap_write(__cil_tmp27, 11U, xor_reg_val);
3146      }
3147#line 96
3148      if (ret < 0) {
3149#line 97
3150        return (ret);
3151      } else {
3152
3153      }
3154      {
3155#line 98
3156      __cil_tmp28 = (unsigned long )tps;
3157#line 98
3158      __cil_tmp29 = __cil_tmp28 + 464;
3159#line 98
3160      __cil_tmp30 = *((struct regmap **)__cil_tmp29);
3161#line 98
3162      tmp___1 = regmap_write(__cil_tmp30, reg, val);
3163      }
3164#line 98
3165      return (tmp___1);
3166      switch_default: /* CIL Label */ ;
3167#line 100
3168      return (-22);
3169    } else {
3170      switch_break: /* CIL Label */ ;
3171    }
3172    }
3173  }
3174}
3175}
3176#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3177int tps65217_update_bits(struct tps65217 *tps , unsigned int reg , unsigned int mask ,
3178                         unsigned int val , unsigned int level ) 
3179{ int ret ;
3180  unsigned int data ;
3181  struct device *__cil_tmp8 ;
3182  struct device  const  *__cil_tmp9 ;
3183  unsigned int *__cil_tmp10 ;
3184  unsigned int *__cil_tmp11 ;
3185  unsigned int __cil_tmp12 ;
3186  unsigned int __cil_tmp13 ;
3187  unsigned int *__cil_tmp14 ;
3188  unsigned int *__cil_tmp15 ;
3189  unsigned int __cil_tmp16 ;
3190  unsigned int __cil_tmp17 ;
3191  unsigned int *__cil_tmp18 ;
3192  unsigned int __cil_tmp19 ;
3193  struct device *__cil_tmp20 ;
3194  struct device  const  *__cil_tmp21 ;
3195
3196  {
3197  {
3198#line 120
3199  ret = tps65217_reg_read(tps, reg, & data);
3200  }
3201#line 121
3202  if (ret != 0) {
3203    {
3204#line 122
3205    __cil_tmp8 = *((struct device **)tps);
3206#line 122
3207    __cil_tmp9 = (struct device  const  *)__cil_tmp8;
3208#line 122
3209    dev_err(__cil_tmp9, "Read from reg 0x%x failed\n", reg);
3210    }
3211#line 123
3212    return (ret);
3213  } else {
3214
3215  }
3216  {
3217#line 126
3218  __cil_tmp10 = & data;
3219#line 126
3220  __cil_tmp11 = & data;
3221#line 126
3222  __cil_tmp12 = *__cil_tmp11;
3223#line 126
3224  __cil_tmp13 = ~ mask;
3225#line 126
3226  *__cil_tmp10 = __cil_tmp13 & __cil_tmp12;
3227#line 127
3228  __cil_tmp14 = & data;
3229#line 127
3230  __cil_tmp15 = & data;
3231#line 127
3232  __cil_tmp16 = *__cil_tmp15;
3233#line 127
3234  __cil_tmp17 = val & mask;
3235#line 127
3236  *__cil_tmp14 = __cil_tmp17 | __cil_tmp16;
3237#line 129
3238  __cil_tmp18 = & data;
3239#line 129
3240  __cil_tmp19 = *__cil_tmp18;
3241#line 129
3242  ret = tps65217_reg_write(tps, reg, __cil_tmp19, level);
3243  }
3244#line 130
3245  if (ret != 0) {
3246    {
3247#line 131
3248    __cil_tmp20 = *((struct device **)tps);
3249#line 131
3250    __cil_tmp21 = (struct device  const  *)__cil_tmp20;
3251#line 131
3252    dev_err(__cil_tmp21, "Write for reg 0x%x failed\n", reg);
3253    }
3254  } else {
3255
3256  }
3257#line 133
3258  return (ret);
3259}
3260}
3261#line 136 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3262int tps65217_set_bits(struct tps65217 *tps , unsigned int reg , unsigned int mask ,
3263                      unsigned int val , unsigned int level ) 
3264{ int tmp ;
3265
3266  {
3267  {
3268#line 139
3269  tmp = tps65217_update_bits(tps, reg, mask, val, level);
3270  }
3271#line 139
3272  return (tmp);
3273}
3274}
3275#line 143 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3276int tps65217_clear_bits(struct tps65217 *tps , unsigned int reg , unsigned int mask ,
3277                        unsigned int level ) 
3278{ int tmp ;
3279
3280  {
3281  {
3282#line 146
3283  tmp = tps65217_update_bits(tps, reg, mask, 0U, level);
3284  }
3285#line 146
3286  return (tmp);
3287}
3288}
3289#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3290static struct regmap_config tps65217_regmap_config  = 
3291#line 150
3292     {8, 0, 8, (bool (*)(struct device * , unsigned int  ))0, (bool (*)(struct device * ,
3293                                                                      unsigned int  ))0,
3294    (bool (*)(struct device * , unsigned int  ))0, (bool (*)(struct device * , unsigned int  ))0,
3295    0U, (struct reg_default  const  *)0, 0U, 0, (void const   *)0, 0U, (unsigned char)0,
3296    (unsigned char)0};
3297#line 155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3298static int tps65217_probe(struct i2c_client *client , struct i2c_device_id  const  *ids ) 
3299{ struct tps65217 *tps ;
3300  struct tps65217_board *pdata ;
3301  int i ;
3302  int ret ;
3303  unsigned int version ;
3304  void *tmp ;
3305  long tmp___0 ;
3306  long tmp___1 ;
3307  struct platform_device *pdev ;
3308  unsigned long __cil_tmp12 ;
3309  unsigned long __cil_tmp13 ;
3310  unsigned long __cil_tmp14 ;
3311  void *__cil_tmp15 ;
3312  unsigned long __cil_tmp16 ;
3313  unsigned long __cil_tmp17 ;
3314  struct device *__cil_tmp18 ;
3315  struct tps65217 *__cil_tmp19 ;
3316  unsigned long __cil_tmp20 ;
3317  unsigned long __cil_tmp21 ;
3318  unsigned long __cil_tmp22 ;
3319  unsigned long __cil_tmp23 ;
3320  unsigned long __cil_tmp24 ;
3321  unsigned long __cil_tmp25 ;
3322  struct regmap_config  const  *__cil_tmp26 ;
3323  unsigned long __cil_tmp27 ;
3324  unsigned long __cil_tmp28 ;
3325  struct regmap *__cil_tmp29 ;
3326  void const   *__cil_tmp30 ;
3327  unsigned long __cil_tmp31 ;
3328  unsigned long __cil_tmp32 ;
3329  struct regmap *__cil_tmp33 ;
3330  void const   *__cil_tmp34 ;
3331  struct device *__cil_tmp35 ;
3332  struct device  const  *__cil_tmp36 ;
3333  void *__cil_tmp37 ;
3334  unsigned long __cil_tmp38 ;
3335  unsigned long __cil_tmp39 ;
3336  struct device *__cil_tmp40 ;
3337  struct device  const  *__cil_tmp41 ;
3338  struct device *__cil_tmp42 ;
3339  struct device  const  *__cil_tmp43 ;
3340  unsigned int *__cil_tmp44 ;
3341  unsigned int __cil_tmp45 ;
3342  unsigned int __cil_tmp46 ;
3343  unsigned int __cil_tmp47 ;
3344  unsigned int *__cil_tmp48 ;
3345  unsigned int __cil_tmp49 ;
3346  unsigned int __cil_tmp50 ;
3347  struct platform_device *__cil_tmp51 ;
3348  unsigned long __cil_tmp52 ;
3349  unsigned long __cil_tmp53 ;
3350  struct device *__cil_tmp54 ;
3351  struct device  const  *__cil_tmp55 ;
3352  unsigned long __cil_tmp56 ;
3353  unsigned long __cil_tmp57 ;
3354  unsigned long __cil_tmp58 ;
3355  struct regulator_init_data *__cil_tmp59 ;
3356  void const   *__cil_tmp60 ;
3357  void const   *__cil_tmp61 ;
3358  unsigned long __cil_tmp62 ;
3359  unsigned long __cil_tmp63 ;
3360  unsigned long __cil_tmp64 ;
3361  unsigned long __cil_tmp65 ;
3362  unsigned long __cil_tmp66 ;
3363  unsigned long __cil_tmp67 ;
3364  struct regmap *__cil_tmp68 ;
3365
3366  {
3367  {
3368#line 159
3369  __cil_tmp12 = 40 + 280;
3370#line 159
3371  __cil_tmp13 = (unsigned long )client;
3372#line 159
3373  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3374#line 159
3375  __cil_tmp15 = *((void **)__cil_tmp14);
3376#line 159
3377  pdata = (struct tps65217_board *)__cil_tmp15;
3378#line 163
3379  __cil_tmp16 = (unsigned long )client;
3380#line 163
3381  __cil_tmp17 = __cil_tmp16 + 40;
3382#line 163
3383  __cil_tmp18 = (struct device *)__cil_tmp17;
3384#line 163
3385  tmp = devm_kzalloc(__cil_tmp18, 528UL, 208U);
3386#line 163
3387  tps = (struct tps65217 *)tmp;
3388  }
3389  {
3390#line 164
3391  __cil_tmp19 = (struct tps65217 *)0;
3392#line 164
3393  __cil_tmp20 = (unsigned long )__cil_tmp19;
3394#line 164
3395  __cil_tmp21 = (unsigned long )tps;
3396#line 164
3397  if (__cil_tmp21 == __cil_tmp20) {
3398#line 165
3399    return (-12);
3400  } else {
3401
3402  }
3403  }
3404  {
3405#line 167
3406  __cil_tmp22 = (unsigned long )tps;
3407#line 167
3408  __cil_tmp23 = __cil_tmp22 + 8;
3409#line 167
3410  *((struct tps65217_board **)__cil_tmp23) = pdata;
3411#line 168
3412  __cil_tmp24 = (unsigned long )tps;
3413#line 168
3414  __cil_tmp25 = __cil_tmp24 + 464;
3415#line 168
3416  __cil_tmp26 = (struct regmap_config  const  *)(& tps65217_regmap_config);
3417#line 168
3418  *((struct regmap **)__cil_tmp25) = regmap_init_i2c(client, __cil_tmp26);
3419#line 169
3420  __cil_tmp27 = (unsigned long )tps;
3421#line 169
3422  __cil_tmp28 = __cil_tmp27 + 464;
3423#line 169
3424  __cil_tmp29 = *((struct regmap **)__cil_tmp28);
3425#line 169
3426  __cil_tmp30 = (void const   *)__cil_tmp29;
3427#line 169
3428  tmp___1 = IS_ERR(__cil_tmp30);
3429  }
3430#line 169
3431  if (tmp___1 != 0L) {
3432    {
3433#line 170
3434    __cil_tmp31 = (unsigned long )tps;
3435#line 170
3436    __cil_tmp32 = __cil_tmp31 + 464;
3437#line 170
3438    __cil_tmp33 = *((struct regmap **)__cil_tmp32);
3439#line 170
3440    __cil_tmp34 = (void const   *)__cil_tmp33;
3441#line 170
3442    tmp___0 = PTR_ERR(__cil_tmp34);
3443#line 170
3444    ret = (int )tmp___0;
3445#line 171
3446    __cil_tmp35 = *((struct device **)tps);
3447#line 171
3448    __cil_tmp36 = (struct device  const  *)__cil_tmp35;
3449#line 171
3450    dev_err(__cil_tmp36, "Failed to allocate register map: %d\n", ret);
3451    }
3452#line 173
3453    return (ret);
3454  } else {
3455
3456  }
3457  {
3458#line 176
3459  __cil_tmp37 = (void *)tps;
3460#line 176
3461  i2c_set_clientdata(client, __cil_tmp37);
3462#line 177
3463  __cil_tmp38 = (unsigned long )client;
3464#line 177
3465  __cil_tmp39 = __cil_tmp38 + 40;
3466#line 177
3467  *((struct device **)tps) = (struct device *)__cil_tmp39;
3468#line 179
3469  ret = tps65217_reg_read(tps, 0U, & version);
3470  }
3471#line 180
3472  if (ret < 0) {
3473    {
3474#line 181
3475    __cil_tmp40 = *((struct device **)tps);
3476#line 181
3477    __cil_tmp41 = (struct device  const  *)__cil_tmp40;
3478#line 181
3479    dev_err(__cil_tmp41, "Failed to read revision register: %d\n", ret);
3480    }
3481#line 183
3482    goto err_regmap;
3483  } else {
3484
3485  }
3486  {
3487#line 186
3488  __cil_tmp42 = *((struct device **)tps);
3489#line 186
3490  __cil_tmp43 = (struct device  const  *)__cil_tmp42;
3491#line 186
3492  __cil_tmp44 = & version;
3493#line 186
3494  __cil_tmp45 = *__cil_tmp44;
3495#line 186
3496  __cil_tmp46 = __cil_tmp45 & 240U;
3497#line 186
3498  __cil_tmp47 = __cil_tmp46 >> 4;
3499#line 186
3500  __cil_tmp48 = & version;
3501#line 186
3502  __cil_tmp49 = *__cil_tmp48;
3503#line 186
3504  __cil_tmp50 = __cil_tmp49 & 15U;
3505#line 186
3506  _dev_info(__cil_tmp43, "TPS65217 ID %#x version 1.%d\n", __cil_tmp47, __cil_tmp50);
3507#line 190
3508  i = 0;
3509  }
3510#line 190
3511  goto ldv_23097;
3512  ldv_23096: 
3513  {
3514#line 193
3515  pdev = platform_device_alloc("tps65217-pmic", i);
3516  }
3517  {
3518#line 194
3519  __cil_tmp51 = (struct platform_device *)0;
3520#line 194
3521  __cil_tmp52 = (unsigned long )__cil_tmp51;
3522#line 194
3523  __cil_tmp53 = (unsigned long )pdev;
3524#line 194
3525  if (__cil_tmp53 == __cil_tmp52) {
3526    {
3527#line 195
3528    __cil_tmp54 = *((struct device **)tps);
3529#line 195
3530    __cil_tmp55 = (struct device  const  *)__cil_tmp54;
3531#line 195
3532    dev_err(__cil_tmp55, "Cannot create regulator %d\n", i);
3533    }
3534#line 196
3535    goto ldv_23095;
3536  } else {
3537
3538  }
3539  }
3540  {
3541#line 199
3542  __cil_tmp56 = (unsigned long )pdev;
3543#line 199
3544  __cil_tmp57 = __cil_tmp56 + 16;
3545#line 199
3546  *((struct device **)__cil_tmp57) = *((struct device **)tps);
3547#line 200
3548  __cil_tmp58 = (unsigned long )i;
3549#line 200
3550  __cil_tmp59 = *((struct regulator_init_data **)pdata);
3551#line 200
3552  __cil_tmp60 = (void const   *)__cil_tmp59;
3553#line 200
3554  __cil_tmp61 = __cil_tmp60 + __cil_tmp58;
3555#line 200
3556  platform_device_add_data(pdev, __cil_tmp61, 144UL);
3557#line 202
3558  __cil_tmp62 = i * 8UL;
3559#line 202
3560  __cil_tmp63 = 472 + __cil_tmp62;
3561#line 202
3562  __cil_tmp64 = (unsigned long )tps;
3563#line 202
3564  __cil_tmp65 = __cil_tmp64 + __cil_tmp63;
3565#line 202
3566  *((struct platform_device **)__cil_tmp65) = pdev;
3567#line 204
3568  platform_device_add(pdev);
3569  }
3570  ldv_23095: 
3571#line 190
3572  i = i + 1;
3573  ldv_23097: ;
3574#line 190
3575  if (i <= 6) {
3576#line 191
3577    goto ldv_23096;
3578  } else {
3579#line 193
3580    goto ldv_23098;
3581  }
3582  ldv_23098: ;
3583#line 207
3584  return (0);
3585  err_regmap: 
3586  {
3587#line 210
3588  __cil_tmp66 = (unsigned long )tps;
3589#line 210
3590  __cil_tmp67 = __cil_tmp66 + 464;
3591#line 210
3592  __cil_tmp68 = *((struct regmap **)__cil_tmp67);
3593#line 210
3594  regmap_exit(__cil_tmp68);
3595  }
3596#line 212
3597  return (ret);
3598}
3599}
3600#line 215 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3601static int tps65217_remove(struct i2c_client *client ) 
3602{ struct tps65217 *tps ;
3603  void *tmp ;
3604  int i ;
3605  struct i2c_client  const  *__cil_tmp5 ;
3606  unsigned long __cil_tmp6 ;
3607  unsigned long __cil_tmp7 ;
3608  unsigned long __cil_tmp8 ;
3609  unsigned long __cil_tmp9 ;
3610  struct platform_device *__cil_tmp10 ;
3611  unsigned long __cil_tmp11 ;
3612  unsigned long __cil_tmp12 ;
3613  struct regmap *__cil_tmp13 ;
3614
3615  {
3616  {
3617#line 217
3618  __cil_tmp5 = (struct i2c_client  const  *)client;
3619#line 217
3620  tmp = i2c_get_clientdata(__cil_tmp5);
3621#line 217
3622  tps = (struct tps65217 *)tmp;
3623#line 220
3624  i = 0;
3625  }
3626#line 220
3627  goto ldv_23105;
3628  ldv_23104: 
3629  {
3630#line 221
3631  __cil_tmp6 = i * 8UL;
3632#line 221
3633  __cil_tmp7 = 472 + __cil_tmp6;
3634#line 221
3635  __cil_tmp8 = (unsigned long )tps;
3636#line 221
3637  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
3638#line 221
3639  __cil_tmp10 = *((struct platform_device **)__cil_tmp9);
3640#line 221
3641  platform_device_unregister(__cil_tmp10);
3642#line 220
3643  i = i + 1;
3644  }
3645  ldv_23105: ;
3646#line 220
3647  if (i <= 6) {
3648#line 221
3649    goto ldv_23104;
3650  } else {
3651#line 223
3652    goto ldv_23106;
3653  }
3654  ldv_23106: 
3655  {
3656#line 223
3657  __cil_tmp11 = (unsigned long )tps;
3658#line 223
3659  __cil_tmp12 = __cil_tmp11 + 464;
3660#line 223
3661  __cil_tmp13 = *((struct regmap **)__cil_tmp12);
3662#line 223
3663  regmap_exit(__cil_tmp13);
3664  }
3665#line 225
3666  return (0);
3667}
3668}
3669#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3670static struct i2c_device_id  const  tps65217_id_table[2U]  = {      {{(char )'t', (char )'p', (char )'s', (char )'6', (char )'5', (char )'2', (char )'1',
3671       (char )'7', (char )'\000', (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
3672       (char)0, (char)0, (char)0, (char)0, (char)0}, 240UL}, 
3673        {{(char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
3674       (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
3675       (char)0, (char)0}, 0UL}};
3676#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3677struct i2c_device_id  const  __mod_i2c_device_table  ;
3678#line 234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3679static struct i2c_driver tps65217_driver  = 
3680#line 234
3681     {0U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & tps65217_probe,
3682    & tps65217_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
3683                                                                   pm_message_t  ))0,
3684    (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int  ))0,
3685    (int (*)(struct i2c_client * , unsigned int  , void * ))0, {"tps65217", (struct bus_type *)0,
3686                                                                (struct module *)0,
3687                                                                (char const   *)0,
3688                                                                (_Bool)0, (struct of_device_id  const  *)0,
3689                                                                (int (*)(struct device * ))0,
3690                                                                (int (*)(struct device * ))0,
3691                                                                (void (*)(struct device * ))0,
3692                                                                (int (*)(struct device * ,
3693                                                                         pm_message_t  ))0,
3694                                                                (int (*)(struct device * ))0,
3695                                                                (struct attribute_group  const  **)0,
3696                                                                (struct dev_pm_ops  const  *)0,
3697                                                                (struct driver_private *)0},
3698    (struct i2c_device_id  const  *)(& tps65217_id_table), (int (*)(struct i2c_client * ,
3699                                                                    struct i2c_board_info * ))0,
3700    (unsigned short const   *)0, {(struct list_head *)0, (struct list_head *)0}};
3701#line 243 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3702static int tps65217_init(void) 
3703{ int tmp ;
3704
3705  {
3706  {
3707#line 245
3708  tmp = i2c_register_driver(& __this_module, & tps65217_driver);
3709  }
3710#line 245
3711  return (tmp);
3712}
3713}
3714#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3715static void tps65217_exit(void) 
3716{ 
3717
3718  {
3719  {
3720#line 251
3721  i2c_del_driver(& tps65217_driver);
3722  }
3723#line 252
3724  return;
3725}
3726}
3727#line 275
3728extern void ldv_check_final_state(void) ;
3729#line 278
3730extern void ldv_check_return_value(int  ) ;
3731#line 281
3732extern void ldv_initialize(void) ;
3733#line 284
3734extern int __VERIFIER_nondet_int(void) ;
3735#line 287 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3736int LDV_IN_INTERRUPT  ;
3737#line 290 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3738void main(void) 
3739{ struct i2c_client *var_group1 ;
3740  struct i2c_device_id  const  *var_tps65217_probe_5_p1 ;
3741  int res_tps65217_probe_5 ;
3742  int ldv_s_tps65217_driver_i2c_driver ;
3743  int tmp ;
3744  int tmp___0 ;
3745  int tmp___1 ;
3746
3747  {
3748  {
3749#line 329
3750  ldv_s_tps65217_driver_i2c_driver = 0;
3751#line 312
3752  LDV_IN_INTERRUPT = 1;
3753#line 321
3754  ldv_initialize();
3755#line 327
3756  tmp = tps65217_init();
3757  }
3758#line 327
3759  if (tmp != 0) {
3760#line 328
3761    goto ldv_final;
3762  } else {
3763
3764  }
3765#line 332
3766  goto ldv_23151;
3767  ldv_23150: 
3768  {
3769#line 336
3770  tmp___0 = __VERIFIER_nondet_int();
3771  }
3772#line 338
3773  if (tmp___0 == 0) {
3774#line 338
3775    goto case_0;
3776  } else {
3777    {
3778#line 357
3779    goto switch_default;
3780#line 336
3781    if (0) {
3782      case_0: /* CIL Label */ ;
3783#line 341
3784      if (ldv_s_tps65217_driver_i2c_driver == 0) {
3785        {
3786#line 346
3787        res_tps65217_probe_5 = tps65217_probe(var_group1, var_tps65217_probe_5_p1);
3788#line 347
3789        ldv_check_return_value(res_tps65217_probe_5);
3790        }
3791#line 348
3792        if (res_tps65217_probe_5 != 0) {
3793#line 349
3794          goto ldv_module_exit;
3795        } else {
3796
3797        }
3798#line 350
3799        ldv_s_tps65217_driver_i2c_driver = 0;
3800      } else {
3801
3802      }
3803#line 356
3804      goto ldv_23148;
3805      switch_default: /* CIL Label */ ;
3806#line 357
3807      goto ldv_23148;
3808    } else {
3809      switch_break: /* CIL Label */ ;
3810    }
3811    }
3812  }
3813  ldv_23148: ;
3814  ldv_23151: 
3815  {
3816#line 332
3817  tmp___1 = __VERIFIER_nondet_int();
3818  }
3819#line 332
3820  if (tmp___1 != 0) {
3821#line 334
3822    goto ldv_23150;
3823  } else
3824#line 332
3825  if (ldv_s_tps65217_driver_i2c_driver != 0) {
3826#line 334
3827    goto ldv_23150;
3828  } else {
3829#line 336
3830    goto ldv_23152;
3831  }
3832  ldv_23152: ;
3833  ldv_module_exit: 
3834  {
3835#line 369
3836  tps65217_exit();
3837  }
3838  ldv_final: 
3839  {
3840#line 372
3841  ldv_check_final_state();
3842  }
3843#line 375
3844  return;
3845}
3846}
3847#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3848void ldv_blast_assert(void) 
3849{ 
3850
3851  {
3852  ERROR: ;
3853#line 6
3854  goto ERROR;
3855}
3856}
3857#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3858extern int __VERIFIER_nondet_int(void) ;
3859#line 396 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3860int ldv_spin  =    0;
3861#line 400 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3862void ldv_check_alloc_flags(gfp_t flags ) 
3863{ 
3864
3865  {
3866#line 403
3867  if (ldv_spin != 0) {
3868#line 403
3869    if (flags != 32U) {
3870      {
3871#line 403
3872      ldv_blast_assert();
3873      }
3874    } else {
3875
3876    }
3877  } else {
3878
3879  }
3880#line 406
3881  return;
3882}
3883}
3884#line 406
3885extern struct page *ldv_some_page(void) ;
3886#line 409 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3887struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3888{ struct page *tmp ;
3889
3890  {
3891#line 412
3892  if (ldv_spin != 0) {
3893#line 412
3894    if (flags != 32U) {
3895      {
3896#line 412
3897      ldv_blast_assert();
3898      }
3899    } else {
3900
3901    }
3902  } else {
3903
3904  }
3905  {
3906#line 414
3907  tmp = ldv_some_page();
3908  }
3909#line 414
3910  return (tmp);
3911}
3912}
3913#line 418 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3914void ldv_check_alloc_nonatomic(void) 
3915{ 
3916
3917  {
3918#line 421
3919  if (ldv_spin != 0) {
3920    {
3921#line 421
3922    ldv_blast_assert();
3923    }
3924  } else {
3925
3926  }
3927#line 424
3928  return;
3929}
3930}
3931#line 425 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3932void ldv_spin_lock(void) 
3933{ 
3934
3935  {
3936#line 428
3937  ldv_spin = 1;
3938#line 429
3939  return;
3940}
3941}
3942#line 432 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3943void ldv_spin_unlock(void) 
3944{ 
3945
3946  {
3947#line 435
3948  ldv_spin = 0;
3949#line 436
3950  return;
3951}
3952}
3953#line 439 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3954int ldv_spin_trylock(void) 
3955{ int is_lock ;
3956
3957  {
3958  {
3959#line 444
3960  is_lock = __VERIFIER_nondet_int();
3961  }
3962#line 446
3963  if (is_lock != 0) {
3964#line 449
3965    return (0);
3966  } else {
3967#line 454
3968    ldv_spin = 1;
3969#line 456
3970    return (1);
3971  }
3972}
3973}
3974#line 623 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/5007/dscv_tempdir/dscv/ri/43_1a/drivers/mfd/tps65217.c.p"
3975void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3976{ 
3977
3978  {
3979  {
3980#line 629
3981  ldv_check_alloc_flags(ldv_func_arg2);
3982#line 631
3983  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3984  }
3985#line 632
3986  return ((void *)0);
3987}
3988}