Showing error 679

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


Source:

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