Showing error 864

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