Showing error 858

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--input--serio--ct82c710.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2428
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 26 "include/asm-generic/int-ll64.h"
   9typedef unsigned int __u32;
  10#line 30 "include/asm-generic/int-ll64.h"
  11typedef unsigned long long __u64;
  12#line 43 "include/asm-generic/int-ll64.h"
  13typedef unsigned char u8;
  14#line 45 "include/asm-generic/int-ll64.h"
  15typedef short s16;
  16#line 46 "include/asm-generic/int-ll64.h"
  17typedef unsigned short u16;
  18#line 49 "include/asm-generic/int-ll64.h"
  19typedef unsigned int u32;
  20#line 51 "include/asm-generic/int-ll64.h"
  21typedef long long s64;
  22#line 52 "include/asm-generic/int-ll64.h"
  23typedef unsigned long long u64;
  24#line 14 "include/asm-generic/posix_types.h"
  25typedef long __kernel_long_t;
  26#line 15 "include/asm-generic/posix_types.h"
  27typedef unsigned long __kernel_ulong_t;
  28#line 75 "include/asm-generic/posix_types.h"
  29typedef __kernel_ulong_t __kernel_size_t;
  30#line 76 "include/asm-generic/posix_types.h"
  31typedef __kernel_long_t __kernel_ssize_t;
  32#line 91 "include/asm-generic/posix_types.h"
  33typedef long long __kernel_loff_t;
  34#line 21 "include/linux/types.h"
  35typedef __u32 __kernel_dev_t;
  36#line 24 "include/linux/types.h"
  37typedef __kernel_dev_t dev_t;
  38#line 27 "include/linux/types.h"
  39typedef unsigned short umode_t;
  40#line 38 "include/linux/types.h"
  41typedef _Bool bool;
  42#line 54 "include/linux/types.h"
  43typedef __kernel_loff_t loff_t;
  44#line 63 "include/linux/types.h"
  45typedef __kernel_size_t size_t;
  46#line 68 "include/linux/types.h"
  47typedef __kernel_ssize_t ssize_t;
  48#line 202 "include/linux/types.h"
  49typedef unsigned int gfp_t;
  50#line 206 "include/linux/types.h"
  51typedef u64 phys_addr_t;
  52#line 211 "include/linux/types.h"
  53typedef phys_addr_t resource_size_t;
  54#line 221 "include/linux/types.h"
  55struct __anonstruct_atomic_t_6 {
  56   int counter ;
  57};
  58#line 221 "include/linux/types.h"
  59typedef struct __anonstruct_atomic_t_6 atomic_t;
  60#line 226 "include/linux/types.h"
  61struct __anonstruct_atomic64_t_7 {
  62   long counter ;
  63};
  64#line 226 "include/linux/types.h"
  65typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  66#line 227 "include/linux/types.h"
  67struct list_head {
  68   struct list_head *next ;
  69   struct list_head *prev ;
  70};
  71#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  72struct module;
  73#line 55
  74struct module;
  75#line 146 "include/linux/init.h"
  76typedef void (*ctor_fn_t)(void);
  77#line 46 "include/linux/dynamic_debug.h"
  78struct device;
  79#line 46
  80struct device;
  81#line 57
  82struct completion;
  83#line 57
  84struct completion;
  85#line 58
  86struct pt_regs;
  87#line 58
  88struct pt_regs;
  89#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
  90struct page;
  91#line 58
  92struct page;
  93#line 26 "include/asm-generic/getorder.h"
  94struct task_struct;
  95#line 26
  96struct task_struct;
  97#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
  98struct pt_regs {
  99   unsigned long r15 ;
 100   unsigned long r14 ;
 101   unsigned long r13 ;
 102   unsigned long r12 ;
 103   unsigned long bp ;
 104   unsigned long bx ;
 105   unsigned long r11 ;
 106   unsigned long r10 ;
 107   unsigned long r9 ;
 108   unsigned long r8 ;
 109   unsigned long ax ;
 110   unsigned long cx ;
 111   unsigned long dx ;
 112   unsigned long si ;
 113   unsigned long di ;
 114   unsigned long orig_ax ;
 115   unsigned long ip ;
 116   unsigned long cs ;
 117   unsigned long flags ;
 118   unsigned long sp ;
 119   unsigned long ss ;
 120};
 121#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 122struct __anonstruct_ldv_2180_13 {
 123   unsigned int a ;
 124   unsigned int b ;
 125};
 126#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 127struct __anonstruct_ldv_2195_14 {
 128   u16 limit0 ;
 129   u16 base0 ;
 130   unsigned char base1 ;
 131   unsigned char type : 4 ;
 132   unsigned char s : 1 ;
 133   unsigned char dpl : 2 ;
 134   unsigned char p : 1 ;
 135   unsigned char limit : 4 ;
 136   unsigned char avl : 1 ;
 137   unsigned char l : 1 ;
 138   unsigned char d : 1 ;
 139   unsigned char g : 1 ;
 140   unsigned char base2 ;
 141};
 142#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 143union __anonunion_ldv_2196_12 {
 144   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 145   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 146};
 147#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 148struct desc_struct {
 149   union __anonunion_ldv_2196_12 ldv_2196 ;
 150};
 151#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 152struct gate_struct64 {
 153   u16 offset_low ;
 154   u16 segment ;
 155   unsigned char ist : 3 ;
 156   unsigned char zero0 : 5 ;
 157   unsigned char type : 5 ;
 158   unsigned char dpl : 2 ;
 159   unsigned char p : 1 ;
 160   u16 offset_middle ;
 161   u32 offset_high ;
 162   u32 zero1 ;
 163};
 164#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 165typedef struct gate_struct64 gate_desc;
 166#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 167struct desc_ptr {
 168   unsigned short size ;
 169   unsigned long address ;
 170};
 171#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 172struct file;
 173#line 290
 174struct file;
 175#line 337
 176struct thread_struct;
 177#line 337
 178struct thread_struct;
 179#line 338
 180struct tss_struct;
 181#line 338
 182struct tss_struct;
 183#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 184struct pv_cpu_ops {
 185   unsigned long (*get_debugreg)(int  ) ;
 186   void (*set_debugreg)(int  , unsigned long  ) ;
 187   void (*clts)(void) ;
 188   unsigned long (*read_cr0)(void) ;
 189   void (*write_cr0)(unsigned long  ) ;
 190   unsigned long (*read_cr4_safe)(void) ;
 191   unsigned long (*read_cr4)(void) ;
 192   void (*write_cr4)(unsigned long  ) ;
 193   unsigned long (*read_cr8)(void) ;
 194   void (*write_cr8)(unsigned long  ) ;
 195   void (*load_tr_desc)(void) ;
 196   void (*load_gdt)(struct desc_ptr  const  * ) ;
 197   void (*load_idt)(struct desc_ptr  const  * ) ;
 198   void (*store_gdt)(struct desc_ptr * ) ;
 199   void (*store_idt)(struct desc_ptr * ) ;
 200   void (*set_ldt)(void const   * , unsigned int  ) ;
 201   unsigned long (*store_tr)(void) ;
 202   void (*load_tls)(struct thread_struct * , unsigned int  ) ;
 203   void (*load_gs_index)(unsigned int  ) ;
 204   void (*write_ldt_entry)(struct desc_struct * , int  , void const   * ) ;
 205   void (*write_gdt_entry)(struct desc_struct * , int  , void const   * , int  ) ;
 206   void (*write_idt_entry)(gate_desc * , int  , gate_desc const   * ) ;
 207   void (*alloc_ldt)(struct desc_struct * , unsigned int  ) ;
 208   void (*free_ldt)(struct desc_struct * , unsigned int  ) ;
 209   void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
 210   void (*set_iopl_mask)(unsigned int  ) ;
 211   void (*wbinvd)(void) ;
 212   void (*io_delay)(void) ;
 213   void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
 214   u64 (*read_msr)(unsigned int  , int * ) ;
 215   int (*rdmsr_regs)(u32 * ) ;
 216   int (*write_msr)(unsigned int  , unsigned int  , unsigned int  ) ;
 217   int (*wrmsr_regs)(u32 * ) ;
 218   u64 (*read_tsc)(void) ;
 219   u64 (*read_pmc)(int  ) ;
 220   unsigned long long (*read_tscp)(unsigned int * ) ;
 221   void (*irq_enable_sysexit)(void) ;
 222   void (*usergs_sysret64)(void) ;
 223   void (*usergs_sysret32)(void) ;
 224   void (*iret)(void) ;
 225   void (*swapgs)(void) ;
 226   void (*start_context_switch)(struct task_struct * ) ;
 227   void (*end_context_switch)(struct task_struct * ) ;
 228};
 229#line 327
 230struct arch_spinlock;
 231#line 327
 232struct arch_spinlock;
 233#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 234struct kernel_vm86_regs {
 235   struct pt_regs pt ;
 236   unsigned short es ;
 237   unsigned short __esh ;
 238   unsigned short ds ;
 239   unsigned short __dsh ;
 240   unsigned short fs ;
 241   unsigned short __fsh ;
 242   unsigned short gs ;
 243   unsigned short __gsh ;
 244};
 245#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 246union __anonunion_ldv_2824_19 {
 247   struct pt_regs *regs ;
 248   struct kernel_vm86_regs *vm86 ;
 249};
 250#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 251struct math_emu_info {
 252   long ___orig_eip ;
 253   union __anonunion_ldv_2824_19 ldv_2824 ;
 254};
 255#line 306 "include/linux/bitmap.h"
 256struct bug_entry {
 257   int bug_addr_disp ;
 258   int file_disp ;
 259   unsigned short line ;
 260   unsigned short flags ;
 261};
 262#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 263struct static_key;
 264#line 234
 265struct static_key;
 266#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 267struct x86_hw_tss {
 268   u32 reserved1 ;
 269   u64 sp0 ;
 270   u64 sp1 ;
 271   u64 sp2 ;
 272   u64 reserved2 ;
 273   u64 ist[7U] ;
 274   u32 reserved3 ;
 275   u32 reserved4 ;
 276   u16 reserved5 ;
 277   u16 io_bitmap_base ;
 278};
 279#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 280struct tss_struct {
 281   struct x86_hw_tss x86_tss ;
 282   unsigned long io_bitmap[1025U] ;
 283   unsigned long stack[64U] ;
 284};
 285#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 286struct i387_fsave_struct {
 287   u32 cwd ;
 288   u32 swd ;
 289   u32 twd ;
 290   u32 fip ;
 291   u32 fcs ;
 292   u32 foo ;
 293   u32 fos ;
 294   u32 st_space[20U] ;
 295   u32 status ;
 296};
 297#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 298struct __anonstruct_ldv_5180_24 {
 299   u64 rip ;
 300   u64 rdp ;
 301};
 302#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 303struct __anonstruct_ldv_5186_25 {
 304   u32 fip ;
 305   u32 fcs ;
 306   u32 foo ;
 307   u32 fos ;
 308};
 309#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 310union __anonunion_ldv_5187_23 {
 311   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 312   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 313};
 314#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 315union __anonunion_ldv_5196_26 {
 316   u32 padding1[12U] ;
 317   u32 sw_reserved[12U] ;
 318};
 319#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 320struct i387_fxsave_struct {
 321   u16 cwd ;
 322   u16 swd ;
 323   u16 twd ;
 324   u16 fop ;
 325   union __anonunion_ldv_5187_23 ldv_5187 ;
 326   u32 mxcsr ;
 327   u32 mxcsr_mask ;
 328   u32 st_space[32U] ;
 329   u32 xmm_space[64U] ;
 330   u32 padding[12U] ;
 331   union __anonunion_ldv_5196_26 ldv_5196 ;
 332};
 333#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 334struct i387_soft_struct {
 335   u32 cwd ;
 336   u32 swd ;
 337   u32 twd ;
 338   u32 fip ;
 339   u32 fcs ;
 340   u32 foo ;
 341   u32 fos ;
 342   u32 st_space[20U] ;
 343   u8 ftop ;
 344   u8 changed ;
 345   u8 lookahead ;
 346   u8 no_update ;
 347   u8 rm ;
 348   u8 alimit ;
 349   struct math_emu_info *info ;
 350   u32 entry_eip ;
 351};
 352#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 353struct ymmh_struct {
 354   u32 ymmh_space[64U] ;
 355};
 356#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 357struct xsave_hdr_struct {
 358   u64 xstate_bv ;
 359   u64 reserved1[2U] ;
 360   u64 reserved2[5U] ;
 361};
 362#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 363struct xsave_struct {
 364   struct i387_fxsave_struct i387 ;
 365   struct xsave_hdr_struct xsave_hdr ;
 366   struct ymmh_struct ymmh ;
 367};
 368#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 369union thread_xstate {
 370   struct i387_fsave_struct fsave ;
 371   struct i387_fxsave_struct fxsave ;
 372   struct i387_soft_struct soft ;
 373   struct xsave_struct xsave ;
 374};
 375#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 376struct fpu {
 377   unsigned int last_cpu ;
 378   unsigned int has_fpu ;
 379   union thread_xstate *state ;
 380};
 381#line 433
 382struct kmem_cache;
 383#line 434
 384struct perf_event;
 385#line 434
 386struct perf_event;
 387#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 388struct thread_struct {
 389   struct desc_struct tls_array[3U] ;
 390   unsigned long sp0 ;
 391   unsigned long sp ;
 392   unsigned long usersp ;
 393   unsigned short es ;
 394   unsigned short ds ;
 395   unsigned short fsindex ;
 396   unsigned short gsindex ;
 397   unsigned long fs ;
 398   unsigned long gs ;
 399   struct perf_event *ptrace_bps[4U] ;
 400   unsigned long debugreg6 ;
 401   unsigned long ptrace_dr7 ;
 402   unsigned long cr2 ;
 403   unsigned long trap_nr ;
 404   unsigned long error_code ;
 405   struct fpu fpu ;
 406   unsigned long *io_bitmap_ptr ;
 407   unsigned long iopl ;
 408   unsigned int io_bitmap_max ;
 409};
 410#line 23 "include/asm-generic/atomic-long.h"
 411typedef atomic64_t atomic_long_t;
 412#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 413typedef u16 __ticket_t;
 414#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 415typedef u32 __ticketpair_t;
 416#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 417struct __raw_tickets {
 418   __ticket_t head ;
 419   __ticket_t tail ;
 420};
 421#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 422union __anonunion_ldv_5907_29 {
 423   __ticketpair_t head_tail ;
 424   struct __raw_tickets tickets ;
 425};
 426#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 427struct arch_spinlock {
 428   union __anonunion_ldv_5907_29 ldv_5907 ;
 429};
 430#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 431typedef struct arch_spinlock arch_spinlock_t;
 432#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 433struct lockdep_map;
 434#line 34
 435struct lockdep_map;
 436#line 55 "include/linux/debug_locks.h"
 437struct stack_trace {
 438   unsigned int nr_entries ;
 439   unsigned int max_entries ;
 440   unsigned long *entries ;
 441   int skip ;
 442};
 443#line 26 "include/linux/stacktrace.h"
 444struct lockdep_subclass_key {
 445   char __one_byte ;
 446};
 447#line 53 "include/linux/lockdep.h"
 448struct lock_class_key {
 449   struct lockdep_subclass_key subkeys[8U] ;
 450};
 451#line 59 "include/linux/lockdep.h"
 452struct lock_class {
 453   struct list_head hash_entry ;
 454   struct list_head lock_entry ;
 455   struct lockdep_subclass_key *key ;
 456   unsigned int subclass ;
 457   unsigned int dep_gen_id ;
 458   unsigned long usage_mask ;
 459   struct stack_trace usage_traces[13U] ;
 460   struct list_head locks_after ;
 461   struct list_head locks_before ;
 462   unsigned int version ;
 463   unsigned long ops ;
 464   char const   *name ;
 465   int name_version ;
 466   unsigned long contention_point[4U] ;
 467   unsigned long contending_point[4U] ;
 468};
 469#line 144 "include/linux/lockdep.h"
 470struct lockdep_map {
 471   struct lock_class_key *key ;
 472   struct lock_class *class_cache[2U] ;
 473   char const   *name ;
 474   int cpu ;
 475   unsigned long ip ;
 476};
 477#line 556 "include/linux/lockdep.h"
 478struct raw_spinlock {
 479   arch_spinlock_t raw_lock ;
 480   unsigned int magic ;
 481   unsigned int owner_cpu ;
 482   void *owner ;
 483   struct lockdep_map dep_map ;
 484};
 485#line 33 "include/linux/spinlock_types.h"
 486struct __anonstruct_ldv_6122_33 {
 487   u8 __padding[24U] ;
 488   struct lockdep_map dep_map ;
 489};
 490#line 33 "include/linux/spinlock_types.h"
 491union __anonunion_ldv_6123_32 {
 492   struct raw_spinlock rlock ;
 493   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 494};
 495#line 33 "include/linux/spinlock_types.h"
 496struct spinlock {
 497   union __anonunion_ldv_6123_32 ldv_6123 ;
 498};
 499#line 76 "include/linux/spinlock_types.h"
 500typedef struct spinlock spinlock_t;
 501#line 48 "include/linux/wait.h"
 502struct __wait_queue_head {
 503   spinlock_t lock ;
 504   struct list_head task_list ;
 505};
 506#line 53 "include/linux/wait.h"
 507typedef struct __wait_queue_head wait_queue_head_t;
 508#line 670 "include/linux/mmzone.h"
 509struct mutex {
 510   atomic_t count ;
 511   spinlock_t wait_lock ;
 512   struct list_head wait_list ;
 513   struct task_struct *owner ;
 514   char const   *name ;
 515   void *magic ;
 516   struct lockdep_map dep_map ;
 517};
 518#line 128 "include/linux/rwsem.h"
 519struct completion {
 520   unsigned int done ;
 521   wait_queue_head_t wait ;
 522};
 523#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 524struct resource {
 525   resource_size_t start ;
 526   resource_size_t end ;
 527   char const   *name ;
 528   unsigned long flags ;
 529   struct resource *parent ;
 530   struct resource *sibling ;
 531   struct resource *child ;
 532};
 533#line 312 "include/linux/jiffies.h"
 534union ktime {
 535   s64 tv64 ;
 536};
 537#line 59 "include/linux/ktime.h"
 538typedef union ktime ktime_t;
 539#line 341
 540struct tvec_base;
 541#line 341
 542struct tvec_base;
 543#line 342 "include/linux/ktime.h"
 544struct timer_list {
 545   struct list_head entry ;
 546   unsigned long expires ;
 547   struct tvec_base *base ;
 548   void (*function)(unsigned long  ) ;
 549   unsigned long data ;
 550   int slack ;
 551   int start_pid ;
 552   void *start_site ;
 553   char start_comm[16U] ;
 554   struct lockdep_map lockdep_map ;
 555};
 556#line 302 "include/linux/timer.h"
 557struct work_struct;
 558#line 302
 559struct work_struct;
 560#line 45 "include/linux/workqueue.h"
 561struct work_struct {
 562   atomic_long_t data ;
 563   struct list_head entry ;
 564   void (*func)(struct work_struct * ) ;
 565   struct lockdep_map lockdep_map ;
 566};
 567#line 46 "include/linux/pm.h"
 568struct pm_message {
 569   int event ;
 570};
 571#line 52 "include/linux/pm.h"
 572typedef struct pm_message pm_message_t;
 573#line 53 "include/linux/pm.h"
 574struct dev_pm_ops {
 575   int (*prepare)(struct device * ) ;
 576   void (*complete)(struct device * ) ;
 577   int (*suspend)(struct device * ) ;
 578   int (*resume)(struct device * ) ;
 579   int (*freeze)(struct device * ) ;
 580   int (*thaw)(struct device * ) ;
 581   int (*poweroff)(struct device * ) ;
 582   int (*restore)(struct device * ) ;
 583   int (*suspend_late)(struct device * ) ;
 584   int (*resume_early)(struct device * ) ;
 585   int (*freeze_late)(struct device * ) ;
 586   int (*thaw_early)(struct device * ) ;
 587   int (*poweroff_late)(struct device * ) ;
 588   int (*restore_early)(struct device * ) ;
 589   int (*suspend_noirq)(struct device * ) ;
 590   int (*resume_noirq)(struct device * ) ;
 591   int (*freeze_noirq)(struct device * ) ;
 592   int (*thaw_noirq)(struct device * ) ;
 593   int (*poweroff_noirq)(struct device * ) ;
 594   int (*restore_noirq)(struct device * ) ;
 595   int (*runtime_suspend)(struct device * ) ;
 596   int (*runtime_resume)(struct device * ) ;
 597   int (*runtime_idle)(struct device * ) ;
 598};
 599#line 289
 600enum rpm_status {
 601    RPM_ACTIVE = 0,
 602    RPM_RESUMING = 1,
 603    RPM_SUSPENDED = 2,
 604    RPM_SUSPENDING = 3
 605} ;
 606#line 296
 607enum rpm_request {
 608    RPM_REQ_NONE = 0,
 609    RPM_REQ_IDLE = 1,
 610    RPM_REQ_SUSPEND = 2,
 611    RPM_REQ_AUTOSUSPEND = 3,
 612    RPM_REQ_RESUME = 4
 613} ;
 614#line 304
 615struct wakeup_source;
 616#line 304
 617struct wakeup_source;
 618#line 494 "include/linux/pm.h"
 619struct pm_subsys_data {
 620   spinlock_t lock ;
 621   unsigned int refcount ;
 622};
 623#line 499
 624struct dev_pm_qos_request;
 625#line 499
 626struct pm_qos_constraints;
 627#line 499 "include/linux/pm.h"
 628struct dev_pm_info {
 629   pm_message_t power_state ;
 630   unsigned char can_wakeup : 1 ;
 631   unsigned char async_suspend : 1 ;
 632   bool is_prepared ;
 633   bool is_suspended ;
 634   bool ignore_children ;
 635   spinlock_t lock ;
 636   struct list_head entry ;
 637   struct completion completion ;
 638   struct wakeup_source *wakeup ;
 639   bool wakeup_path ;
 640   struct timer_list suspend_timer ;
 641   unsigned long timer_expires ;
 642   struct work_struct work ;
 643   wait_queue_head_t wait_queue ;
 644   atomic_t usage_count ;
 645   atomic_t child_count ;
 646   unsigned char disable_depth : 3 ;
 647   unsigned char idle_notification : 1 ;
 648   unsigned char request_pending : 1 ;
 649   unsigned char deferred_resume : 1 ;
 650   unsigned char run_wake : 1 ;
 651   unsigned char runtime_auto : 1 ;
 652   unsigned char no_callbacks : 1 ;
 653   unsigned char irq_safe : 1 ;
 654   unsigned char use_autosuspend : 1 ;
 655   unsigned char timer_autosuspends : 1 ;
 656   enum rpm_request request ;
 657   enum rpm_status runtime_status ;
 658   int runtime_error ;
 659   int autosuspend_delay ;
 660   unsigned long last_busy ;
 661   unsigned long active_jiffies ;
 662   unsigned long suspended_jiffies ;
 663   unsigned long accounting_timestamp ;
 664   ktime_t suspend_time ;
 665   s64 max_time_suspended_ns ;
 666   struct dev_pm_qos_request *pq_req ;
 667   struct pm_subsys_data *subsys_data ;
 668   struct pm_qos_constraints *constraints ;
 669};
 670#line 558 "include/linux/pm.h"
 671struct dev_pm_domain {
 672   struct dev_pm_ops ops ;
 673};
 674#line 18 "include/asm-generic/pci_iomap.h"
 675struct vm_area_struct;
 676#line 18
 677struct vm_area_struct;
 678#line 18 "include/linux/elf.h"
 679typedef __u64 Elf64_Addr;
 680#line 19 "include/linux/elf.h"
 681typedef __u16 Elf64_Half;
 682#line 23 "include/linux/elf.h"
 683typedef __u32 Elf64_Word;
 684#line 24 "include/linux/elf.h"
 685typedef __u64 Elf64_Xword;
 686#line 193 "include/linux/elf.h"
 687struct elf64_sym {
 688   Elf64_Word st_name ;
 689   unsigned char st_info ;
 690   unsigned char st_other ;
 691   Elf64_Half st_shndx ;
 692   Elf64_Addr st_value ;
 693   Elf64_Xword st_size ;
 694};
 695#line 201 "include/linux/elf.h"
 696typedef struct elf64_sym Elf64_Sym;
 697#line 445
 698struct sock;
 699#line 445
 700struct sock;
 701#line 446
 702struct kobject;
 703#line 446
 704struct kobject;
 705#line 447
 706enum kobj_ns_type {
 707    KOBJ_NS_TYPE_NONE = 0,
 708    KOBJ_NS_TYPE_NET = 1,
 709    KOBJ_NS_TYPES = 2
 710} ;
 711#line 453 "include/linux/elf.h"
 712struct kobj_ns_type_operations {
 713   enum kobj_ns_type type ;
 714   void *(*grab_current_ns)(void) ;
 715   void const   *(*netlink_ns)(struct sock * ) ;
 716   void const   *(*initial_ns)(void) ;
 717   void (*drop_ns)(void * ) ;
 718};
 719#line 57 "include/linux/kobject_ns.h"
 720struct attribute {
 721   char const   *name ;
 722   umode_t mode ;
 723   struct lock_class_key *key ;
 724   struct lock_class_key skey ;
 725};
 726#line 33 "include/linux/sysfs.h"
 727struct attribute_group {
 728   char const   *name ;
 729   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 730   struct attribute **attrs ;
 731};
 732#line 62 "include/linux/sysfs.h"
 733struct bin_attribute {
 734   struct attribute attr ;
 735   size_t size ;
 736   void *private ;
 737   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 738                   loff_t  , size_t  ) ;
 739   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 740                    loff_t  , size_t  ) ;
 741   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 742};
 743#line 98 "include/linux/sysfs.h"
 744struct sysfs_ops {
 745   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 746   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 747   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 748};
 749#line 117
 750struct sysfs_dirent;
 751#line 117
 752struct sysfs_dirent;
 753#line 182 "include/linux/sysfs.h"
 754struct kref {
 755   atomic_t refcount ;
 756};
 757#line 49 "include/linux/kobject.h"
 758struct kset;
 759#line 49
 760struct kobj_type;
 761#line 49 "include/linux/kobject.h"
 762struct kobject {
 763   char const   *name ;
 764   struct list_head entry ;
 765   struct kobject *parent ;
 766   struct kset *kset ;
 767   struct kobj_type *ktype ;
 768   struct sysfs_dirent *sd ;
 769   struct kref kref ;
 770   unsigned char state_initialized : 1 ;
 771   unsigned char state_in_sysfs : 1 ;
 772   unsigned char state_add_uevent_sent : 1 ;
 773   unsigned char state_remove_uevent_sent : 1 ;
 774   unsigned char uevent_suppress : 1 ;
 775};
 776#line 107 "include/linux/kobject.h"
 777struct kobj_type {
 778   void (*release)(struct kobject * ) ;
 779   struct sysfs_ops  const  *sysfs_ops ;
 780   struct attribute **default_attrs ;
 781   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 782   void const   *(*namespace)(struct kobject * ) ;
 783};
 784#line 115 "include/linux/kobject.h"
 785struct kobj_uevent_env {
 786   char *envp[32U] ;
 787   int envp_idx ;
 788   char buf[2048U] ;
 789   int buflen ;
 790};
 791#line 122 "include/linux/kobject.h"
 792struct kset_uevent_ops {
 793   int (* const  filter)(struct kset * , struct kobject * ) ;
 794   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 795   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 796};
 797#line 139 "include/linux/kobject.h"
 798struct kset {
 799   struct list_head list ;
 800   spinlock_t list_lock ;
 801   struct kobject kobj ;
 802   struct kset_uevent_ops  const  *uevent_ops ;
 803};
 804#line 215
 805struct kernel_param;
 806#line 215
 807struct kernel_param;
 808#line 216 "include/linux/kobject.h"
 809struct kernel_param_ops {
 810   int (*set)(char const   * , struct kernel_param  const  * ) ;
 811   int (*get)(char * , struct kernel_param  const  * ) ;
 812   void (*free)(void * ) ;
 813};
 814#line 49 "include/linux/moduleparam.h"
 815struct kparam_string;
 816#line 49
 817struct kparam_array;
 818#line 49 "include/linux/moduleparam.h"
 819union __anonunion_ldv_13363_134 {
 820   void *arg ;
 821   struct kparam_string  const  *str ;
 822   struct kparam_array  const  *arr ;
 823};
 824#line 49 "include/linux/moduleparam.h"
 825struct kernel_param {
 826   char const   *name ;
 827   struct kernel_param_ops  const  *ops ;
 828   u16 perm ;
 829   s16 level ;
 830   union __anonunion_ldv_13363_134 ldv_13363 ;
 831};
 832#line 61 "include/linux/moduleparam.h"
 833struct kparam_string {
 834   unsigned int maxlen ;
 835   char *string ;
 836};
 837#line 67 "include/linux/moduleparam.h"
 838struct kparam_array {
 839   unsigned int max ;
 840   unsigned int elemsize ;
 841   unsigned int *num ;
 842   struct kernel_param_ops  const  *ops ;
 843   void *elem ;
 844};
 845#line 458 "include/linux/moduleparam.h"
 846struct static_key {
 847   atomic_t enabled ;
 848};
 849#line 225 "include/linux/jump_label.h"
 850struct tracepoint;
 851#line 225
 852struct tracepoint;
 853#line 226 "include/linux/jump_label.h"
 854struct tracepoint_func {
 855   void *func ;
 856   void *data ;
 857};
 858#line 29 "include/linux/tracepoint.h"
 859struct tracepoint {
 860   char const   *name ;
 861   struct static_key key ;
 862   void (*regfunc)(void) ;
 863   void (*unregfunc)(void) ;
 864   struct tracepoint_func *funcs ;
 865};
 866#line 86 "include/linux/tracepoint.h"
 867struct kernel_symbol {
 868   unsigned long value ;
 869   char const   *name ;
 870};
 871#line 27 "include/linux/export.h"
 872struct mod_arch_specific {
 873
 874};
 875#line 34 "include/linux/module.h"
 876struct module_param_attrs;
 877#line 34 "include/linux/module.h"
 878struct module_kobject {
 879   struct kobject kobj ;
 880   struct module *mod ;
 881   struct kobject *drivers_dir ;
 882   struct module_param_attrs *mp ;
 883};
 884#line 43 "include/linux/module.h"
 885struct module_attribute {
 886   struct attribute attr ;
 887   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 888   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 889                    size_t  ) ;
 890   void (*setup)(struct module * , char const   * ) ;
 891   int (*test)(struct module * ) ;
 892   void (*free)(struct module * ) ;
 893};
 894#line 69
 895struct exception_table_entry;
 896#line 69
 897struct exception_table_entry;
 898#line 198
 899enum module_state {
 900    MODULE_STATE_LIVE = 0,
 901    MODULE_STATE_COMING = 1,
 902    MODULE_STATE_GOING = 2
 903} ;
 904#line 204 "include/linux/module.h"
 905struct module_ref {
 906   unsigned long incs ;
 907   unsigned long decs ;
 908};
 909#line 219
 910struct module_sect_attrs;
 911#line 219
 912struct module_notes_attrs;
 913#line 219
 914struct ftrace_event_call;
 915#line 219 "include/linux/module.h"
 916struct module {
 917   enum module_state state ;
 918   struct list_head list ;
 919   char name[56U] ;
 920   struct module_kobject mkobj ;
 921   struct module_attribute *modinfo_attrs ;
 922   char const   *version ;
 923   char const   *srcversion ;
 924   struct kobject *holders_dir ;
 925   struct kernel_symbol  const  *syms ;
 926   unsigned long const   *crcs ;
 927   unsigned int num_syms ;
 928   struct kernel_param *kp ;
 929   unsigned int num_kp ;
 930   unsigned int num_gpl_syms ;
 931   struct kernel_symbol  const  *gpl_syms ;
 932   unsigned long const   *gpl_crcs ;
 933   struct kernel_symbol  const  *unused_syms ;
 934   unsigned long const   *unused_crcs ;
 935   unsigned int num_unused_syms ;
 936   unsigned int num_unused_gpl_syms ;
 937   struct kernel_symbol  const  *unused_gpl_syms ;
 938   unsigned long const   *unused_gpl_crcs ;
 939   struct kernel_symbol  const  *gpl_future_syms ;
 940   unsigned long const   *gpl_future_crcs ;
 941   unsigned int num_gpl_future_syms ;
 942   unsigned int num_exentries ;
 943   struct exception_table_entry *extable ;
 944   int (*init)(void) ;
 945   void *module_init ;
 946   void *module_core ;
 947   unsigned int init_size ;
 948   unsigned int core_size ;
 949   unsigned int init_text_size ;
 950   unsigned int core_text_size ;
 951   unsigned int init_ro_size ;
 952   unsigned int core_ro_size ;
 953   struct mod_arch_specific arch ;
 954   unsigned int taints ;
 955   unsigned int num_bugs ;
 956   struct list_head bug_list ;
 957   struct bug_entry *bug_table ;
 958   Elf64_Sym *symtab ;
 959   Elf64_Sym *core_symtab ;
 960   unsigned int num_symtab ;
 961   unsigned int core_num_syms ;
 962   char *strtab ;
 963   char *core_strtab ;
 964   struct module_sect_attrs *sect_attrs ;
 965   struct module_notes_attrs *notes_attrs ;
 966   char *args ;
 967   void *percpu ;
 968   unsigned int percpu_size ;
 969   unsigned int num_tracepoints ;
 970   struct tracepoint * const  *tracepoints_ptrs ;
 971   unsigned int num_trace_bprintk_fmt ;
 972   char const   **trace_bprintk_fmt_start ;
 973   struct ftrace_event_call **trace_events ;
 974   unsigned int num_trace_events ;
 975   struct list_head source_list ;
 976   struct list_head target_list ;
 977   struct task_struct *waiter ;
 978   void (*exit)(void) ;
 979   struct module_ref *refptr ;
 980   ctor_fn_t (**ctors)(void) ;
 981   unsigned int num_ctors ;
 982};
 983#line 88 "include/linux/kmemleak.h"
 984struct kmem_cache_cpu {
 985   void **freelist ;
 986   unsigned long tid ;
 987   struct page *page ;
 988   struct page *partial ;
 989   int node ;
 990   unsigned int stat[26U] ;
 991};
 992#line 55 "include/linux/slub_def.h"
 993struct kmem_cache_node {
 994   spinlock_t list_lock ;
 995   unsigned long nr_partial ;
 996   struct list_head partial ;
 997   atomic_long_t nr_slabs ;
 998   atomic_long_t total_objects ;
 999   struct list_head full ;
1000};
1001#line 66 "include/linux/slub_def.h"
1002struct kmem_cache_order_objects {
1003   unsigned long x ;
1004};
1005#line 76 "include/linux/slub_def.h"
1006struct kmem_cache {
1007   struct kmem_cache_cpu *cpu_slab ;
1008   unsigned long flags ;
1009   unsigned long min_partial ;
1010   int size ;
1011   int objsize ;
1012   int offset ;
1013   int cpu_partial ;
1014   struct kmem_cache_order_objects oo ;
1015   struct kmem_cache_order_objects max ;
1016   struct kmem_cache_order_objects min ;
1017   gfp_t allocflags ;
1018   int refcount ;
1019   void (*ctor)(void * ) ;
1020   int inuse ;
1021   int align ;
1022   int reserved ;
1023   char const   *name ;
1024   struct list_head list ;
1025   struct kobject kobj ;
1026   int remote_node_defrag_ratio ;
1027   struct kmem_cache_node *node[1024U] ;
1028};
1029#line 54 "include/linux/delay.h"
1030enum irqreturn {
1031    IRQ_NONE = 0,
1032    IRQ_HANDLED = 1,
1033    IRQ_WAKE_THREAD = 2
1034} ;
1035#line 16 "include/linux/irqreturn.h"
1036typedef enum irqreturn irqreturn_t;
1037#line 41 "include/asm-generic/sections.h"
1038struct exception_table_entry {
1039   unsigned long insn ;
1040   unsigned long fixup ;
1041};
1042#line 702 "include/linux/interrupt.h"
1043struct klist_node;
1044#line 702
1045struct klist_node;
1046#line 37 "include/linux/klist.h"
1047struct klist_node {
1048   void *n_klist ;
1049   struct list_head n_node ;
1050   struct kref n_ref ;
1051};
1052#line 67
1053struct dma_map_ops;
1054#line 67 "include/linux/klist.h"
1055struct dev_archdata {
1056   void *acpi_handle ;
1057   struct dma_map_ops *dma_ops ;
1058   void *iommu ;
1059};
1060#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1061struct pdev_archdata {
1062
1063};
1064#line 17
1065struct device_private;
1066#line 17
1067struct device_private;
1068#line 18
1069struct device_driver;
1070#line 18
1071struct device_driver;
1072#line 19
1073struct driver_private;
1074#line 19
1075struct driver_private;
1076#line 20
1077struct class;
1078#line 20
1079struct class;
1080#line 21
1081struct subsys_private;
1082#line 21
1083struct subsys_private;
1084#line 22
1085struct bus_type;
1086#line 22
1087struct bus_type;
1088#line 23
1089struct device_node;
1090#line 23
1091struct device_node;
1092#line 24
1093struct iommu_ops;
1094#line 24
1095struct iommu_ops;
1096#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1097struct bus_attribute {
1098   struct attribute attr ;
1099   ssize_t (*show)(struct bus_type * , char * ) ;
1100   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1101};
1102#line 51 "include/linux/device.h"
1103struct device_attribute;
1104#line 51
1105struct driver_attribute;
1106#line 51 "include/linux/device.h"
1107struct bus_type {
1108   char const   *name ;
1109   char const   *dev_name ;
1110   struct device *dev_root ;
1111   struct bus_attribute *bus_attrs ;
1112   struct device_attribute *dev_attrs ;
1113   struct driver_attribute *drv_attrs ;
1114   int (*match)(struct device * , struct device_driver * ) ;
1115   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1116   int (*probe)(struct device * ) ;
1117   int (*remove)(struct device * ) ;
1118   void (*shutdown)(struct device * ) ;
1119   int (*suspend)(struct device * , pm_message_t  ) ;
1120   int (*resume)(struct device * ) ;
1121   struct dev_pm_ops  const  *pm ;
1122   struct iommu_ops *iommu_ops ;
1123   struct subsys_private *p ;
1124};
1125#line 125
1126struct device_type;
1127#line 182
1128struct of_device_id;
1129#line 182 "include/linux/device.h"
1130struct device_driver {
1131   char const   *name ;
1132   struct bus_type *bus ;
1133   struct module *owner ;
1134   char const   *mod_name ;
1135   bool suppress_bind_attrs ;
1136   struct of_device_id  const  *of_match_table ;
1137   int (*probe)(struct device * ) ;
1138   int (*remove)(struct device * ) ;
1139   void (*shutdown)(struct device * ) ;
1140   int (*suspend)(struct device * , pm_message_t  ) ;
1141   int (*resume)(struct device * ) ;
1142   struct attribute_group  const  **groups ;
1143   struct dev_pm_ops  const  *pm ;
1144   struct driver_private *p ;
1145};
1146#line 245 "include/linux/device.h"
1147struct driver_attribute {
1148   struct attribute attr ;
1149   ssize_t (*show)(struct device_driver * , char * ) ;
1150   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1151};
1152#line 299
1153struct class_attribute;
1154#line 299 "include/linux/device.h"
1155struct class {
1156   char const   *name ;
1157   struct module *owner ;
1158   struct class_attribute *class_attrs ;
1159   struct device_attribute *dev_attrs ;
1160   struct bin_attribute *dev_bin_attrs ;
1161   struct kobject *dev_kobj ;
1162   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1163   char *(*devnode)(struct device * , umode_t * ) ;
1164   void (*class_release)(struct class * ) ;
1165   void (*dev_release)(struct device * ) ;
1166   int (*suspend)(struct device * , pm_message_t  ) ;
1167   int (*resume)(struct device * ) ;
1168   struct kobj_ns_type_operations  const  *ns_type ;
1169   void const   *(*namespace)(struct device * ) ;
1170   struct dev_pm_ops  const  *pm ;
1171   struct subsys_private *p ;
1172};
1173#line 394 "include/linux/device.h"
1174struct class_attribute {
1175   struct attribute attr ;
1176   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1177   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1178   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1179};
1180#line 447 "include/linux/device.h"
1181struct device_type {
1182   char const   *name ;
1183   struct attribute_group  const  **groups ;
1184   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1185   char *(*devnode)(struct device * , umode_t * ) ;
1186   void (*release)(struct device * ) ;
1187   struct dev_pm_ops  const  *pm ;
1188};
1189#line 474 "include/linux/device.h"
1190struct device_attribute {
1191   struct attribute attr ;
1192   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1193   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1194                    size_t  ) ;
1195};
1196#line 557 "include/linux/device.h"
1197struct device_dma_parameters {
1198   unsigned int max_segment_size ;
1199   unsigned long segment_boundary_mask ;
1200};
1201#line 567
1202struct dma_coherent_mem;
1203#line 567 "include/linux/device.h"
1204struct device {
1205   struct device *parent ;
1206   struct device_private *p ;
1207   struct kobject kobj ;
1208   char const   *init_name ;
1209   struct device_type  const  *type ;
1210   struct mutex mutex ;
1211   struct bus_type *bus ;
1212   struct device_driver *driver ;
1213   void *platform_data ;
1214   struct dev_pm_info power ;
1215   struct dev_pm_domain *pm_domain ;
1216   int numa_node ;
1217   u64 *dma_mask ;
1218   u64 coherent_dma_mask ;
1219   struct device_dma_parameters *dma_parms ;
1220   struct list_head dma_pools ;
1221   struct dma_coherent_mem *dma_mem ;
1222   struct dev_archdata archdata ;
1223   struct device_node *of_node ;
1224   dev_t devt ;
1225   u32 id ;
1226   spinlock_t devres_lock ;
1227   struct list_head devres_head ;
1228   struct klist_node knode_class ;
1229   struct class *class ;
1230   struct attribute_group  const  **groups ;
1231   void (*release)(struct device * ) ;
1232};
1233#line 681 "include/linux/device.h"
1234struct wakeup_source {
1235   char const   *name ;
1236   struct list_head entry ;
1237   spinlock_t lock ;
1238   struct timer_list timer ;
1239   unsigned long timer_expires ;
1240   ktime_t total_time ;
1241   ktime_t max_time ;
1242   ktime_t last_time ;
1243   unsigned long event_count ;
1244   unsigned long active_count ;
1245   unsigned long relax_count ;
1246   unsigned long hit_count ;
1247   unsigned char active : 1 ;
1248};
1249#line 12 "include/linux/mod_devicetable.h"
1250typedef unsigned long kernel_ulong_t;
1251#line 205 "include/linux/mod_devicetable.h"
1252struct serio_device_id {
1253   __u8 type ;
1254   __u8 extra ;
1255   __u8 id ;
1256   __u8 proto ;
1257};
1258#line 215 "include/linux/mod_devicetable.h"
1259struct of_device_id {
1260   char name[32U] ;
1261   char type[32U] ;
1262   char compatible[128U] ;
1263   void *data ;
1264};
1265#line 492 "include/linux/mod_devicetable.h"
1266struct platform_device_id {
1267   char name[20U] ;
1268   kernel_ulong_t driver_data ;
1269};
1270#line 584
1271struct serio_driver;
1272#line 584 "include/linux/mod_devicetable.h"
1273struct serio {
1274   void *port_data ;
1275   char name[32U] ;
1276   char phys[32U] ;
1277   bool manual_bind ;
1278   struct serio_device_id id ;
1279   spinlock_t lock ;
1280   int (*write)(struct serio * , unsigned char  ) ;
1281   int (*open)(struct serio * ) ;
1282   void (*close)(struct serio * ) ;
1283   int (*start)(struct serio * ) ;
1284   void (*stop)(struct serio * ) ;
1285   struct serio *parent ;
1286   struct list_head child_node ;
1287   struct list_head children ;
1288   unsigned int depth ;
1289   struct serio_driver *drv ;
1290   struct mutex drv_mutex ;
1291   struct device dev ;
1292   struct list_head node ;
1293};
1294#line 56 "include/linux/serio.h"
1295struct serio_driver {
1296   char const   *description ;
1297   struct serio_device_id  const  *id_table ;
1298   bool manual_bind ;
1299   void (*write_wakeup)(struct serio * ) ;
1300   irqreturn_t (*interrupt)(struct serio * , unsigned char  , unsigned int  ) ;
1301   int (*connect)(struct serio * , struct serio_driver * ) ;
1302   int (*reconnect)(struct serio * ) ;
1303   void (*disconnect)(struct serio * ) ;
1304   void (*cleanup)(struct serio * ) ;
1305   struct device_driver driver ;
1306};
1307#line 140
1308struct mfd_cell;
1309#line 140
1310struct mfd_cell;
1311#line 141 "include/linux/serio.h"
1312struct platform_device {
1313   char const   *name ;
1314   int id ;
1315   struct device dev ;
1316   u32 num_resources ;
1317   struct resource *resource ;
1318   struct platform_device_id  const  *id_entry ;
1319   struct mfd_cell *mfd_cell ;
1320   struct pdev_archdata archdata ;
1321};
1322#line 163 "include/linux/platform_device.h"
1323struct platform_driver {
1324   int (*probe)(struct platform_device * ) ;
1325   int (*remove)(struct platform_device * ) ;
1326   void (*shutdown)(struct platform_device * ) ;
1327   int (*suspend)(struct platform_device * , pm_message_t  ) ;
1328   int (*resume)(struct platform_device * ) ;
1329   struct device_driver driver ;
1330   struct platform_device_id  const  *id_table ;
1331};
1332#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1333void ldv_spin_lock(void) ;
1334#line 3
1335void ldv_spin_unlock(void) ;
1336#line 4
1337int ldv_spin_trylock(void) ;
1338#line 101 "include/linux/printk.h"
1339extern int printk(char const   *  , ...) ;
1340#line 323 "include/linux/kernel.h"
1341extern int snprintf(char * , size_t  , char const   *  , ...) ;
1342#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
1343extern struct pv_cpu_ops pv_cpu_ops ;
1344#line 30 "include/linux/string.h"
1345extern size_t strlcpy(char * , char const   * , size_t  ) ;
1346#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
1347__inline static void slow_down_io(void) 
1348{ unsigned long __cil_tmp1 ;
1349  void (*__cil_tmp2)(void) ;
1350
1351  {
1352  {
1353#line 351
1354  __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
1355#line 351
1356  __cil_tmp2 = *((void (**)(void))__cil_tmp1);
1357#line 351
1358  (*__cil_tmp2)();
1359  }
1360#line 352
1361  return;
1362}
1363}
1364#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1365__inline static void outb(unsigned char value , int port ) 
1366{ 
1367
1368  {
1369#line 308
1370  __asm__  volatile   ("outb %b0, %w1": : "a" (value), "Nd" (port));
1371#line 309
1372  return;
1373}
1374}
1375#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1376__inline static unsigned char inb(int port ) 
1377{ unsigned char value ;
1378
1379  {
1380#line 308
1381  __asm__  volatile   ("inb %w1, %b0": "=a" (value): "Nd" (port));
1382#line 308
1383  return (value);
1384}
1385}
1386#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1387__inline static void outb_p(unsigned char value , int port ) 
1388{ int __cil_tmp3 ;
1389  unsigned char __cil_tmp4 ;
1390
1391  {
1392  {
1393#line 308
1394  __cil_tmp3 = (int )value;
1395#line 308
1396  __cil_tmp4 = (unsigned char )__cil_tmp3;
1397#line 308
1398  outb(__cil_tmp4, port);
1399#line 308
1400  slow_down_io();
1401  }
1402#line 309
1403  return;
1404}
1405}
1406#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1407__inline static unsigned char inb_p(int port ) 
1408{ unsigned char value ;
1409  unsigned char tmp ;
1410
1411  {
1412  {
1413#line 308
1414  tmp = inb(port);
1415#line 308
1416  value = tmp;
1417#line 308
1418  slow_down_io();
1419  }
1420#line 308
1421  return (value);
1422}
1423}
1424#line 26 "include/linux/export.h"
1425extern struct module __this_module ;
1426#line 220 "include/linux/slub_def.h"
1427extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
1428#line 223
1429void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
1430#line 353 "include/linux/slab.h"
1431__inline static void *kzalloc(size_t size , gfp_t flags ) ;
1432#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1433extern void *__VERIFIER_nondet_pointer(void) ;
1434#line 11
1435void ldv_check_alloc_flags(gfp_t flags ) ;
1436#line 12
1437void ldv_check_alloc_nonatomic(void) ;
1438#line 14
1439struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
1440#line 10 "include/asm-generic/delay.h"
1441extern void __const_udelay(unsigned long  ) ;
1442#line 127 "include/linux/interrupt.h"
1443extern int request_threaded_irq(unsigned int  , irqreturn_t (*)(int  , void * ) ,
1444                                irqreturn_t (*)(int  , void * ) , unsigned long  ,
1445                                char const   * , void * ) ;
1446#line 132 "include/linux/interrupt.h"
1447__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int  , void * ) ,
1448                                unsigned long flags , char const   *name , void *dev ) 
1449{ int tmp ;
1450  irqreturn_t (*__cil_tmp7)(int  , void * ) ;
1451
1452  {
1453  {
1454#line 135
1455  __cil_tmp7 = (irqreturn_t (*)(int  , void * ))0;
1456#line 135
1457  tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
1458  }
1459#line 135
1460  return (tmp);
1461}
1462}
1463#line 184
1464extern void free_irq(unsigned int  , void * ) ;
1465#line 79 "include/linux/serio.h"
1466extern irqreturn_t serio_interrupt(struct serio * , unsigned char  , unsigned int  ) ;
1467#line 81
1468extern void __serio_register_port(struct serio * , struct module * ) ;
1469#line 87
1470extern void serio_unregister_port(struct serio * ) ;
1471#line 40 "include/linux/platform_device.h"
1472extern void platform_device_unregister(struct platform_device * ) ;
1473#line 155
1474extern struct platform_device *platform_device_alloc(char const   * , int  ) ;
1475#line 156
1476extern int platform_device_add_resources(struct platform_device * , struct resource  const  * ,
1477                                         unsigned int  ) ;
1478#line 160
1479extern int platform_device_add(struct platform_device * ) ;
1480#line 162
1481extern void platform_device_put(struct platform_device * ) ;
1482#line 174
1483extern int platform_driver_register(struct platform_driver * ) ;
1484#line 175
1485extern void platform_driver_unregister(struct platform_driver * ) ;
1486#line 79 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1487static struct serio *ct82c710_port  ;
1488#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1489static struct platform_device *ct82c710_device  ;
1490#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1491static struct resource ct82c710_iores  ;
1492#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1493static irqreturn_t ct82c710_interrupt(int cpl , void *dev_id ) 
1494{ unsigned char tmp ;
1495  irqreturn_t tmp___0 ;
1496  struct resource *__cil_tmp5 ;
1497  resource_size_t __cil_tmp6 ;
1498  int __cil_tmp7 ;
1499  int __cil_tmp8 ;
1500  unsigned char __cil_tmp9 ;
1501
1502  {
1503  {
1504#line 90
1505  __cil_tmp5 = & ct82c710_iores;
1506#line 90
1507  __cil_tmp6 = *((resource_size_t *)__cil_tmp5);
1508#line 90
1509  __cil_tmp7 = (int )__cil_tmp6;
1510#line 90
1511  tmp = inb(__cil_tmp7);
1512#line 90
1513  __cil_tmp8 = (int )tmp;
1514#line 90
1515  __cil_tmp9 = (unsigned char )__cil_tmp8;
1516#line 90
1517  tmp___0 = serio_interrupt(ct82c710_port, __cil_tmp9, 0U);
1518  }
1519#line 90
1520  return (tmp___0);
1521}
1522}
1523#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1524static int ct82c170_wait(void) 
1525{ int timeout ;
1526  unsigned char tmp ;
1527  unsigned char tmp___0 ;
1528  struct resource *__cil_tmp4 ;
1529  resource_size_t __cil_tmp5 ;
1530  unsigned int __cil_tmp6 ;
1531  unsigned int __cil_tmp7 ;
1532  int __cil_tmp8 ;
1533  int __cil_tmp9 ;
1534  int __cil_tmp10 ;
1535  struct resource *__cil_tmp11 ;
1536  resource_size_t __cil_tmp12 ;
1537  int __cil_tmp13 ;
1538  struct resource *__cil_tmp14 ;
1539  resource_size_t __cil_tmp15 ;
1540  unsigned int __cil_tmp16 ;
1541  unsigned int __cil_tmp17 ;
1542  int __cil_tmp18 ;
1543  int __cil_tmp19 ;
1544  int __cil_tmp20 ;
1545
1546  {
1547#line 99
1548  timeout = 60000;
1549#line 101
1550  goto ldv_17002;
1551  ldv_17001: 
1552  {
1553#line 104
1554  __cil_tmp4 = & ct82c710_iores;
1555#line 104
1556  __cil_tmp5 = *((resource_size_t *)__cil_tmp4);
1557#line 104
1558  __cil_tmp6 = (unsigned int )__cil_tmp5;
1559#line 104
1560  __cil_tmp7 = __cil_tmp6 + 1U;
1561#line 104
1562  __cil_tmp8 = (int )__cil_tmp7;
1563#line 104
1564  tmp = inb_p(__cil_tmp8);
1565  }
1566  {
1567#line 104
1568  __cil_tmp9 = (int )tmp;
1569#line 104
1570  __cil_tmp10 = __cil_tmp9 & 2;
1571#line 104
1572  if (__cil_tmp10 != 0) {
1573    {
1574#line 104
1575    __cil_tmp11 = & ct82c710_iores;
1576#line 104
1577    __cil_tmp12 = *((resource_size_t *)__cil_tmp11);
1578#line 104
1579    __cil_tmp13 = (int )__cil_tmp12;
1580#line 104
1581    inb_p(__cil_tmp13);
1582    }
1583  } else {
1584
1585  }
1586  }
1587  {
1588#line 106
1589  __const_udelay(4295UL);
1590#line 107
1591  timeout = timeout - 1;
1592  }
1593  ldv_17002: 
1594  {
1595#line 101
1596  __cil_tmp14 = & ct82c710_iores;
1597#line 101
1598  __cil_tmp15 = *((resource_size_t *)__cil_tmp14);
1599#line 101
1600  __cil_tmp16 = (unsigned int )__cil_tmp15;
1601#line 101
1602  __cil_tmp17 = __cil_tmp16 + 1U;
1603#line 101
1604  __cil_tmp18 = (int )__cil_tmp17;
1605#line 101
1606  tmp___0 = inb(__cil_tmp18);
1607  }
1608  {
1609#line 101
1610  __cil_tmp19 = (int )tmp___0;
1611#line 101
1612  __cil_tmp20 = __cil_tmp19 & 7;
1613#line 101
1614  if (__cil_tmp20 != 5) {
1615#line 101
1616    if (timeout != 0) {
1617#line 103
1618      goto ldv_17001;
1619    } else {
1620#line 105
1621      goto ldv_17003;
1622    }
1623  } else {
1624#line 105
1625    goto ldv_17003;
1626  }
1627  }
1628  ldv_17003: ;
1629#line 110
1630  return (timeout == 0);
1631}
1632}
1633#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1634static void ct82c710_close(struct serio *serio ) 
1635{ int tmp ;
1636  unsigned char tmp___0 ;
1637  int tmp___1 ;
1638  struct resource *__cil_tmp5 ;
1639  resource_size_t __cil_tmp6 ;
1640  unsigned int __cil_tmp7 ;
1641  unsigned int __cil_tmp8 ;
1642  int __cil_tmp9 ;
1643  int __cil_tmp10 ;
1644  int __cil_tmp11 ;
1645  unsigned char __cil_tmp12 ;
1646  struct resource *__cil_tmp13 ;
1647  resource_size_t __cil_tmp14 ;
1648  unsigned int __cil_tmp15 ;
1649  unsigned int __cil_tmp16 ;
1650  int __cil_tmp17 ;
1651  void *__cil_tmp18 ;
1652
1653  {
1654  {
1655#line 115
1656  tmp = ct82c170_wait();
1657  }
1658#line 115
1659  if (tmp != 0) {
1660    {
1661#line 116
1662    printk("<4>ct82c710.c: Device busy in close()\n");
1663    }
1664  } else {
1665
1666  }
1667  {
1668#line 118
1669  __cil_tmp5 = & ct82c710_iores;
1670#line 118
1671  __cil_tmp6 = *((resource_size_t *)__cil_tmp5);
1672#line 118
1673  __cil_tmp7 = (unsigned int )__cil_tmp6;
1674#line 118
1675  __cil_tmp8 = __cil_tmp7 + 1U;
1676#line 118
1677  __cil_tmp9 = (int )__cil_tmp8;
1678#line 118
1679  tmp___0 = inb_p(__cil_tmp9);
1680#line 118
1681  __cil_tmp10 = (int )tmp___0;
1682#line 118
1683  __cil_tmp11 = __cil_tmp10 & 111;
1684#line 118
1685  __cil_tmp12 = (unsigned char )__cil_tmp11;
1686#line 118
1687  __cil_tmp13 = & ct82c710_iores;
1688#line 118
1689  __cil_tmp14 = *((resource_size_t *)__cil_tmp13);
1690#line 118
1691  __cil_tmp15 = (unsigned int )__cil_tmp14;
1692#line 118
1693  __cil_tmp16 = __cil_tmp15 + 1U;
1694#line 118
1695  __cil_tmp17 = (int )__cil_tmp16;
1696#line 118
1697  outb_p(__cil_tmp12, __cil_tmp17);
1698#line 120
1699  tmp___1 = ct82c170_wait();
1700  }
1701#line 120
1702  if (tmp___1 != 0) {
1703    {
1704#line 121
1705    printk("<4>ct82c710.c: Device busy in close()\n");
1706    }
1707  } else {
1708
1709  }
1710  {
1711#line 123
1712  __cil_tmp18 = (void *)0;
1713#line 123
1714  free_irq(12U, __cil_tmp18);
1715  }
1716#line 124
1717  return;
1718}
1719}
1720#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1721static int ct82c710_open(struct serio *serio ) 
1722{ unsigned char status ;
1723  int err ;
1724  int tmp ;
1725  void *__cil_tmp5 ;
1726  struct resource *__cil_tmp6 ;
1727  resource_size_t __cil_tmp7 ;
1728  unsigned int __cil_tmp8 ;
1729  unsigned int __cil_tmp9 ;
1730  int __cil_tmp10 ;
1731  unsigned int __cil_tmp11 ;
1732  unsigned int __cil_tmp12 ;
1733  int __cil_tmp13 ;
1734  unsigned char __cil_tmp14 ;
1735  struct resource *__cil_tmp15 ;
1736  resource_size_t __cil_tmp16 ;
1737  unsigned int __cil_tmp17 ;
1738  unsigned int __cil_tmp18 ;
1739  int __cil_tmp19 ;
1740  unsigned int __cil_tmp20 ;
1741  unsigned int __cil_tmp21 ;
1742  int __cil_tmp22 ;
1743  unsigned char __cil_tmp23 ;
1744  struct resource *__cil_tmp24 ;
1745  resource_size_t __cil_tmp25 ;
1746  unsigned int __cil_tmp26 ;
1747  unsigned int __cil_tmp27 ;
1748  int __cil_tmp28 ;
1749  unsigned int __cil_tmp29 ;
1750  unsigned int __cil_tmp30 ;
1751  int __cil_tmp31 ;
1752  unsigned char __cil_tmp32 ;
1753  struct resource *__cil_tmp33 ;
1754  resource_size_t __cil_tmp34 ;
1755  unsigned int __cil_tmp35 ;
1756  unsigned int __cil_tmp36 ;
1757  int __cil_tmp37 ;
1758  unsigned int __cil_tmp38 ;
1759  unsigned int __cil_tmp39 ;
1760  int __cil_tmp40 ;
1761  unsigned char __cil_tmp41 ;
1762  struct resource *__cil_tmp42 ;
1763  resource_size_t __cil_tmp43 ;
1764  unsigned int __cil_tmp44 ;
1765  unsigned int __cil_tmp45 ;
1766  int __cil_tmp46 ;
1767  void *__cil_tmp47 ;
1768
1769  {
1770  {
1771#line 131
1772  __cil_tmp5 = (void *)0;
1773#line 131
1774  err = request_irq(12U, & ct82c710_interrupt, 0UL, "ct82c710", __cil_tmp5);
1775  }
1776#line 132
1777  if (err != 0) {
1778#line 133
1779    return (err);
1780  } else {
1781
1782  }
1783  {
1784#line 135
1785  __cil_tmp6 = & ct82c710_iores;
1786#line 135
1787  __cil_tmp7 = *((resource_size_t *)__cil_tmp6);
1788#line 135
1789  __cil_tmp8 = (unsigned int )__cil_tmp7;
1790#line 135
1791  __cil_tmp9 = __cil_tmp8 + 1U;
1792#line 135
1793  __cil_tmp10 = (int )__cil_tmp9;
1794#line 135
1795  status = inb_p(__cil_tmp10);
1796#line 137
1797  __cil_tmp11 = (unsigned int )status;
1798#line 137
1799  __cil_tmp12 = __cil_tmp11 | 136U;
1800#line 137
1801  status = (unsigned char )__cil_tmp12;
1802#line 138
1803  __cil_tmp13 = (int )status;
1804#line 138
1805  __cil_tmp14 = (unsigned char )__cil_tmp13;
1806#line 138
1807  __cil_tmp15 = & ct82c710_iores;
1808#line 138
1809  __cil_tmp16 = *((resource_size_t *)__cil_tmp15);
1810#line 138
1811  __cil_tmp17 = (unsigned int )__cil_tmp16;
1812#line 138
1813  __cil_tmp18 = __cil_tmp17 + 1U;
1814#line 138
1815  __cil_tmp19 = (int )__cil_tmp18;
1816#line 138
1817  outb_p(__cil_tmp14, __cil_tmp19);
1818#line 140
1819  __cil_tmp20 = (unsigned int )status;
1820#line 140
1821  __cil_tmp21 = __cil_tmp20 & 247U;
1822#line 140
1823  status = (unsigned char )__cil_tmp21;
1824#line 141
1825  __cil_tmp22 = (int )status;
1826#line 141
1827  __cil_tmp23 = (unsigned char )__cil_tmp22;
1828#line 141
1829  __cil_tmp24 = & ct82c710_iores;
1830#line 141
1831  __cil_tmp25 = *((resource_size_t *)__cil_tmp24);
1832#line 141
1833  __cil_tmp26 = (unsigned int )__cil_tmp25;
1834#line 141
1835  __cil_tmp27 = __cil_tmp26 + 1U;
1836#line 141
1837  __cil_tmp28 = (int )__cil_tmp27;
1838#line 141
1839  outb_p(__cil_tmp23, __cil_tmp28);
1840#line 143
1841  __cil_tmp29 = (unsigned int )status;
1842#line 143
1843  __cil_tmp30 = __cil_tmp29 | 16U;
1844#line 143
1845  status = (unsigned char )__cil_tmp30;
1846#line 144
1847  __cil_tmp31 = (int )status;
1848#line 144
1849  __cil_tmp32 = (unsigned char )__cil_tmp31;
1850#line 144
1851  __cil_tmp33 = & ct82c710_iores;
1852#line 144
1853  __cil_tmp34 = *((resource_size_t *)__cil_tmp33);
1854#line 144
1855  __cil_tmp35 = (unsigned int )__cil_tmp34;
1856#line 144
1857  __cil_tmp36 = __cil_tmp35 + 1U;
1858#line 144
1859  __cil_tmp37 = (int )__cil_tmp36;
1860#line 144
1861  outb_p(__cil_tmp32, __cil_tmp37);
1862  }
1863#line 146
1864  goto ldv_17013;
1865  ldv_17012: 
1866  {
1867#line 147
1868  printk("<3>ct82c710: Device busy in open()\n");
1869#line 148
1870  __cil_tmp38 = (unsigned int )status;
1871#line 148
1872  __cil_tmp39 = __cil_tmp38 & 111U;
1873#line 148
1874  status = (unsigned char )__cil_tmp39;
1875#line 149
1876  __cil_tmp40 = (int )status;
1877#line 149
1878  __cil_tmp41 = (unsigned char )__cil_tmp40;
1879#line 149
1880  __cil_tmp42 = & ct82c710_iores;
1881#line 149
1882  __cil_tmp43 = *((resource_size_t *)__cil_tmp42);
1883#line 149
1884  __cil_tmp44 = (unsigned int )__cil_tmp43;
1885#line 149
1886  __cil_tmp45 = __cil_tmp44 + 1U;
1887#line 149
1888  __cil_tmp46 = (int )__cil_tmp45;
1889#line 149
1890  outb_p(__cil_tmp41, __cil_tmp46);
1891#line 150
1892  __cil_tmp47 = (void *)0;
1893#line 150
1894  free_irq(12U, __cil_tmp47);
1895  }
1896#line 151
1897  return (-16);
1898  ldv_17013: 
1899  {
1900#line 146
1901  tmp = ct82c170_wait();
1902  }
1903#line 146
1904  if (tmp != 0) {
1905#line 147
1906    goto ldv_17012;
1907  } else {
1908#line 149
1909    goto ldv_17014;
1910  }
1911  ldv_17014: ;
1912#line 154
1913  return (0);
1914}
1915}
1916#line 161 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1917static int ct82c710_write(struct serio *port , unsigned char c ) 
1918{ int tmp ;
1919  int __cil_tmp4 ;
1920  unsigned char __cil_tmp5 ;
1921  struct resource *__cil_tmp6 ;
1922  resource_size_t __cil_tmp7 ;
1923  int __cil_tmp8 ;
1924
1925  {
1926  {
1927#line 163
1928  tmp = ct82c170_wait();
1929  }
1930#line 163
1931  if (tmp != 0) {
1932#line 163
1933    return (-1);
1934  } else {
1935
1936  }
1937  {
1938#line 164
1939  __cil_tmp4 = (int )c;
1940#line 164
1941  __cil_tmp5 = (unsigned char )__cil_tmp4;
1942#line 164
1943  __cil_tmp6 = & ct82c710_iores;
1944#line 164
1945  __cil_tmp7 = *((resource_size_t *)__cil_tmp6);
1946#line 164
1947  __cil_tmp8 = (int )__cil_tmp7;
1948#line 164
1949  outb_p(__cil_tmp5, __cil_tmp8);
1950  }
1951#line 165
1952  return (0);
1953}
1954}
1955#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
1956static int ct82c710_detect(void) 
1957{ unsigned char tmp ;
1958  unsigned char tmp___0 ;
1959  unsigned int __cil_tmp3 ;
1960  struct resource *__cil_tmp4 ;
1961  int __cil_tmp5 ;
1962  int __cil_tmp6 ;
1963  unsigned long __cil_tmp7 ;
1964  struct resource *__cil_tmp8 ;
1965  resource_size_t __cil_tmp9 ;
1966  unsigned long __cil_tmp10 ;
1967
1968  {
1969  {
1970#line 174
1971  outb_p((unsigned char)85, 762);
1972#line 175
1973  outb_p((unsigned char)170, 1018);
1974#line 176
1975  outb_p((unsigned char)54, 1018);
1976#line 177
1977  outb_p((unsigned char)228, 1018);
1978#line 178
1979  outb_p((unsigned char)27, 762);
1980#line 179
1981  outb_p((unsigned char)15, 912);
1982#line 180
1983  tmp = inb_p(913);
1984  }
1985  {
1986#line 180
1987  __cil_tmp3 = (unsigned int )tmp;
1988#line 180
1989  if (__cil_tmp3 != 228U) {
1990#line 181
1991    return (-19);
1992  } else {
1993
1994  }
1995  }
1996  {
1997#line 183
1998  outb_p((unsigned char)13, 912);
1999#line 184
2000  tmp___0 = inb_p(913);
2001#line 184
2002  __cil_tmp4 = & ct82c710_iores;
2003#line 184
2004  __cil_tmp5 = (int )tmp___0;
2005#line 184
2006  __cil_tmp6 = __cil_tmp5 << 2;
2007#line 184
2008  *((resource_size_t *)__cil_tmp4) = (resource_size_t )__cil_tmp6;
2009#line 185
2010  __cil_tmp7 = (unsigned long )(& ct82c710_iores) + 8;
2011#line 185
2012  __cil_tmp8 = & ct82c710_iores;
2013#line 185
2014  __cil_tmp9 = *((resource_size_t *)__cil_tmp8);
2015#line 185
2016  *((resource_size_t *)__cil_tmp7) = __cil_tmp9 + 1ULL;
2017#line 186
2018  __cil_tmp10 = (unsigned long )(& ct82c710_iores) + 24;
2019#line 186
2020  *((unsigned long *)__cil_tmp10) = 256UL;
2021#line 187
2022  outb_p((unsigned char)15, 912);
2023#line 188
2024  outb_p((unsigned char)15, 913);
2025  }
2026#line 190
2027  return (0);
2028}
2029}
2030#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2031static int ct82c710_probe(struct platform_device *dev ) 
2032{ void *tmp ;
2033  struct serio *__cil_tmp3 ;
2034  unsigned long __cil_tmp4 ;
2035  unsigned long __cil_tmp5 ;
2036  unsigned long __cil_tmp6 ;
2037  unsigned long __cil_tmp7 ;
2038  unsigned long __cil_tmp8 ;
2039  unsigned long __cil_tmp9 ;
2040  unsigned long __cil_tmp10 ;
2041  unsigned long __cil_tmp11 ;
2042  unsigned long __cil_tmp12 ;
2043  unsigned long __cil_tmp13 ;
2044  unsigned long __cil_tmp14 ;
2045  unsigned long __cil_tmp15 ;
2046  unsigned long __cil_tmp16 ;
2047  unsigned long __cil_tmp17 ;
2048  unsigned long __cil_tmp18 ;
2049  unsigned long __cil_tmp19 ;
2050  char (*__cil_tmp20)[32U] ;
2051  char *__cil_tmp21 ;
2052  unsigned long __cil_tmp22 ;
2053  unsigned long __cil_tmp23 ;
2054  char (*__cil_tmp24)[32U] ;
2055  char *__cil_tmp25 ;
2056  struct resource *__cil_tmp26 ;
2057  resource_size_t __cil_tmp27 ;
2058  struct resource *__cil_tmp28 ;
2059  resource_size_t __cil_tmp29 ;
2060
2061  {
2062  {
2063#line 195
2064  tmp = kzalloc(1584UL, 208U);
2065#line 195
2066  ct82c710_port = (struct serio *)tmp;
2067  }
2068  {
2069#line 196
2070  __cil_tmp3 = (struct serio *)0;
2071#line 196
2072  __cil_tmp4 = (unsigned long )__cil_tmp3;
2073#line 196
2074  __cil_tmp5 = (unsigned long )ct82c710_port;
2075#line 196
2076  if (__cil_tmp5 == __cil_tmp4) {
2077#line 197
2078    return (-12);
2079  } else {
2080
2081  }
2082  }
2083  {
2084#line 199
2085  __cil_tmp6 = (unsigned long )ct82c710_port;
2086#line 199
2087  __cil_tmp7 = __cil_tmp6 + 73;
2088#line 199
2089  *((__u8 *)__cil_tmp7) = (__u8 )1U;
2090#line 200
2091  __cil_tmp8 = (unsigned long )ct82c710_port;
2092#line 200
2093  __cil_tmp9 = __cil_tmp8 + 416;
2094#line 200
2095  __cil_tmp10 = (unsigned long )dev;
2096#line 200
2097  __cil_tmp11 = __cil_tmp10 + 16;
2098#line 200
2099  *((struct device **)__cil_tmp9) = (struct device *)__cil_tmp11;
2100#line 201
2101  __cil_tmp12 = (unsigned long )ct82c710_port;
2102#line 201
2103  __cil_tmp13 = __cil_tmp12 + 160;
2104#line 201
2105  *((int (**)(struct serio * ))__cil_tmp13) = & ct82c710_open;
2106#line 202
2107  __cil_tmp14 = (unsigned long )ct82c710_port;
2108#line 202
2109  __cil_tmp15 = __cil_tmp14 + 168;
2110#line 202
2111  *((void (**)(struct serio * ))__cil_tmp15) = & ct82c710_close;
2112#line 203
2113  __cil_tmp16 = (unsigned long )ct82c710_port;
2114#line 203
2115  __cil_tmp17 = __cil_tmp16 + 152;
2116#line 203
2117  *((int (**)(struct serio * , unsigned char  ))__cil_tmp17) = & ct82c710_write;
2118#line 204
2119  __cil_tmp18 = (unsigned long )ct82c710_port;
2120#line 204
2121  __cil_tmp19 = __cil_tmp18 + 8;
2122#line 204
2123  __cil_tmp20 = (char (*)[32U])__cil_tmp19;
2124#line 204
2125  __cil_tmp21 = (char *)__cil_tmp20;
2126#line 204
2127  strlcpy(__cil_tmp21, "C&T 82c710 mouse port", 32UL);
2128#line 206
2129  __cil_tmp22 = (unsigned long )ct82c710_port;
2130#line 206
2131  __cil_tmp23 = __cil_tmp22 + 40;
2132#line 206
2133  __cil_tmp24 = (char (*)[32U])__cil_tmp23;
2134#line 206
2135  __cil_tmp25 = (char *)__cil_tmp24;
2136#line 206
2137  __cil_tmp26 = & ct82c710_iores;
2138#line 206
2139  __cil_tmp27 = *((resource_size_t *)__cil_tmp26);
2140#line 206
2141  snprintf(__cil_tmp25, 32UL, "isa%16llx/serio0", __cil_tmp27);
2142#line 209
2143  __serio_register_port(ct82c710_port, & __this_module);
2144#line 211
2145  __cil_tmp28 = & ct82c710_iores;
2146#line 211
2147  __cil_tmp29 = *((resource_size_t *)__cil_tmp28);
2148#line 211
2149  printk("<6>serio: C&T 82c710 mouse port at %#llx irq %d\n", __cil_tmp29, 12);
2150  }
2151#line 214
2152  return (0);
2153}
2154}
2155#line 217 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2156static int ct82c710_remove(struct platform_device *dev ) 
2157{ 
2158
2159  {
2160  {
2161#line 219
2162  serio_unregister_port(ct82c710_port);
2163  }
2164#line 221
2165  return (0);
2166}
2167}
2168#line 224 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2169static struct platform_driver ct82c710_driver  =    {& ct82c710_probe, & ct82c710_remove, (void (*)(struct platform_device * ))0, (int (*)(struct platform_device * ,
2170                                                                                          pm_message_t  ))0,
2171    (int (*)(struct platform_device * ))0, {"ct82c710", (struct bus_type *)0, & __this_module,
2172                                            (char const   *)0, (_Bool)0, (struct of_device_id  const  *)0,
2173                                            (int (*)(struct device * ))0, (int (*)(struct device * ))0,
2174                                            (void (*)(struct device * ))0, (int (*)(struct device * ,
2175                                                                                    pm_message_t  ))0,
2176                                            (int (*)(struct device * ))0, (struct attribute_group  const  **)0,
2177                                            (struct dev_pm_ops  const  *)0, (struct driver_private *)0},
2178    (struct platform_device_id  const  *)0};
2179#line 234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2180static int ct82c710_init(void) 
2181{ int error ;
2182  struct platform_device *__cil_tmp2 ;
2183  unsigned long __cil_tmp3 ;
2184  unsigned long __cil_tmp4 ;
2185  struct resource  const  *__cil_tmp5 ;
2186
2187  {
2188  {
2189#line 238
2190  error = ct82c710_detect();
2191  }
2192#line 239
2193  if (error != 0) {
2194#line 240
2195    return (error);
2196  } else {
2197
2198  }
2199  {
2200#line 242
2201  error = platform_driver_register(& ct82c710_driver);
2202  }
2203#line 243
2204  if (error != 0) {
2205#line 244
2206    return (error);
2207  } else {
2208
2209  }
2210  {
2211#line 246
2212  ct82c710_device = platform_device_alloc("ct82c710", -1);
2213  }
2214  {
2215#line 247
2216  __cil_tmp2 = (struct platform_device *)0;
2217#line 247
2218  __cil_tmp3 = (unsigned long )__cil_tmp2;
2219#line 247
2220  __cil_tmp4 = (unsigned long )ct82c710_device;
2221#line 247
2222  if (__cil_tmp4 == __cil_tmp3) {
2223#line 248
2224    error = -12;
2225#line 249
2226    goto err_unregister_driver;
2227  } else {
2228
2229  }
2230  }
2231  {
2232#line 252
2233  __cil_tmp5 = (struct resource  const  *)(& ct82c710_iores);
2234#line 252
2235  error = platform_device_add_resources(ct82c710_device, __cil_tmp5, 1U);
2236  }
2237#line 253
2238  if (error != 0) {
2239#line 254
2240    goto err_free_device;
2241  } else {
2242
2243  }
2244  {
2245#line 256
2246  error = platform_device_add(ct82c710_device);
2247  }
2248#line 257
2249  if (error != 0) {
2250#line 258
2251    goto err_free_device;
2252  } else {
2253
2254  }
2255#line 260
2256  return (0);
2257  err_free_device: 
2258  {
2259#line 263
2260  platform_device_put(ct82c710_device);
2261  }
2262  err_unregister_driver: 
2263  {
2264#line 265
2265  platform_driver_unregister(& ct82c710_driver);
2266  }
2267#line 266
2268  return (error);
2269}
2270}
2271#line 269 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2272static void ct82c710_exit(void) 
2273{ 
2274
2275  {
2276  {
2277#line 271
2278  platform_device_unregister(ct82c710_device);
2279#line 272
2280  platform_driver_unregister(& ct82c710_driver);
2281  }
2282#line 273
2283  return;
2284}
2285}
2286#line 294
2287extern void ldv_check_final_state(void) ;
2288#line 297
2289extern void ldv_check_return_value(int  ) ;
2290#line 300
2291extern void ldv_initialize(void) ;
2292#line 303
2293extern int __VERIFIER_nondet_int(void) ;
2294#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2295int LDV_IN_INTERRUPT  ;
2296#line 309 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2297void main(void) 
2298{ struct platform_device *var_group1 ;
2299  int res_ct82c710_probe_6 ;
2300  int var_ct82c710_interrupt_0_p0 ;
2301  void *var_ct82c710_interrupt_0_p1 ;
2302  int ldv_s_ct82c710_driver_platform_driver ;
2303  int tmp ;
2304  int tmp___0 ;
2305  int tmp___1 ;
2306
2307  {
2308  {
2309#line 390
2310  ldv_s_ct82c710_driver_platform_driver = 0;
2311#line 361
2312  LDV_IN_INTERRUPT = 1;
2313#line 370
2314  ldv_initialize();
2315#line 388
2316  tmp = ct82c710_init();
2317  }
2318#line 388
2319  if (tmp != 0) {
2320#line 389
2321    goto ldv_final;
2322  } else {
2323
2324  }
2325#line 395
2326  goto ldv_17072;
2327  ldv_17071: 
2328  {
2329#line 399
2330  tmp___0 = __VERIFIER_nondet_int();
2331  }
2332#line 401
2333  if (tmp___0 == 0) {
2334#line 401
2335    goto case_0;
2336  } else
2337#line 432
2338  if (tmp___0 == 1) {
2339#line 432
2340    goto case_1;
2341  } else {
2342    {
2343#line 460
2344    goto switch_default;
2345#line 399
2346    if (0) {
2347      case_0: /* CIL Label */ ;
2348#line 404
2349      if (ldv_s_ct82c710_driver_platform_driver == 0) {
2350        {
2351#line 421
2352        res_ct82c710_probe_6 = ct82c710_probe(var_group1);
2353#line 422
2354        ldv_check_return_value(res_ct82c710_probe_6);
2355        }
2356#line 423
2357        if (res_ct82c710_probe_6 != 0) {
2358#line 424
2359          goto ldv_module_exit;
2360        } else {
2361
2362        }
2363#line 425
2364        ldv_s_ct82c710_driver_platform_driver = 0;
2365      } else {
2366
2367      }
2368#line 431
2369      goto ldv_17068;
2370      case_1: /* CIL Label */ 
2371      {
2372#line 435
2373      LDV_IN_INTERRUPT = 2;
2374#line 452
2375      ct82c710_interrupt(var_ct82c710_interrupt_0_p0, var_ct82c710_interrupt_0_p1);
2376#line 453
2377      LDV_IN_INTERRUPT = 1;
2378      }
2379#line 459
2380      goto ldv_17068;
2381      switch_default: /* CIL Label */ ;
2382#line 460
2383      goto ldv_17068;
2384    } else {
2385      switch_break: /* CIL Label */ ;
2386    }
2387    }
2388  }
2389  ldv_17068: ;
2390  ldv_17072: 
2391  {
2392#line 395
2393  tmp___1 = __VERIFIER_nondet_int();
2394  }
2395#line 395
2396  if (tmp___1 != 0) {
2397#line 397
2398    goto ldv_17071;
2399  } else
2400#line 395
2401  if (ldv_s_ct82c710_driver_platform_driver != 0) {
2402#line 397
2403    goto ldv_17071;
2404  } else {
2405#line 399
2406    goto ldv_17073;
2407  }
2408  ldv_17073: ;
2409  ldv_module_exit: 
2410  {
2411#line 484
2412  ct82c710_exit();
2413  }
2414  ldv_final: 
2415  {
2416#line 487
2417  ldv_check_final_state();
2418  }
2419#line 490
2420  return;
2421}
2422}
2423#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
2424void ldv_blast_assert(void) 
2425{ 
2426
2427  {
2428  ERROR: ;
2429#line 6
2430  goto ERROR;
2431}
2432}
2433#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
2434extern int __VERIFIER_nondet_int(void) ;
2435#line 511 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2436int ldv_spin  =    0;
2437#line 515 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2438void ldv_check_alloc_flags(gfp_t flags ) 
2439{ 
2440
2441  {
2442#line 518
2443  if (ldv_spin != 0) {
2444#line 518
2445    if (flags != 32U) {
2446      {
2447#line 518
2448      ldv_blast_assert();
2449      }
2450    } else {
2451
2452    }
2453  } else {
2454
2455  }
2456#line 521
2457  return;
2458}
2459}
2460#line 521
2461extern struct page *ldv_some_page(void) ;
2462#line 524 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2463struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
2464{ struct page *tmp ;
2465
2466  {
2467#line 527
2468  if (ldv_spin != 0) {
2469#line 527
2470    if (flags != 32U) {
2471      {
2472#line 527
2473      ldv_blast_assert();
2474      }
2475    } else {
2476
2477    }
2478  } else {
2479
2480  }
2481  {
2482#line 529
2483  tmp = ldv_some_page();
2484  }
2485#line 529
2486  return (tmp);
2487}
2488}
2489#line 533 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2490void ldv_check_alloc_nonatomic(void) 
2491{ 
2492
2493  {
2494#line 536
2495  if (ldv_spin != 0) {
2496    {
2497#line 536
2498    ldv_blast_assert();
2499    }
2500  } else {
2501
2502  }
2503#line 539
2504  return;
2505}
2506}
2507#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2508void ldv_spin_lock(void) 
2509{ 
2510
2511  {
2512#line 543
2513  ldv_spin = 1;
2514#line 544
2515  return;
2516}
2517}
2518#line 547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2519void ldv_spin_unlock(void) 
2520{ 
2521
2522  {
2523#line 550
2524  ldv_spin = 0;
2525#line 551
2526  return;
2527}
2528}
2529#line 554 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2530int ldv_spin_trylock(void) 
2531{ int is_lock ;
2532
2533  {
2534  {
2535#line 559
2536  is_lock = __VERIFIER_nondet_int();
2537  }
2538#line 561
2539  if (is_lock != 0) {
2540#line 564
2541    return (0);
2542  } else {
2543#line 569
2544    ldv_spin = 1;
2545#line 571
2546    return (1);
2547  }
2548}
2549}
2550#line 738 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2551void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
2552{ 
2553
2554  {
2555  {
2556#line 744
2557  ldv_check_alloc_flags(ldv_func_arg2);
2558#line 746
2559  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
2560  }
2561#line 747
2562  return ((void *)0);
2563}
2564}
2565#line 749 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2969/dscv_tempdir/dscv/ri/43_1a/drivers/input/serio/ct82c710.c.p"
2566__inline static void *kzalloc(size_t size , gfp_t flags ) 
2567{ void *tmp ;
2568
2569  {
2570  {
2571#line 755
2572  ldv_check_alloc_flags(flags);
2573#line 756
2574  tmp = __VERIFIER_nondet_pointer();
2575  }
2576#line 756
2577  return (tmp);
2578}
2579}