Showing error 294

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--input--touchscreen--wacom_w8001.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 6341
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 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 52 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_uid32_t;
  38#line 53 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_gid32_t;
  40#line 75 "include/asm-generic/posix_types.h"
  41typedef __kernel_ulong_t __kernel_size_t;
  42#line 76 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_ssize_t;
  44#line 91 "include/asm-generic/posix_types.h"
  45typedef long long __kernel_loff_t;
  46#line 92 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_time_t;
  48#line 21 "include/linux/types.h"
  49typedef __u32 __kernel_dev_t;
  50#line 24 "include/linux/types.h"
  51typedef __kernel_dev_t dev_t;
  52#line 27 "include/linux/types.h"
  53typedef unsigned short umode_t;
  54#line 38 "include/linux/types.h"
  55typedef _Bool bool;
  56#line 40 "include/linux/types.h"
  57typedef __kernel_uid32_t uid_t;
  58#line 41 "include/linux/types.h"
  59typedef __kernel_gid32_t gid_t;
  60#line 54 "include/linux/types.h"
  61typedef __kernel_loff_t loff_t;
  62#line 63 "include/linux/types.h"
  63typedef __kernel_size_t size_t;
  64#line 68 "include/linux/types.h"
  65typedef __kernel_ssize_t ssize_t;
  66#line 78 "include/linux/types.h"
  67typedef __kernel_time_t time_t;
  68#line 142 "include/linux/types.h"
  69typedef unsigned long sector_t;
  70#line 143 "include/linux/types.h"
  71typedef unsigned long blkcnt_t;
  72#line 202 "include/linux/types.h"
  73typedef unsigned int gfp_t;
  74#line 203 "include/linux/types.h"
  75typedef unsigned int fmode_t;
  76#line 219 "include/linux/types.h"
  77struct __anonstruct_atomic_t_7 {
  78   int counter ;
  79};
  80#line 219 "include/linux/types.h"
  81typedef struct __anonstruct_atomic_t_7 atomic_t;
  82#line 224 "include/linux/types.h"
  83struct __anonstruct_atomic64_t_8 {
  84   long counter ;
  85};
  86#line 224 "include/linux/types.h"
  87typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  88#line 229 "include/linux/types.h"
  89struct list_head {
  90   struct list_head *next ;
  91   struct list_head *prev ;
  92};
  93#line 233
  94struct hlist_node;
  95#line 233 "include/linux/types.h"
  96struct hlist_head {
  97   struct hlist_node *first ;
  98};
  99#line 237 "include/linux/types.h"
 100struct hlist_node {
 101   struct hlist_node *next ;
 102   struct hlist_node **pprev ;
 103};
 104#line 253 "include/linux/types.h"
 105struct rcu_head {
 106   struct rcu_head *next ;
 107   void (*func)(struct rcu_head *head ) ;
 108};
 109#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 110struct module;
 111#line 56
 112struct module;
 113#line 146 "include/linux/init.h"
 114typedef void (*ctor_fn_t)(void);
 115#line 9 "include/linux/dynamic_debug.h"
 116struct _ddebug {
 117   char const   *modname ;
 118   char const   *function ;
 119   char const   *filename ;
 120   char const   *format ;
 121   unsigned int lineno : 18 ;
 122   unsigned int flags : 8 ;
 123} __attribute__((__aligned__(8))) ;
 124#line 47
 125struct device;
 126#line 47
 127struct device;
 128#line 135 "include/linux/kernel.h"
 129struct completion;
 130#line 135
 131struct completion;
 132#line 349
 133struct pid;
 134#line 349
 135struct pid;
 136#line 12 "include/linux/thread_info.h"
 137struct timespec;
 138#line 12
 139struct timespec;
 140#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 141struct page;
 142#line 18
 143struct page;
 144#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 145struct task_struct;
 146#line 20
 147struct task_struct;
 148#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 149struct task_struct;
 150#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 151struct file;
 152#line 295
 153struct file;
 154#line 313
 155struct seq_file;
 156#line 313
 157struct seq_file;
 158#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 159struct page;
 160#line 52
 161struct task_struct;
 162#line 329
 163struct arch_spinlock;
 164#line 329
 165struct arch_spinlock;
 166#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 167struct task_struct;
 168#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 169struct task_struct;
 170#line 10 "include/asm-generic/bug.h"
 171struct bug_entry {
 172   int bug_addr_disp ;
 173   int file_disp ;
 174   unsigned short line ;
 175   unsigned short flags ;
 176};
 177#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 178struct static_key;
 179#line 234
 180struct static_key;
 181#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 182struct kmem_cache;
 183#line 23 "include/asm-generic/atomic-long.h"
 184typedef atomic64_t atomic_long_t;
 185#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 186typedef u16 __ticket_t;
 187#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 188typedef u32 __ticketpair_t;
 189#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 190struct __raw_tickets {
 191   __ticket_t head ;
 192   __ticket_t tail ;
 193};
 194#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 195union __anonunion____missing_field_name_36 {
 196   __ticketpair_t head_tail ;
 197   struct __raw_tickets tickets ;
 198};
 199#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 200struct arch_spinlock {
 201   union __anonunion____missing_field_name_36 __annonCompField17 ;
 202};
 203#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 204typedef struct arch_spinlock arch_spinlock_t;
 205#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 206struct __anonstruct____missing_field_name_38 {
 207   u32 read ;
 208   s32 write ;
 209};
 210#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 211union __anonunion_arch_rwlock_t_37 {
 212   s64 lock ;
 213   struct __anonstruct____missing_field_name_38 __annonCompField18 ;
 214};
 215#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 216typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
 217#line 12 "include/linux/lockdep.h"
 218struct task_struct;
 219#line 391 "include/linux/lockdep.h"
 220struct lock_class_key {
 221
 222};
 223#line 20 "include/linux/spinlock_types.h"
 224struct raw_spinlock {
 225   arch_spinlock_t raw_lock ;
 226   unsigned int magic ;
 227   unsigned int owner_cpu ;
 228   void *owner ;
 229};
 230#line 20 "include/linux/spinlock_types.h"
 231typedef struct raw_spinlock raw_spinlock_t;
 232#line 64 "include/linux/spinlock_types.h"
 233union __anonunion____missing_field_name_39 {
 234   struct raw_spinlock rlock ;
 235};
 236#line 64 "include/linux/spinlock_types.h"
 237struct spinlock {
 238   union __anonunion____missing_field_name_39 __annonCompField19 ;
 239};
 240#line 64 "include/linux/spinlock_types.h"
 241typedef struct spinlock spinlock_t;
 242#line 11 "include/linux/rwlock_types.h"
 243struct __anonstruct_rwlock_t_40 {
 244   arch_rwlock_t raw_lock ;
 245   unsigned int magic ;
 246   unsigned int owner_cpu ;
 247   void *owner ;
 248};
 249#line 11 "include/linux/rwlock_types.h"
 250typedef struct __anonstruct_rwlock_t_40 rwlock_t;
 251#line 119 "include/linux/seqlock.h"
 252struct seqcount {
 253   unsigned int sequence ;
 254};
 255#line 119 "include/linux/seqlock.h"
 256typedef struct seqcount seqcount_t;
 257#line 14 "include/linux/time.h"
 258struct timespec {
 259   __kernel_time_t tv_sec ;
 260   long tv_nsec ;
 261};
 262#line 62 "include/linux/stat.h"
 263struct kstat {
 264   u64 ino ;
 265   dev_t dev ;
 266   umode_t mode ;
 267   unsigned int nlink ;
 268   uid_t uid ;
 269   gid_t gid ;
 270   dev_t rdev ;
 271   loff_t size ;
 272   struct timespec atime ;
 273   struct timespec mtime ;
 274   struct timespec ctime ;
 275   unsigned long blksize ;
 276   unsigned long long blocks ;
 277};
 278#line 49 "include/linux/wait.h"
 279struct __wait_queue_head {
 280   spinlock_t lock ;
 281   struct list_head task_list ;
 282};
 283#line 53 "include/linux/wait.h"
 284typedef struct __wait_queue_head wait_queue_head_t;
 285#line 55
 286struct task_struct;
 287#line 60 "include/linux/pageblock-flags.h"
 288struct page;
 289#line 48 "include/linux/mutex.h"
 290struct mutex {
 291   atomic_t count ;
 292   spinlock_t wait_lock ;
 293   struct list_head wait_list ;
 294   struct task_struct *owner ;
 295   char const   *name ;
 296   void *magic ;
 297};
 298#line 19 "include/linux/rwsem.h"
 299struct rw_semaphore;
 300#line 19
 301struct rw_semaphore;
 302#line 25 "include/linux/rwsem.h"
 303struct rw_semaphore {
 304   long count ;
 305   raw_spinlock_t wait_lock ;
 306   struct list_head wait_list ;
 307};
 308#line 25 "include/linux/completion.h"
 309struct completion {
 310   unsigned int done ;
 311   wait_queue_head_t wait ;
 312};
 313#line 9 "include/linux/memory_hotplug.h"
 314struct page;
 315#line 202 "include/linux/ioport.h"
 316struct device;
 317#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 318struct device;
 319#line 46 "include/linux/ktime.h"
 320union ktime {
 321   s64 tv64 ;
 322};
 323#line 59 "include/linux/ktime.h"
 324typedef union ktime ktime_t;
 325#line 10 "include/linux/timer.h"
 326struct tvec_base;
 327#line 10
 328struct tvec_base;
 329#line 12 "include/linux/timer.h"
 330struct timer_list {
 331   struct list_head entry ;
 332   unsigned long expires ;
 333   struct tvec_base *base ;
 334   void (*function)(unsigned long  ) ;
 335   unsigned long data ;
 336   int slack ;
 337   int start_pid ;
 338   void *start_site ;
 339   char start_comm[16] ;
 340};
 341#line 17 "include/linux/workqueue.h"
 342struct work_struct;
 343#line 17
 344struct work_struct;
 345#line 79 "include/linux/workqueue.h"
 346struct work_struct {
 347   atomic_long_t data ;
 348   struct list_head entry ;
 349   void (*func)(struct work_struct *work ) ;
 350};
 351#line 42 "include/linux/pm.h"
 352struct device;
 353#line 50 "include/linux/pm.h"
 354struct pm_message {
 355   int event ;
 356};
 357#line 50 "include/linux/pm.h"
 358typedef struct pm_message pm_message_t;
 359#line 264 "include/linux/pm.h"
 360struct dev_pm_ops {
 361   int (*prepare)(struct device *dev ) ;
 362   void (*complete)(struct device *dev ) ;
 363   int (*suspend)(struct device *dev ) ;
 364   int (*resume)(struct device *dev ) ;
 365   int (*freeze)(struct device *dev ) ;
 366   int (*thaw)(struct device *dev ) ;
 367   int (*poweroff)(struct device *dev ) ;
 368   int (*restore)(struct device *dev ) ;
 369   int (*suspend_late)(struct device *dev ) ;
 370   int (*resume_early)(struct device *dev ) ;
 371   int (*freeze_late)(struct device *dev ) ;
 372   int (*thaw_early)(struct device *dev ) ;
 373   int (*poweroff_late)(struct device *dev ) ;
 374   int (*restore_early)(struct device *dev ) ;
 375   int (*suspend_noirq)(struct device *dev ) ;
 376   int (*resume_noirq)(struct device *dev ) ;
 377   int (*freeze_noirq)(struct device *dev ) ;
 378   int (*thaw_noirq)(struct device *dev ) ;
 379   int (*poweroff_noirq)(struct device *dev ) ;
 380   int (*restore_noirq)(struct device *dev ) ;
 381   int (*runtime_suspend)(struct device *dev ) ;
 382   int (*runtime_resume)(struct device *dev ) ;
 383   int (*runtime_idle)(struct device *dev ) ;
 384};
 385#line 458
 386enum rpm_status {
 387    RPM_ACTIVE = 0,
 388    RPM_RESUMING = 1,
 389    RPM_SUSPENDED = 2,
 390    RPM_SUSPENDING = 3
 391} ;
 392#line 480
 393enum rpm_request {
 394    RPM_REQ_NONE = 0,
 395    RPM_REQ_IDLE = 1,
 396    RPM_REQ_SUSPEND = 2,
 397    RPM_REQ_AUTOSUSPEND = 3,
 398    RPM_REQ_RESUME = 4
 399} ;
 400#line 488
 401struct wakeup_source;
 402#line 488
 403struct wakeup_source;
 404#line 495 "include/linux/pm.h"
 405struct pm_subsys_data {
 406   spinlock_t lock ;
 407   unsigned int refcount ;
 408};
 409#line 506
 410struct dev_pm_qos_request;
 411#line 506
 412struct pm_qos_constraints;
 413#line 506 "include/linux/pm.h"
 414struct dev_pm_info {
 415   pm_message_t power_state ;
 416   unsigned int can_wakeup : 1 ;
 417   unsigned int async_suspend : 1 ;
 418   bool is_prepared : 1 ;
 419   bool is_suspended : 1 ;
 420   bool ignore_children : 1 ;
 421   spinlock_t lock ;
 422   struct list_head entry ;
 423   struct completion completion ;
 424   struct wakeup_source *wakeup ;
 425   bool wakeup_path : 1 ;
 426   struct timer_list suspend_timer ;
 427   unsigned long timer_expires ;
 428   struct work_struct work ;
 429   wait_queue_head_t wait_queue ;
 430   atomic_t usage_count ;
 431   atomic_t child_count ;
 432   unsigned int disable_depth : 3 ;
 433   unsigned int idle_notification : 1 ;
 434   unsigned int request_pending : 1 ;
 435   unsigned int deferred_resume : 1 ;
 436   unsigned int run_wake : 1 ;
 437   unsigned int runtime_auto : 1 ;
 438   unsigned int no_callbacks : 1 ;
 439   unsigned int irq_safe : 1 ;
 440   unsigned int use_autosuspend : 1 ;
 441   unsigned int timer_autosuspends : 1 ;
 442   enum rpm_request request ;
 443   enum rpm_status runtime_status ;
 444   int runtime_error ;
 445   int autosuspend_delay ;
 446   unsigned long last_busy ;
 447   unsigned long active_jiffies ;
 448   unsigned long suspended_jiffies ;
 449   unsigned long accounting_timestamp ;
 450   ktime_t suspend_time ;
 451   s64 max_time_suspended_ns ;
 452   struct dev_pm_qos_request *pq_req ;
 453   struct pm_subsys_data *subsys_data ;
 454   struct pm_qos_constraints *constraints ;
 455};
 456#line 564 "include/linux/pm.h"
 457struct dev_pm_domain {
 458   struct dev_pm_ops ops ;
 459};
 460#line 8 "include/linux/vmalloc.h"
 461struct vm_area_struct;
 462#line 8
 463struct vm_area_struct;
 464#line 994 "include/linux/mmzone.h"
 465struct page;
 466#line 10 "include/linux/gfp.h"
 467struct vm_area_struct;
 468#line 29 "include/linux/sysctl.h"
 469struct completion;
 470#line 48 "include/linux/kmod.h"
 471struct cred;
 472#line 48
 473struct cred;
 474#line 49
 475struct file;
 476#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 477struct task_struct;
 478#line 18 "include/linux/elf.h"
 479typedef __u64 Elf64_Addr;
 480#line 19 "include/linux/elf.h"
 481typedef __u16 Elf64_Half;
 482#line 23 "include/linux/elf.h"
 483typedef __u32 Elf64_Word;
 484#line 24 "include/linux/elf.h"
 485typedef __u64 Elf64_Xword;
 486#line 194 "include/linux/elf.h"
 487struct elf64_sym {
 488   Elf64_Word st_name ;
 489   unsigned char st_info ;
 490   unsigned char st_other ;
 491   Elf64_Half st_shndx ;
 492   Elf64_Addr st_value ;
 493   Elf64_Xword st_size ;
 494};
 495#line 194 "include/linux/elf.h"
 496typedef struct elf64_sym Elf64_Sym;
 497#line 438
 498struct file;
 499#line 20 "include/linux/kobject_ns.h"
 500struct sock;
 501#line 20
 502struct sock;
 503#line 21
 504struct kobject;
 505#line 21
 506struct kobject;
 507#line 27
 508enum kobj_ns_type {
 509    KOBJ_NS_TYPE_NONE = 0,
 510    KOBJ_NS_TYPE_NET = 1,
 511    KOBJ_NS_TYPES = 2
 512} ;
 513#line 40 "include/linux/kobject_ns.h"
 514struct kobj_ns_type_operations {
 515   enum kobj_ns_type type ;
 516   void *(*grab_current_ns)(void) ;
 517   void const   *(*netlink_ns)(struct sock *sk ) ;
 518   void const   *(*initial_ns)(void) ;
 519   void (*drop_ns)(void * ) ;
 520};
 521#line 22 "include/linux/sysfs.h"
 522struct kobject;
 523#line 23
 524struct module;
 525#line 24
 526enum kobj_ns_type;
 527#line 26 "include/linux/sysfs.h"
 528struct attribute {
 529   char const   *name ;
 530   umode_t mode ;
 531};
 532#line 56 "include/linux/sysfs.h"
 533struct attribute_group {
 534   char const   *name ;
 535   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 536   struct attribute **attrs ;
 537};
 538#line 85
 539struct file;
 540#line 86
 541struct vm_area_struct;
 542#line 88 "include/linux/sysfs.h"
 543struct bin_attribute {
 544   struct attribute attr ;
 545   size_t size ;
 546   void *private ;
 547   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 548                   loff_t  , size_t  ) ;
 549   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 550                    loff_t  , size_t  ) ;
 551   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 552};
 553#line 112 "include/linux/sysfs.h"
 554struct sysfs_ops {
 555   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 556   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 557   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 558};
 559#line 118
 560struct sysfs_dirent;
 561#line 118
 562struct sysfs_dirent;
 563#line 22 "include/linux/kref.h"
 564struct kref {
 565   atomic_t refcount ;
 566};
 567#line 60 "include/linux/kobject.h"
 568struct kset;
 569#line 60
 570struct kobj_type;
 571#line 60 "include/linux/kobject.h"
 572struct kobject {
 573   char const   *name ;
 574   struct list_head entry ;
 575   struct kobject *parent ;
 576   struct kset *kset ;
 577   struct kobj_type *ktype ;
 578   struct sysfs_dirent *sd ;
 579   struct kref kref ;
 580   unsigned int state_initialized : 1 ;
 581   unsigned int state_in_sysfs : 1 ;
 582   unsigned int state_add_uevent_sent : 1 ;
 583   unsigned int state_remove_uevent_sent : 1 ;
 584   unsigned int uevent_suppress : 1 ;
 585};
 586#line 108 "include/linux/kobject.h"
 587struct kobj_type {
 588   void (*release)(struct kobject *kobj ) ;
 589   struct sysfs_ops  const  *sysfs_ops ;
 590   struct attribute **default_attrs ;
 591   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 592   void const   *(*namespace)(struct kobject *kobj ) ;
 593};
 594#line 116 "include/linux/kobject.h"
 595struct kobj_uevent_env {
 596   char *envp[32] ;
 597   int envp_idx ;
 598   char buf[2048] ;
 599   int buflen ;
 600};
 601#line 123 "include/linux/kobject.h"
 602struct kset_uevent_ops {
 603   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 604   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 605   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 606};
 607#line 140
 608struct sock;
 609#line 159 "include/linux/kobject.h"
 610struct kset {
 611   struct list_head list ;
 612   spinlock_t list_lock ;
 613   struct kobject kobj ;
 614   struct kset_uevent_ops  const  *uevent_ops ;
 615};
 616#line 39 "include/linux/moduleparam.h"
 617struct kernel_param;
 618#line 39
 619struct kernel_param;
 620#line 41 "include/linux/moduleparam.h"
 621struct kernel_param_ops {
 622   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 623   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 624   void (*free)(void *arg ) ;
 625};
 626#line 50
 627struct kparam_string;
 628#line 50
 629struct kparam_array;
 630#line 50 "include/linux/moduleparam.h"
 631union __anonunion____missing_field_name_199 {
 632   void *arg ;
 633   struct kparam_string  const  *str ;
 634   struct kparam_array  const  *arr ;
 635};
 636#line 50 "include/linux/moduleparam.h"
 637struct kernel_param {
 638   char const   *name ;
 639   struct kernel_param_ops  const  *ops ;
 640   u16 perm ;
 641   s16 level ;
 642   union __anonunion____missing_field_name_199 __annonCompField32 ;
 643};
 644#line 63 "include/linux/moduleparam.h"
 645struct kparam_string {
 646   unsigned int maxlen ;
 647   char *string ;
 648};
 649#line 69 "include/linux/moduleparam.h"
 650struct kparam_array {
 651   unsigned int max ;
 652   unsigned int elemsize ;
 653   unsigned int *num ;
 654   struct kernel_param_ops  const  *ops ;
 655   void *elem ;
 656};
 657#line 445
 658struct module;
 659#line 80 "include/linux/jump_label.h"
 660struct module;
 661#line 143 "include/linux/jump_label.h"
 662struct static_key {
 663   atomic_t enabled ;
 664};
 665#line 22 "include/linux/tracepoint.h"
 666struct module;
 667#line 23
 668struct tracepoint;
 669#line 23
 670struct tracepoint;
 671#line 25 "include/linux/tracepoint.h"
 672struct tracepoint_func {
 673   void *func ;
 674   void *data ;
 675};
 676#line 30 "include/linux/tracepoint.h"
 677struct tracepoint {
 678   char const   *name ;
 679   struct static_key key ;
 680   void (*regfunc)(void) ;
 681   void (*unregfunc)(void) ;
 682   struct tracepoint_func *funcs ;
 683};
 684#line 19 "include/linux/export.h"
 685struct kernel_symbol {
 686   unsigned long value ;
 687   char const   *name ;
 688};
 689#line 8 "include/asm-generic/module.h"
 690struct mod_arch_specific {
 691
 692};
 693#line 35 "include/linux/module.h"
 694struct module;
 695#line 37
 696struct module_param_attrs;
 697#line 37 "include/linux/module.h"
 698struct module_kobject {
 699   struct kobject kobj ;
 700   struct module *mod ;
 701   struct kobject *drivers_dir ;
 702   struct module_param_attrs *mp ;
 703};
 704#line 44 "include/linux/module.h"
 705struct module_attribute {
 706   struct attribute attr ;
 707   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 708   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 709                    size_t count ) ;
 710   void (*setup)(struct module * , char const   * ) ;
 711   int (*test)(struct module * ) ;
 712   void (*free)(struct module * ) ;
 713};
 714#line 71
 715struct exception_table_entry;
 716#line 71
 717struct exception_table_entry;
 718#line 199
 719enum module_state {
 720    MODULE_STATE_LIVE = 0,
 721    MODULE_STATE_COMING = 1,
 722    MODULE_STATE_GOING = 2
 723} ;
 724#line 215 "include/linux/module.h"
 725struct module_ref {
 726   unsigned long incs ;
 727   unsigned long decs ;
 728} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 729#line 220
 730struct module_sect_attrs;
 731#line 220
 732struct module_notes_attrs;
 733#line 220
 734struct ftrace_event_call;
 735#line 220 "include/linux/module.h"
 736struct module {
 737   enum module_state state ;
 738   struct list_head list ;
 739   char name[64UL - sizeof(unsigned long )] ;
 740   struct module_kobject mkobj ;
 741   struct module_attribute *modinfo_attrs ;
 742   char const   *version ;
 743   char const   *srcversion ;
 744   struct kobject *holders_dir ;
 745   struct kernel_symbol  const  *syms ;
 746   unsigned long const   *crcs ;
 747   unsigned int num_syms ;
 748   struct kernel_param *kp ;
 749   unsigned int num_kp ;
 750   unsigned int num_gpl_syms ;
 751   struct kernel_symbol  const  *gpl_syms ;
 752   unsigned long const   *gpl_crcs ;
 753   struct kernel_symbol  const  *unused_syms ;
 754   unsigned long const   *unused_crcs ;
 755   unsigned int num_unused_syms ;
 756   unsigned int num_unused_gpl_syms ;
 757   struct kernel_symbol  const  *unused_gpl_syms ;
 758   unsigned long const   *unused_gpl_crcs ;
 759   struct kernel_symbol  const  *gpl_future_syms ;
 760   unsigned long const   *gpl_future_crcs ;
 761   unsigned int num_gpl_future_syms ;
 762   unsigned int num_exentries ;
 763   struct exception_table_entry *extable ;
 764   int (*init)(void) ;
 765   void *module_init ;
 766   void *module_core ;
 767   unsigned int init_size ;
 768   unsigned int core_size ;
 769   unsigned int init_text_size ;
 770   unsigned int core_text_size ;
 771   unsigned int init_ro_size ;
 772   unsigned int core_ro_size ;
 773   struct mod_arch_specific arch ;
 774   unsigned int taints ;
 775   unsigned int num_bugs ;
 776   struct list_head bug_list ;
 777   struct bug_entry *bug_table ;
 778   Elf64_Sym *symtab ;
 779   Elf64_Sym *core_symtab ;
 780   unsigned int num_symtab ;
 781   unsigned int core_num_syms ;
 782   char *strtab ;
 783   char *core_strtab ;
 784   struct module_sect_attrs *sect_attrs ;
 785   struct module_notes_attrs *notes_attrs ;
 786   char *args ;
 787   void *percpu ;
 788   unsigned int percpu_size ;
 789   unsigned int num_tracepoints ;
 790   struct tracepoint * const  *tracepoints_ptrs ;
 791   unsigned int num_trace_bprintk_fmt ;
 792   char const   **trace_bprintk_fmt_start ;
 793   struct ftrace_event_call **trace_events ;
 794   unsigned int num_trace_events ;
 795   struct list_head source_list ;
 796   struct list_head target_list ;
 797   struct task_struct *waiter ;
 798   void (*exit)(void) ;
 799   struct module_ref *refptr ;
 800   ctor_fn_t *ctors ;
 801   unsigned int num_ctors ;
 802};
 803#line 46 "include/linux/slub_def.h"
 804struct kmem_cache_cpu {
 805   void **freelist ;
 806   unsigned long tid ;
 807   struct page *page ;
 808   struct page *partial ;
 809   int node ;
 810   unsigned int stat[26] ;
 811};
 812#line 57 "include/linux/slub_def.h"
 813struct kmem_cache_node {
 814   spinlock_t list_lock ;
 815   unsigned long nr_partial ;
 816   struct list_head partial ;
 817   atomic_long_t nr_slabs ;
 818   atomic_long_t total_objects ;
 819   struct list_head full ;
 820};
 821#line 73 "include/linux/slub_def.h"
 822struct kmem_cache_order_objects {
 823   unsigned long x ;
 824};
 825#line 80 "include/linux/slub_def.h"
 826struct kmem_cache {
 827   struct kmem_cache_cpu *cpu_slab ;
 828   unsigned long flags ;
 829   unsigned long min_partial ;
 830   int size ;
 831   int objsize ;
 832   int offset ;
 833   int cpu_partial ;
 834   struct kmem_cache_order_objects oo ;
 835   struct kmem_cache_order_objects max ;
 836   struct kmem_cache_order_objects min ;
 837   gfp_t allocflags ;
 838   int refcount ;
 839   void (*ctor)(void * ) ;
 840   int inuse ;
 841   int align ;
 842   int reserved ;
 843   char const   *name ;
 844   struct list_head list ;
 845   struct kobject kobj ;
 846   int remote_node_defrag_ratio ;
 847   struct kmem_cache_node *node[1 << 10] ;
 848};
 849#line 43 "include/linux/input.h"
 850struct input_id {
 851   __u16 bustype ;
 852   __u16 vendor ;
 853   __u16 product ;
 854   __u16 version ;
 855};
 856#line 69 "include/linux/input.h"
 857struct input_absinfo {
 858   __s32 value ;
 859   __s32 minimum ;
 860   __s32 maximum ;
 861   __s32 fuzz ;
 862   __s32 flat ;
 863   __s32 resolution ;
 864};
 865#line 93 "include/linux/input.h"
 866struct input_keymap_entry {
 867   __u8 flags ;
 868   __u8 len ;
 869   __u16 index ;
 870   __u32 keycode ;
 871   __u8 scancode[32] ;
 872};
 873#line 957 "include/linux/input.h"
 874struct ff_replay {
 875   __u16 length ;
 876   __u16 delay ;
 877};
 878#line 967 "include/linux/input.h"
 879struct ff_trigger {
 880   __u16 button ;
 881   __u16 interval ;
 882};
 883#line 984 "include/linux/input.h"
 884struct ff_envelope {
 885   __u16 attack_length ;
 886   __u16 attack_level ;
 887   __u16 fade_length ;
 888   __u16 fade_level ;
 889};
 890#line 996 "include/linux/input.h"
 891struct ff_constant_effect {
 892   __s16 level ;
 893   struct ff_envelope envelope ;
 894};
 895#line 1007 "include/linux/input.h"
 896struct ff_ramp_effect {
 897   __s16 start_level ;
 898   __s16 end_level ;
 899   struct ff_envelope envelope ;
 900};
 901#line 1023 "include/linux/input.h"
 902struct ff_condition_effect {
 903   __u16 right_saturation ;
 904   __u16 left_saturation ;
 905   __s16 right_coeff ;
 906   __s16 left_coeff ;
 907   __u16 deadband ;
 908   __s16 center ;
 909};
 910#line 1052 "include/linux/input.h"
 911struct ff_periodic_effect {
 912   __u16 waveform ;
 913   __u16 period ;
 914   __s16 magnitude ;
 915   __s16 offset ;
 916   __u16 phase ;
 917   struct ff_envelope envelope ;
 918   __u32 custom_len ;
 919   __s16 *custom_data ;
 920};
 921#line 1073 "include/linux/input.h"
 922struct ff_rumble_effect {
 923   __u16 strong_magnitude ;
 924   __u16 weak_magnitude ;
 925};
 926#line 1101 "include/linux/input.h"
 927union __anonunion_u_201 {
 928   struct ff_constant_effect constant ;
 929   struct ff_ramp_effect ramp ;
 930   struct ff_periodic_effect periodic ;
 931   struct ff_condition_effect condition[2] ;
 932   struct ff_rumble_effect rumble ;
 933};
 934#line 1101 "include/linux/input.h"
 935struct ff_effect {
 936   __u16 type ;
 937   __s16 id ;
 938   __u16 direction ;
 939   struct ff_trigger trigger ;
 940   struct ff_replay replay ;
 941   union __anonunion_u_201 u ;
 942};
 943#line 19 "include/linux/klist.h"
 944struct klist_node;
 945#line 19
 946struct klist_node;
 947#line 39 "include/linux/klist.h"
 948struct klist_node {
 949   void *n_klist ;
 950   struct list_head n_node ;
 951   struct kref n_ref ;
 952};
 953#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 954struct dma_map_ops;
 955#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 956struct dev_archdata {
 957   void *acpi_handle ;
 958   struct dma_map_ops *dma_ops ;
 959   void *iommu ;
 960};
 961#line 28 "include/linux/device.h"
 962struct device;
 963#line 29
 964struct device_private;
 965#line 29
 966struct device_private;
 967#line 30
 968struct device_driver;
 969#line 30
 970struct device_driver;
 971#line 31
 972struct driver_private;
 973#line 31
 974struct driver_private;
 975#line 32
 976struct module;
 977#line 33
 978struct class;
 979#line 33
 980struct class;
 981#line 34
 982struct subsys_private;
 983#line 34
 984struct subsys_private;
 985#line 35
 986struct bus_type;
 987#line 35
 988struct bus_type;
 989#line 36
 990struct device_node;
 991#line 36
 992struct device_node;
 993#line 37
 994struct iommu_ops;
 995#line 37
 996struct iommu_ops;
 997#line 39 "include/linux/device.h"
 998struct bus_attribute {
 999   struct attribute attr ;
1000   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1001   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1002};
1003#line 89
1004struct device_attribute;
1005#line 89
1006struct driver_attribute;
1007#line 89 "include/linux/device.h"
1008struct bus_type {
1009   char const   *name ;
1010   char const   *dev_name ;
1011   struct device *dev_root ;
1012   struct bus_attribute *bus_attrs ;
1013   struct device_attribute *dev_attrs ;
1014   struct driver_attribute *drv_attrs ;
1015   int (*match)(struct device *dev , struct device_driver *drv ) ;
1016   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1017   int (*probe)(struct device *dev ) ;
1018   int (*remove)(struct device *dev ) ;
1019   void (*shutdown)(struct device *dev ) ;
1020   int (*suspend)(struct device *dev , pm_message_t state ) ;
1021   int (*resume)(struct device *dev ) ;
1022   struct dev_pm_ops  const  *pm ;
1023   struct iommu_ops *iommu_ops ;
1024   struct subsys_private *p ;
1025};
1026#line 127
1027struct device_type;
1028#line 214
1029struct of_device_id;
1030#line 214 "include/linux/device.h"
1031struct device_driver {
1032   char const   *name ;
1033   struct bus_type *bus ;
1034   struct module *owner ;
1035   char const   *mod_name ;
1036   bool suppress_bind_attrs ;
1037   struct of_device_id  const  *of_match_table ;
1038   int (*probe)(struct device *dev ) ;
1039   int (*remove)(struct device *dev ) ;
1040   void (*shutdown)(struct device *dev ) ;
1041   int (*suspend)(struct device *dev , pm_message_t state ) ;
1042   int (*resume)(struct device *dev ) ;
1043   struct attribute_group  const  **groups ;
1044   struct dev_pm_ops  const  *pm ;
1045   struct driver_private *p ;
1046};
1047#line 249 "include/linux/device.h"
1048struct driver_attribute {
1049   struct attribute attr ;
1050   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1051   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1052};
1053#line 330
1054struct class_attribute;
1055#line 330 "include/linux/device.h"
1056struct class {
1057   char const   *name ;
1058   struct module *owner ;
1059   struct class_attribute *class_attrs ;
1060   struct device_attribute *dev_attrs ;
1061   struct bin_attribute *dev_bin_attrs ;
1062   struct kobject *dev_kobj ;
1063   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1064   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1065   void (*class_release)(struct class *class ) ;
1066   void (*dev_release)(struct device *dev ) ;
1067   int (*suspend)(struct device *dev , pm_message_t state ) ;
1068   int (*resume)(struct device *dev ) ;
1069   struct kobj_ns_type_operations  const  *ns_type ;
1070   void const   *(*namespace)(struct device *dev ) ;
1071   struct dev_pm_ops  const  *pm ;
1072   struct subsys_private *p ;
1073};
1074#line 397 "include/linux/device.h"
1075struct class_attribute {
1076   struct attribute attr ;
1077   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1078   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1079                    size_t count ) ;
1080   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1081};
1082#line 465 "include/linux/device.h"
1083struct device_type {
1084   char const   *name ;
1085   struct attribute_group  const  **groups ;
1086   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1087   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1088   void (*release)(struct device *dev ) ;
1089   struct dev_pm_ops  const  *pm ;
1090};
1091#line 476 "include/linux/device.h"
1092struct device_attribute {
1093   struct attribute attr ;
1094   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1095   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1096                    size_t count ) ;
1097};
1098#line 559 "include/linux/device.h"
1099struct device_dma_parameters {
1100   unsigned int max_segment_size ;
1101   unsigned long segment_boundary_mask ;
1102};
1103#line 627
1104struct dma_coherent_mem;
1105#line 627 "include/linux/device.h"
1106struct device {
1107   struct device *parent ;
1108   struct device_private *p ;
1109   struct kobject kobj ;
1110   char const   *init_name ;
1111   struct device_type  const  *type ;
1112   struct mutex mutex ;
1113   struct bus_type *bus ;
1114   struct device_driver *driver ;
1115   void *platform_data ;
1116   struct dev_pm_info power ;
1117   struct dev_pm_domain *pm_domain ;
1118   int numa_node ;
1119   u64 *dma_mask ;
1120   u64 coherent_dma_mask ;
1121   struct device_dma_parameters *dma_parms ;
1122   struct list_head dma_pools ;
1123   struct dma_coherent_mem *dma_mem ;
1124   struct dev_archdata archdata ;
1125   struct device_node *of_node ;
1126   dev_t devt ;
1127   u32 id ;
1128   spinlock_t devres_lock ;
1129   struct list_head devres_head ;
1130   struct klist_node knode_class ;
1131   struct class *class ;
1132   struct attribute_group  const  **groups ;
1133   void (*release)(struct device *dev ) ;
1134};
1135#line 43 "include/linux/pm_wakeup.h"
1136struct wakeup_source {
1137   char const   *name ;
1138   struct list_head entry ;
1139   spinlock_t lock ;
1140   struct timer_list timer ;
1141   unsigned long timer_expires ;
1142   ktime_t total_time ;
1143   ktime_t max_time ;
1144   ktime_t last_time ;
1145   unsigned long event_count ;
1146   unsigned long active_count ;
1147   unsigned long relax_count ;
1148   unsigned long hit_count ;
1149   unsigned int active : 1 ;
1150};
1151#line 15 "include/linux/blk_types.h"
1152struct page;
1153#line 16
1154struct block_device;
1155#line 16
1156struct block_device;
1157#line 33 "include/linux/list_bl.h"
1158struct hlist_bl_node;
1159#line 33 "include/linux/list_bl.h"
1160struct hlist_bl_head {
1161   struct hlist_bl_node *first ;
1162};
1163#line 37 "include/linux/list_bl.h"
1164struct hlist_bl_node {
1165   struct hlist_bl_node *next ;
1166   struct hlist_bl_node **pprev ;
1167};
1168#line 13 "include/linux/dcache.h"
1169struct nameidata;
1170#line 13
1171struct nameidata;
1172#line 14
1173struct path;
1174#line 14
1175struct path;
1176#line 15
1177struct vfsmount;
1178#line 15
1179struct vfsmount;
1180#line 35 "include/linux/dcache.h"
1181struct qstr {
1182   unsigned int hash ;
1183   unsigned int len ;
1184   unsigned char const   *name ;
1185};
1186#line 88
1187struct inode;
1188#line 88
1189struct dentry_operations;
1190#line 88
1191struct super_block;
1192#line 88 "include/linux/dcache.h"
1193union __anonunion_d_u_202 {
1194   struct list_head d_child ;
1195   struct rcu_head d_rcu ;
1196};
1197#line 88 "include/linux/dcache.h"
1198struct dentry {
1199   unsigned int d_flags ;
1200   seqcount_t d_seq ;
1201   struct hlist_bl_node d_hash ;
1202   struct dentry *d_parent ;
1203   struct qstr d_name ;
1204   struct inode *d_inode ;
1205   unsigned char d_iname[32] ;
1206   unsigned int d_count ;
1207   spinlock_t d_lock ;
1208   struct dentry_operations  const  *d_op ;
1209   struct super_block *d_sb ;
1210   unsigned long d_time ;
1211   void *d_fsdata ;
1212   struct list_head d_lru ;
1213   union __anonunion_d_u_202 d_u ;
1214   struct list_head d_subdirs ;
1215   struct list_head d_alias ;
1216};
1217#line 131 "include/linux/dcache.h"
1218struct dentry_operations {
1219   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1220   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1221   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1222                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1223   int (*d_delete)(struct dentry  const  * ) ;
1224   void (*d_release)(struct dentry * ) ;
1225   void (*d_prune)(struct dentry * ) ;
1226   void (*d_iput)(struct dentry * , struct inode * ) ;
1227   char *(*d_dname)(struct dentry * , char * , int  ) ;
1228   struct vfsmount *(*d_automount)(struct path * ) ;
1229   int (*d_manage)(struct dentry * , bool  ) ;
1230} __attribute__((__aligned__((1) <<  (6) ))) ;
1231#line 4 "include/linux/path.h"
1232struct dentry;
1233#line 5
1234struct vfsmount;
1235#line 7 "include/linux/path.h"
1236struct path {
1237   struct vfsmount *mnt ;
1238   struct dentry *dentry ;
1239};
1240#line 64 "include/linux/radix-tree.h"
1241struct radix_tree_node;
1242#line 64 "include/linux/radix-tree.h"
1243struct radix_tree_root {
1244   unsigned int height ;
1245   gfp_t gfp_mask ;
1246   struct radix_tree_node *rnode ;
1247};
1248#line 14 "include/linux/prio_tree.h"
1249struct prio_tree_node;
1250#line 20 "include/linux/prio_tree.h"
1251struct prio_tree_node {
1252   struct prio_tree_node *left ;
1253   struct prio_tree_node *right ;
1254   struct prio_tree_node *parent ;
1255   unsigned long start ;
1256   unsigned long last ;
1257};
1258#line 28 "include/linux/prio_tree.h"
1259struct prio_tree_root {
1260   struct prio_tree_node *prio_tree_node ;
1261   unsigned short index_bits ;
1262   unsigned short raw ;
1263};
1264#line 6 "include/linux/pid.h"
1265enum pid_type {
1266    PIDTYPE_PID = 0,
1267    PIDTYPE_PGID = 1,
1268    PIDTYPE_SID = 2,
1269    PIDTYPE_MAX = 3
1270} ;
1271#line 50
1272struct pid_namespace;
1273#line 50 "include/linux/pid.h"
1274struct upid {
1275   int nr ;
1276   struct pid_namespace *ns ;
1277   struct hlist_node pid_chain ;
1278};
1279#line 57 "include/linux/pid.h"
1280struct pid {
1281   atomic_t count ;
1282   unsigned int level ;
1283   struct hlist_head tasks[3] ;
1284   struct rcu_head rcu ;
1285   struct upid numbers[1] ;
1286};
1287#line 100
1288struct pid_namespace;
1289#line 18 "include/linux/capability.h"
1290struct task_struct;
1291#line 377
1292struct dentry;
1293#line 16 "include/linux/fiemap.h"
1294struct fiemap_extent {
1295   __u64 fe_logical ;
1296   __u64 fe_physical ;
1297   __u64 fe_length ;
1298   __u64 fe_reserved64[2] ;
1299   __u32 fe_flags ;
1300   __u32 fe_reserved[3] ;
1301};
1302#line 8 "include/linux/shrinker.h"
1303struct shrink_control {
1304   gfp_t gfp_mask ;
1305   unsigned long nr_to_scan ;
1306};
1307#line 31 "include/linux/shrinker.h"
1308struct shrinker {
1309   int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1310   int seeks ;
1311   long batch ;
1312   struct list_head list ;
1313   atomic_long_t nr_in_batch ;
1314};
1315#line 10 "include/linux/migrate_mode.h"
1316enum migrate_mode {
1317    MIGRATE_ASYNC = 0,
1318    MIGRATE_SYNC_LIGHT = 1,
1319    MIGRATE_SYNC = 2
1320} ;
1321#line 408 "include/linux/fs.h"
1322struct export_operations;
1323#line 408
1324struct export_operations;
1325#line 410
1326struct iovec;
1327#line 410
1328struct iovec;
1329#line 411
1330struct nameidata;
1331#line 412
1332struct kiocb;
1333#line 412
1334struct kiocb;
1335#line 413
1336struct kobject;
1337#line 414
1338struct pipe_inode_info;
1339#line 414
1340struct pipe_inode_info;
1341#line 415
1342struct poll_table_struct;
1343#line 415
1344struct poll_table_struct;
1345#line 416
1346struct kstatfs;
1347#line 416
1348struct kstatfs;
1349#line 417
1350struct vm_area_struct;
1351#line 418
1352struct vfsmount;
1353#line 419
1354struct cred;
1355#line 469 "include/linux/fs.h"
1356struct iattr {
1357   unsigned int ia_valid ;
1358   umode_t ia_mode ;
1359   uid_t ia_uid ;
1360   gid_t ia_gid ;
1361   loff_t ia_size ;
1362   struct timespec ia_atime ;
1363   struct timespec ia_mtime ;
1364   struct timespec ia_ctime ;
1365   struct file *ia_file ;
1366};
1367#line 129 "include/linux/quota.h"
1368struct if_dqinfo {
1369   __u64 dqi_bgrace ;
1370   __u64 dqi_igrace ;
1371   __u32 dqi_flags ;
1372   __u32 dqi_valid ;
1373};
1374#line 50 "include/linux/dqblk_xfs.h"
1375struct fs_disk_quota {
1376   __s8 d_version ;
1377   __s8 d_flags ;
1378   __u16 d_fieldmask ;
1379   __u32 d_id ;
1380   __u64 d_blk_hardlimit ;
1381   __u64 d_blk_softlimit ;
1382   __u64 d_ino_hardlimit ;
1383   __u64 d_ino_softlimit ;
1384   __u64 d_bcount ;
1385   __u64 d_icount ;
1386   __s32 d_itimer ;
1387   __s32 d_btimer ;
1388   __u16 d_iwarns ;
1389   __u16 d_bwarns ;
1390   __s32 d_padding2 ;
1391   __u64 d_rtb_hardlimit ;
1392   __u64 d_rtb_softlimit ;
1393   __u64 d_rtbcount ;
1394   __s32 d_rtbtimer ;
1395   __u16 d_rtbwarns ;
1396   __s16 d_padding3 ;
1397   char d_padding4[8] ;
1398};
1399#line 146 "include/linux/dqblk_xfs.h"
1400struct fs_qfilestat {
1401   __u64 qfs_ino ;
1402   __u64 qfs_nblks ;
1403   __u32 qfs_nextents ;
1404};
1405#line 146 "include/linux/dqblk_xfs.h"
1406typedef struct fs_qfilestat fs_qfilestat_t;
1407#line 152 "include/linux/dqblk_xfs.h"
1408struct fs_quota_stat {
1409   __s8 qs_version ;
1410   __u16 qs_flags ;
1411   __s8 qs_pad ;
1412   fs_qfilestat_t qs_uquota ;
1413   fs_qfilestat_t qs_gquota ;
1414   __u32 qs_incoredqs ;
1415   __s32 qs_btimelimit ;
1416   __s32 qs_itimelimit ;
1417   __s32 qs_rtbtimelimit ;
1418   __u16 qs_bwarnlimit ;
1419   __u16 qs_iwarnlimit ;
1420};
1421#line 17 "include/linux/dqblk_qtree.h"
1422struct dquot;
1423#line 17
1424struct dquot;
1425#line 185 "include/linux/quota.h"
1426typedef __kernel_uid32_t qid_t;
1427#line 186 "include/linux/quota.h"
1428typedef long long qsize_t;
1429#line 200 "include/linux/quota.h"
1430struct mem_dqblk {
1431   qsize_t dqb_bhardlimit ;
1432   qsize_t dqb_bsoftlimit ;
1433   qsize_t dqb_curspace ;
1434   qsize_t dqb_rsvspace ;
1435   qsize_t dqb_ihardlimit ;
1436   qsize_t dqb_isoftlimit ;
1437   qsize_t dqb_curinodes ;
1438   time_t dqb_btime ;
1439   time_t dqb_itime ;
1440};
1441#line 215
1442struct quota_format_type;
1443#line 215
1444struct quota_format_type;
1445#line 217 "include/linux/quota.h"
1446struct mem_dqinfo {
1447   struct quota_format_type *dqi_format ;
1448   int dqi_fmt_id ;
1449   struct list_head dqi_dirty_list ;
1450   unsigned long dqi_flags ;
1451   unsigned int dqi_bgrace ;
1452   unsigned int dqi_igrace ;
1453   qsize_t dqi_maxblimit ;
1454   qsize_t dqi_maxilimit ;
1455   void *dqi_priv ;
1456};
1457#line 230
1458struct super_block;
1459#line 288 "include/linux/quota.h"
1460struct dquot {
1461   struct hlist_node dq_hash ;
1462   struct list_head dq_inuse ;
1463   struct list_head dq_free ;
1464   struct list_head dq_dirty ;
1465   struct mutex dq_lock ;
1466   atomic_t dq_count ;
1467   wait_queue_head_t dq_wait_unused ;
1468   struct super_block *dq_sb ;
1469   unsigned int dq_id ;
1470   loff_t dq_off ;
1471   unsigned long dq_flags ;
1472   short dq_type ;
1473   struct mem_dqblk dq_dqb ;
1474};
1475#line 305 "include/linux/quota.h"
1476struct quota_format_ops {
1477   int (*check_quota_file)(struct super_block *sb , int type ) ;
1478   int (*read_file_info)(struct super_block *sb , int type ) ;
1479   int (*write_file_info)(struct super_block *sb , int type ) ;
1480   int (*free_file_info)(struct super_block *sb , int type ) ;
1481   int (*read_dqblk)(struct dquot *dquot ) ;
1482   int (*commit_dqblk)(struct dquot *dquot ) ;
1483   int (*release_dqblk)(struct dquot *dquot ) ;
1484};
1485#line 316 "include/linux/quota.h"
1486struct dquot_operations {
1487   int (*write_dquot)(struct dquot * ) ;
1488   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1489   void (*destroy_dquot)(struct dquot * ) ;
1490   int (*acquire_dquot)(struct dquot * ) ;
1491   int (*release_dquot)(struct dquot * ) ;
1492   int (*mark_dirty)(struct dquot * ) ;
1493   int (*write_info)(struct super_block * , int  ) ;
1494   qsize_t *(*get_reserved_space)(struct inode * ) ;
1495};
1496#line 329
1497struct path;
1498#line 332 "include/linux/quota.h"
1499struct quotactl_ops {
1500   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1501   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1502   int (*quota_off)(struct super_block * , int  ) ;
1503   int (*quota_sync)(struct super_block * , int  , int  ) ;
1504   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1505   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1506   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1507   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1508   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1509   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1510};
1511#line 345 "include/linux/quota.h"
1512struct quota_format_type {
1513   int qf_fmt_id ;
1514   struct quota_format_ops  const  *qf_ops ;
1515   struct module *qf_owner ;
1516   struct quota_format_type *qf_next ;
1517};
1518#line 399 "include/linux/quota.h"
1519struct quota_info {
1520   unsigned int flags ;
1521   struct mutex dqio_mutex ;
1522   struct mutex dqonoff_mutex ;
1523   struct rw_semaphore dqptr_sem ;
1524   struct inode *files[2] ;
1525   struct mem_dqinfo info[2] ;
1526   struct quota_format_ops  const  *ops[2] ;
1527};
1528#line 532 "include/linux/fs.h"
1529struct page;
1530#line 533
1531struct address_space;
1532#line 533
1533struct address_space;
1534#line 534
1535struct writeback_control;
1536#line 534
1537struct writeback_control;
1538#line 577 "include/linux/fs.h"
1539union __anonunion_arg_210 {
1540   char *buf ;
1541   void *data ;
1542};
1543#line 577 "include/linux/fs.h"
1544struct __anonstruct_read_descriptor_t_209 {
1545   size_t written ;
1546   size_t count ;
1547   union __anonunion_arg_210 arg ;
1548   int error ;
1549};
1550#line 577 "include/linux/fs.h"
1551typedef struct __anonstruct_read_descriptor_t_209 read_descriptor_t;
1552#line 590 "include/linux/fs.h"
1553struct address_space_operations {
1554   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1555   int (*readpage)(struct file * , struct page * ) ;
1556   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1557   int (*set_page_dirty)(struct page *page ) ;
1558   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1559                    unsigned int nr_pages ) ;
1560   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1561                      unsigned int len , unsigned int flags , struct page **pagep ,
1562                      void **fsdata ) ;
1563   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1564                    unsigned int copied , struct page *page , void *fsdata ) ;
1565   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1566   void (*invalidatepage)(struct page * , unsigned long  ) ;
1567   int (*releasepage)(struct page * , gfp_t  ) ;
1568   void (*freepage)(struct page * ) ;
1569   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
1570                        unsigned long nr_segs ) ;
1571   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1572   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1573   int (*launder_page)(struct page * ) ;
1574   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1575   int (*error_remove_page)(struct address_space * , struct page * ) ;
1576};
1577#line 645
1578struct backing_dev_info;
1579#line 645
1580struct backing_dev_info;
1581#line 646 "include/linux/fs.h"
1582struct address_space {
1583   struct inode *host ;
1584   struct radix_tree_root page_tree ;
1585   spinlock_t tree_lock ;
1586   unsigned int i_mmap_writable ;
1587   struct prio_tree_root i_mmap ;
1588   struct list_head i_mmap_nonlinear ;
1589   struct mutex i_mmap_mutex ;
1590   unsigned long nrpages ;
1591   unsigned long writeback_index ;
1592   struct address_space_operations  const  *a_ops ;
1593   unsigned long flags ;
1594   struct backing_dev_info *backing_dev_info ;
1595   spinlock_t private_lock ;
1596   struct list_head private_list ;
1597   struct address_space *assoc_mapping ;
1598} __attribute__((__aligned__(sizeof(long )))) ;
1599#line 669
1600struct request_queue;
1601#line 669
1602struct request_queue;
1603#line 671
1604struct hd_struct;
1605#line 671
1606struct gendisk;
1607#line 671 "include/linux/fs.h"
1608struct block_device {
1609   dev_t bd_dev ;
1610   int bd_openers ;
1611   struct inode *bd_inode ;
1612   struct super_block *bd_super ;
1613   struct mutex bd_mutex ;
1614   struct list_head bd_inodes ;
1615   void *bd_claiming ;
1616   void *bd_holder ;
1617   int bd_holders ;
1618   bool bd_write_holder ;
1619   struct list_head bd_holder_disks ;
1620   struct block_device *bd_contains ;
1621   unsigned int bd_block_size ;
1622   struct hd_struct *bd_part ;
1623   unsigned int bd_part_count ;
1624   int bd_invalidated ;
1625   struct gendisk *bd_disk ;
1626   struct request_queue *bd_queue ;
1627   struct list_head bd_list ;
1628   unsigned long bd_private ;
1629   int bd_fsfreeze_count ;
1630   struct mutex bd_fsfreeze_mutex ;
1631};
1632#line 749
1633struct posix_acl;
1634#line 749
1635struct posix_acl;
1636#line 761
1637struct inode_operations;
1638#line 761 "include/linux/fs.h"
1639union __anonunion____missing_field_name_211 {
1640   unsigned int const   i_nlink ;
1641   unsigned int __i_nlink ;
1642};
1643#line 761 "include/linux/fs.h"
1644union __anonunion____missing_field_name_212 {
1645   struct list_head i_dentry ;
1646   struct rcu_head i_rcu ;
1647};
1648#line 761
1649struct file_operations;
1650#line 761
1651struct file_lock;
1652#line 761
1653struct cdev;
1654#line 761 "include/linux/fs.h"
1655union __anonunion____missing_field_name_213 {
1656   struct pipe_inode_info *i_pipe ;
1657   struct block_device *i_bdev ;
1658   struct cdev *i_cdev ;
1659};
1660#line 761 "include/linux/fs.h"
1661struct inode {
1662   umode_t i_mode ;
1663   unsigned short i_opflags ;
1664   uid_t i_uid ;
1665   gid_t i_gid ;
1666   unsigned int i_flags ;
1667   struct posix_acl *i_acl ;
1668   struct posix_acl *i_default_acl ;
1669   struct inode_operations  const  *i_op ;
1670   struct super_block *i_sb ;
1671   struct address_space *i_mapping ;
1672   void *i_security ;
1673   unsigned long i_ino ;
1674   union __anonunion____missing_field_name_211 __annonCompField33 ;
1675   dev_t i_rdev ;
1676   struct timespec i_atime ;
1677   struct timespec i_mtime ;
1678   struct timespec i_ctime ;
1679   spinlock_t i_lock ;
1680   unsigned short i_bytes ;
1681   blkcnt_t i_blocks ;
1682   loff_t i_size ;
1683   unsigned long i_state ;
1684   struct mutex i_mutex ;
1685   unsigned long dirtied_when ;
1686   struct hlist_node i_hash ;
1687   struct list_head i_wb_list ;
1688   struct list_head i_lru ;
1689   struct list_head i_sb_list ;
1690   union __anonunion____missing_field_name_212 __annonCompField34 ;
1691   atomic_t i_count ;
1692   unsigned int i_blkbits ;
1693   u64 i_version ;
1694   atomic_t i_dio_count ;
1695   atomic_t i_writecount ;
1696   struct file_operations  const  *i_fop ;
1697   struct file_lock *i_flock ;
1698   struct address_space i_data ;
1699   struct dquot *i_dquot[2] ;
1700   struct list_head i_devices ;
1701   union __anonunion____missing_field_name_213 __annonCompField35 ;
1702   __u32 i_generation ;
1703   __u32 i_fsnotify_mask ;
1704   struct hlist_head i_fsnotify_marks ;
1705   atomic_t i_readcount ;
1706   void *i_private ;
1707};
1708#line 942 "include/linux/fs.h"
1709struct fown_struct {
1710   rwlock_t lock ;
1711   struct pid *pid ;
1712   enum pid_type pid_type ;
1713   uid_t uid ;
1714   uid_t euid ;
1715   int signum ;
1716};
1717#line 953 "include/linux/fs.h"
1718struct file_ra_state {
1719   unsigned long start ;
1720   unsigned int size ;
1721   unsigned int async_size ;
1722   unsigned int ra_pages ;
1723   unsigned int mmap_miss ;
1724   loff_t prev_pos ;
1725};
1726#line 976 "include/linux/fs.h"
1727union __anonunion_f_u_214 {
1728   struct list_head fu_list ;
1729   struct rcu_head fu_rcuhead ;
1730};
1731#line 976 "include/linux/fs.h"
1732struct file {
1733   union __anonunion_f_u_214 f_u ;
1734   struct path f_path ;
1735   struct file_operations  const  *f_op ;
1736   spinlock_t f_lock ;
1737   int f_sb_list_cpu ;
1738   atomic_long_t f_count ;
1739   unsigned int f_flags ;
1740   fmode_t f_mode ;
1741   loff_t f_pos ;
1742   struct fown_struct f_owner ;
1743   struct cred  const  *f_cred ;
1744   struct file_ra_state f_ra ;
1745   u64 f_version ;
1746   void *f_security ;
1747   void *private_data ;
1748   struct list_head f_ep_links ;
1749   struct list_head f_tfile_llink ;
1750   struct address_space *f_mapping ;
1751   unsigned long f_mnt_write_state ;
1752};
1753#line 1111
1754struct files_struct;
1755#line 1111 "include/linux/fs.h"
1756typedef struct files_struct *fl_owner_t;
1757#line 1113 "include/linux/fs.h"
1758struct file_lock_operations {
1759   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1760   void (*fl_release_private)(struct file_lock * ) ;
1761};
1762#line 1118 "include/linux/fs.h"
1763struct lock_manager_operations {
1764   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1765   void (*lm_notify)(struct file_lock * ) ;
1766   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1767   void (*lm_release_private)(struct file_lock * ) ;
1768   void (*lm_break)(struct file_lock * ) ;
1769   int (*lm_change)(struct file_lock ** , int  ) ;
1770};
1771#line 4 "include/linux/nfs_fs_i.h"
1772struct nlm_lockowner;
1773#line 4
1774struct nlm_lockowner;
1775#line 9 "include/linux/nfs_fs_i.h"
1776struct nfs_lock_info {
1777   u32 state ;
1778   struct nlm_lockowner *owner ;
1779   struct list_head list ;
1780};
1781#line 15
1782struct nfs4_lock_state;
1783#line 15
1784struct nfs4_lock_state;
1785#line 16 "include/linux/nfs_fs_i.h"
1786struct nfs4_lock_info {
1787   struct nfs4_lock_state *owner ;
1788};
1789#line 1138 "include/linux/fs.h"
1790struct fasync_struct;
1791#line 1138 "include/linux/fs.h"
1792struct __anonstruct_afs_216 {
1793   struct list_head link ;
1794   int state ;
1795};
1796#line 1138 "include/linux/fs.h"
1797union __anonunion_fl_u_215 {
1798   struct nfs_lock_info nfs_fl ;
1799   struct nfs4_lock_info nfs4_fl ;
1800   struct __anonstruct_afs_216 afs ;
1801};
1802#line 1138 "include/linux/fs.h"
1803struct file_lock {
1804   struct file_lock *fl_next ;
1805   struct list_head fl_link ;
1806   struct list_head fl_block ;
1807   fl_owner_t fl_owner ;
1808   unsigned int fl_flags ;
1809   unsigned char fl_type ;
1810   unsigned int fl_pid ;
1811   struct pid *fl_nspid ;
1812   wait_queue_head_t fl_wait ;
1813   struct file *fl_file ;
1814   loff_t fl_start ;
1815   loff_t fl_end ;
1816   struct fasync_struct *fl_fasync ;
1817   unsigned long fl_break_time ;
1818   unsigned long fl_downgrade_time ;
1819   struct file_lock_operations  const  *fl_ops ;
1820   struct lock_manager_operations  const  *fl_lmops ;
1821   union __anonunion_fl_u_215 fl_u ;
1822};
1823#line 1378 "include/linux/fs.h"
1824struct fasync_struct {
1825   spinlock_t fa_lock ;
1826   int magic ;
1827   int fa_fd ;
1828   struct fasync_struct *fa_next ;
1829   struct file *fa_file ;
1830   struct rcu_head fa_rcu ;
1831};
1832#line 1418
1833struct file_system_type;
1834#line 1418
1835struct super_operations;
1836#line 1418
1837struct xattr_handler;
1838#line 1418
1839struct mtd_info;
1840#line 1418 "include/linux/fs.h"
1841struct super_block {
1842   struct list_head s_list ;
1843   dev_t s_dev ;
1844   unsigned char s_dirt ;
1845   unsigned char s_blocksize_bits ;
1846   unsigned long s_blocksize ;
1847   loff_t s_maxbytes ;
1848   struct file_system_type *s_type ;
1849   struct super_operations  const  *s_op ;
1850   struct dquot_operations  const  *dq_op ;
1851   struct quotactl_ops  const  *s_qcop ;
1852   struct export_operations  const  *s_export_op ;
1853   unsigned long s_flags ;
1854   unsigned long s_magic ;
1855   struct dentry *s_root ;
1856   struct rw_semaphore s_umount ;
1857   struct mutex s_lock ;
1858   int s_count ;
1859   atomic_t s_active ;
1860   void *s_security ;
1861   struct xattr_handler  const  **s_xattr ;
1862   struct list_head s_inodes ;
1863   struct hlist_bl_head s_anon ;
1864   struct list_head *s_files ;
1865   struct list_head s_mounts ;
1866   struct list_head s_dentry_lru ;
1867   int s_nr_dentry_unused ;
1868   spinlock_t s_inode_lru_lock  __attribute__((__aligned__((1) <<  (6) ))) ;
1869   struct list_head s_inode_lru ;
1870   int s_nr_inodes_unused ;
1871   struct block_device *s_bdev ;
1872   struct backing_dev_info *s_bdi ;
1873   struct mtd_info *s_mtd ;
1874   struct hlist_node s_instances ;
1875   struct quota_info s_dquot ;
1876   int s_frozen ;
1877   wait_queue_head_t s_wait_unfrozen ;
1878   char s_id[32] ;
1879   u8 s_uuid[16] ;
1880   void *s_fs_info ;
1881   unsigned int s_max_links ;
1882   fmode_t s_mode ;
1883   u32 s_time_gran ;
1884   struct mutex s_vfs_rename_mutex ;
1885   char *s_subtype ;
1886   char *s_options ;
1887   struct dentry_operations  const  *s_d_op ;
1888   int cleancache_poolid ;
1889   struct shrinker s_shrink ;
1890   atomic_long_t s_remove_count ;
1891   int s_readonly_remount ;
1892};
1893#line 1567 "include/linux/fs.h"
1894struct fiemap_extent_info {
1895   unsigned int fi_flags ;
1896   unsigned int fi_extents_mapped ;
1897   unsigned int fi_extents_max ;
1898   struct fiemap_extent *fi_extents_start ;
1899};
1900#line 1609 "include/linux/fs.h"
1901struct file_operations {
1902   struct module *owner ;
1903   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1904   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1905   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1906   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1907                       loff_t  ) ;
1908   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1909                        loff_t  ) ;
1910   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1911                                                   loff_t  , u64  , unsigned int  ) ) ;
1912   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1913   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1914   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1915   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1916   int (*open)(struct inode * , struct file * ) ;
1917   int (*flush)(struct file * , fl_owner_t id ) ;
1918   int (*release)(struct inode * , struct file * ) ;
1919   int (*fsync)(struct file * , loff_t  , loff_t  , int datasync ) ;
1920   int (*aio_fsync)(struct kiocb * , int datasync ) ;
1921   int (*fasync)(int  , struct file * , int  ) ;
1922   int (*lock)(struct file * , int  , struct file_lock * ) ;
1923   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1924                       int  ) ;
1925   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1926                                      unsigned long  , unsigned long  ) ;
1927   int (*check_flags)(int  ) ;
1928   int (*flock)(struct file * , int  , struct file_lock * ) ;
1929   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1930                           unsigned int  ) ;
1931   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1932                          unsigned int  ) ;
1933   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1934   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1935};
1936#line 1639 "include/linux/fs.h"
1937struct inode_operations {
1938   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1939   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1940   int (*permission)(struct inode * , int  ) ;
1941   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1942   int (*readlink)(struct dentry * , char * , int  ) ;
1943   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1944   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1945   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1946   int (*unlink)(struct inode * , struct dentry * ) ;
1947   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1948   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1949   int (*rmdir)(struct inode * , struct dentry * ) ;
1950   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1951   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1952   void (*truncate)(struct inode * ) ;
1953   int (*setattr)(struct dentry * , struct iattr * ) ;
1954   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1955   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1956   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1957   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1958   int (*removexattr)(struct dentry * , char const   * ) ;
1959   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1960   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1961} __attribute__((__aligned__((1) <<  (6) ))) ;
1962#line 1669
1963struct seq_file;
1964#line 1684 "include/linux/fs.h"
1965struct super_operations {
1966   struct inode *(*alloc_inode)(struct super_block *sb ) ;
1967   void (*destroy_inode)(struct inode * ) ;
1968   void (*dirty_inode)(struct inode * , int flags ) ;
1969   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1970   int (*drop_inode)(struct inode * ) ;
1971   void (*evict_inode)(struct inode * ) ;
1972   void (*put_super)(struct super_block * ) ;
1973   void (*write_super)(struct super_block * ) ;
1974   int (*sync_fs)(struct super_block *sb , int wait ) ;
1975   int (*freeze_fs)(struct super_block * ) ;
1976   int (*unfreeze_fs)(struct super_block * ) ;
1977   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1978   int (*remount_fs)(struct super_block * , int * , char * ) ;
1979   void (*umount_begin)(struct super_block * ) ;
1980   int (*show_options)(struct seq_file * , struct dentry * ) ;
1981   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1982   int (*show_path)(struct seq_file * , struct dentry * ) ;
1983   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1984   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1985   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1986                          loff_t  ) ;
1987   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1988   int (*nr_cached_objects)(struct super_block * ) ;
1989   void (*free_cached_objects)(struct super_block * , int  ) ;
1990};
1991#line 1835 "include/linux/fs.h"
1992struct file_system_type {
1993   char const   *name ;
1994   int fs_flags ;
1995   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1996   void (*kill_sb)(struct super_block * ) ;
1997   struct module *owner ;
1998   struct file_system_type *next ;
1999   struct hlist_head fs_supers ;
2000   struct lock_class_key s_lock_key ;
2001   struct lock_class_key s_umount_key ;
2002   struct lock_class_key s_vfs_rename_key ;
2003   struct lock_class_key i_lock_key ;
2004   struct lock_class_key i_mutex_key ;
2005   struct lock_class_key i_mutex_dir_key ;
2006};
2007#line 12 "include/linux/mod_devicetable.h"
2008typedef unsigned long kernel_ulong_t;
2009#line 209 "include/linux/mod_devicetable.h"
2010struct serio_device_id {
2011   __u8 type ;
2012   __u8 extra ;
2013   __u8 id ;
2014   __u8 proto ;
2015};
2016#line 219 "include/linux/mod_devicetable.h"
2017struct of_device_id {
2018   char name[32] ;
2019   char type[32] ;
2020   char compatible[128] ;
2021   void *data ;
2022};
2023#line 312 "include/linux/mod_devicetable.h"
2024struct input_device_id {
2025   kernel_ulong_t flags ;
2026   __u16 bustype ;
2027   __u16 vendor ;
2028   __u16 product ;
2029   __u16 version ;
2030   kernel_ulong_t evbit[1] ;
2031   kernel_ulong_t keybit[12] ;
2032   kernel_ulong_t relbit[1] ;
2033   kernel_ulong_t absbit[1] ;
2034   kernel_ulong_t mscbit[1] ;
2035   kernel_ulong_t ledbit[1] ;
2036   kernel_ulong_t sndbit[1] ;
2037   kernel_ulong_t ffbit[2] ;
2038   kernel_ulong_t swbit[1] ;
2039   kernel_ulong_t driver_info ;
2040};
2041#line 1250 "include/linux/input.h"
2042struct ff_device;
2043#line 1250
2044struct input_mt_slot;
2045#line 1250
2046struct input_handle;
2047#line 1250 "include/linux/input.h"
2048struct input_dev {
2049   char const   *name ;
2050   char const   *phys ;
2051   char const   *uniq ;
2052   struct input_id id ;
2053   unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2054   unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2055   unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2056   unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2057   unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2058   unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2059   unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2060   unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2061   unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2062   unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2063   unsigned int hint_events_per_packet ;
2064   unsigned int keycodemax ;
2065   unsigned int keycodesize ;
2066   void *keycode ;
2067   int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry  const  *ke ,
2068                     unsigned int *old_keycode ) ;
2069   int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
2070   struct ff_device *ff ;
2071   unsigned int repeat_key ;
2072   struct timer_list timer ;
2073   int rep[2] ;
2074   struct input_mt_slot *mt ;
2075   int mtsize ;
2076   int slot ;
2077   int trkid ;
2078   struct input_absinfo *absinfo ;
2079   unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2080   unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2081   unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2082   unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2083   int (*open)(struct input_dev *dev ) ;
2084   void (*close)(struct input_dev *dev ) ;
2085   int (*flush)(struct input_dev *dev , struct file *file ) ;
2086   int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
2087   struct input_handle *grab ;
2088   spinlock_t event_lock ;
2089   struct mutex mutex ;
2090   unsigned int users ;
2091   bool going_away ;
2092   bool sync ;
2093   struct device dev ;
2094   struct list_head h_list ;
2095   struct list_head node ;
2096};
2097#line 1370
2098struct input_handle;
2099#line 1409 "include/linux/input.h"
2100struct input_handler {
2101   void *private ;
2102   void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
2103                 int value ) ;
2104   bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
2105                  int value ) ;
2106   bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
2107   int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id  const  *id ) ;
2108   void (*disconnect)(struct input_handle *handle ) ;
2109   void (*start)(struct input_handle *handle ) ;
2110   struct file_operations  const  *fops ;
2111   int minor ;
2112   char const   *name ;
2113   struct input_device_id  const  *id_table ;
2114   struct list_head h_list ;
2115   struct list_head node ;
2116};
2117#line 1442 "include/linux/input.h"
2118struct input_handle {
2119   void *private ;
2120   int open ;
2121   char const   *name ;
2122   struct input_dev *dev ;
2123   struct input_handler *handler ;
2124   struct list_head d_node ;
2125   struct list_head h_node ;
2126};
2127#line 1619 "include/linux/input.h"
2128struct ff_device {
2129   int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
2130   int (*erase)(struct input_dev *dev , int effect_id ) ;
2131   int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
2132   void (*set_gain)(struct input_dev *dev , u16 gain ) ;
2133   void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
2134   void (*destroy)(struct ff_device * ) ;
2135   void *private ;
2136   unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2137   struct mutex mutex ;
2138   int max_effects ;
2139   struct ff_effect *effects ;
2140   struct file *effect_owners[] ;
2141};
2142#line 22 "include/linux/input/mt.h"
2143struct input_mt_slot {
2144   int abs[12] ;
2145};
2146#line 10 "include/linux/irqreturn.h"
2147enum irqreturn {
2148    IRQ_NONE = 0,
2149    IRQ_HANDLED = 1,
2150    IRQ_WAKE_THREAD = 2
2151} ;
2152#line 16 "include/linux/irqreturn.h"
2153typedef enum irqreturn irqreturn_t;
2154#line 31 "include/linux/irq.h"
2155struct seq_file;
2156#line 32
2157struct module;
2158#line 14 "include/linux/irqdesc.h"
2159struct module;
2160#line 65 "include/linux/profile.h"
2161struct task_struct;
2162#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
2163struct exception_table_entry {
2164   unsigned long insn ;
2165   unsigned long fixup ;
2166};
2167#line 132 "include/linux/hardirq.h"
2168struct task_struct;
2169#line 187 "include/linux/interrupt.h"
2170struct device;
2171#line 695
2172struct seq_file;
2173#line 26 "include/linux/serio.h"
2174struct serio_driver;
2175#line 26 "include/linux/serio.h"
2176struct serio {
2177   void *port_data ;
2178   char name[32] ;
2179   char phys[32] ;
2180   bool manual_bind ;
2181   struct serio_device_id id ;
2182   spinlock_t lock ;
2183   int (*write)(struct serio * , unsigned char  ) ;
2184   int (*open)(struct serio * ) ;
2185   void (*close)(struct serio * ) ;
2186   int (*start)(struct serio * ) ;
2187   void (*stop)(struct serio * ) ;
2188   struct serio *parent ;
2189   struct list_head child_node ;
2190   struct list_head children ;
2191   unsigned int depth ;
2192   struct serio_driver *drv ;
2193   struct mutex drv_mutex ;
2194   struct device dev ;
2195   struct list_head node ;
2196};
2197#line 58 "include/linux/serio.h"
2198struct serio_driver {
2199   char const   *description ;
2200   struct serio_device_id  const  *id_table ;
2201   bool manual_bind ;
2202   void (*write_wakeup)(struct serio * ) ;
2203   irqreturn_t (*interrupt)(struct serio * , unsigned char  , unsigned int  ) ;
2204   int (*connect)(struct serio * , struct serio_driver *drv ) ;
2205   int (*reconnect)(struct serio * ) ;
2206   void (*disconnect)(struct serio * ) ;
2207   void (*cleanup)(struct serio * ) ;
2208   struct device_driver driver ;
2209};
2210#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2211struct w8001_coord {
2212   u8 rdy ;
2213   u8 tsw ;
2214   u8 f1 ;
2215   u8 f2 ;
2216   u16 x ;
2217   u16 y ;
2218   u16 pen_pressure ;
2219   u8 tilt_x ;
2220   u8 tilt_y ;
2221};
2222#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2223struct w8001_touch_query {
2224   u16 x ;
2225   u16 y ;
2226   u8 panel_res ;
2227   u8 capacity_res ;
2228   u8 sensor_id ;
2229};
2230#line 84 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2231struct w8001 {
2232   struct input_dev *dev ;
2233   struct serio *serio ;
2234   struct completion cmd_done ;
2235   int id ;
2236   int idx ;
2237   unsigned char response_type ;
2238   unsigned char response[11] ;
2239   unsigned char data[11] ;
2240   char phys[32] ;
2241   int type ;
2242   unsigned int pktlen ;
2243   u16 max_touch_x ;
2244   u16 max_touch_y ;
2245   u16 max_pen_x ;
2246   u16 max_pen_y ;
2247   char name[64] ;
2248};
2249#line 1 "<compiler builtins>"
2250
2251#line 1
2252long __builtin_expect(long val , long res ) ;
2253#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2254__inline static void __set_bit(int nr , unsigned long volatile   *addr )  __attribute__((__no_instrument_function__)) ;
2255#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2256__inline static void __set_bit(int nr , unsigned long volatile   *addr ) 
2257{ long volatile   *__cil_tmp3 ;
2258
2259  {
2260#line 84
2261  __cil_tmp3 = (long volatile   *)addr;
2262#line 84
2263  __asm__  volatile   ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2264#line 85
2265  return;
2266}
2267}
2268#line 44 "include/linux/dynamic_debug.h"
2269extern int ( /* format attribute */  __dynamic_pr_debug)(struct _ddebug *descriptor ,
2270                                                         char const   *fmt  , ...) ;
2271#line 322 "include/linux/kernel.h"
2272extern int ( /* format attribute */  snprintf)(char *buf , size_t size , char const   *fmt 
2273                                               , ...) ;
2274#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2275extern void *__memcpy(void *to , void const   *from , size_t len ) ;
2276#line 55
2277extern void *memset(void *s , int c , size_t n ) ;
2278#line 39 "include/linux/string.h"
2279extern size_t strlcat(char * , char const   * , __kernel_size_t  ) ;
2280#line 79 "include/linux/wait.h"
2281extern void __init_waitqueue_head(wait_queue_head_t *q , char const   *name , struct lock_class_key * ) ;
2282#line 152 "include/linux/mutex.h"
2283void mutex_lock(struct mutex *lock ) ;
2284#line 153
2285int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2286#line 154
2287int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2288#line 168
2289int mutex_trylock(struct mutex *lock ) ;
2290#line 169
2291void mutex_unlock(struct mutex *lock ) ;
2292#line 170
2293int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2294#line 76 "include/linux/completion.h"
2295static struct lock_class_key __key  ;
2296#line 73
2297__inline static void init_completion(struct completion *x )  __attribute__((__no_instrument_function__)) ;
2298#line 73 "include/linux/completion.h"
2299__inline static void init_completion(struct completion *x ) 
2300{ unsigned long __cil_tmp2 ;
2301  unsigned long __cil_tmp3 ;
2302  wait_queue_head_t *__cil_tmp4 ;
2303
2304  {
2305#line 75
2306  *((unsigned int *)x) = 0U;
2307  {
2308#line 76
2309  while (1) {
2310    while_continue: /* CIL Label */ ;
2311    {
2312#line 76
2313    __cil_tmp2 = (unsigned long )x;
2314#line 76
2315    __cil_tmp3 = __cil_tmp2 + 8;
2316#line 76
2317    __cil_tmp4 = (wait_queue_head_t *)__cil_tmp3;
2318#line 76
2319    __init_waitqueue_head(__cil_tmp4, "&x->wait", & __key);
2320    }
2321#line 76
2322    goto while_break;
2323  }
2324  while_break: /* CIL Label */ ;
2325  }
2326#line 77
2327  return;
2328}
2329}
2330#line 82
2331extern unsigned long wait_for_completion_timeout(struct completion *x , unsigned long timeout ) ;
2332#line 91
2333extern void complete(struct completion * ) ;
2334#line 26 "include/linux/export.h"
2335extern struct module __this_module ;
2336#line 67 "include/linux/module.h"
2337int init_module(void) ;
2338#line 68
2339void cleanup_module(void) ;
2340#line 161 "include/linux/slab.h"
2341extern void kfree(void const   * ) ;
2342#line 221 "include/linux/slub_def.h"
2343extern void *__kmalloc(size_t size , gfp_t flags ) ;
2344#line 268
2345__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2346                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2347#line 268 "include/linux/slub_def.h"
2348__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2349                                                                    gfp_t flags ) 
2350{ void *tmp___2 ;
2351
2352  {
2353  {
2354#line 283
2355  tmp___2 = __kmalloc(size, flags);
2356  }
2357#line 283
2358  return (tmp___2);
2359}
2360}
2361#line 349 "include/linux/slab.h"
2362__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2363#line 349 "include/linux/slab.h"
2364__inline static void *kzalloc(size_t size , gfp_t flags ) 
2365{ void *tmp ;
2366  unsigned int __cil_tmp4 ;
2367
2368  {
2369  {
2370#line 351
2371  __cil_tmp4 = flags | 32768U;
2372#line 351
2373  tmp = kmalloc(size, __cil_tmp4);
2374  }
2375#line 351
2376  return (tmp);
2377}
2378}
2379#line 792 "include/linux/device.h"
2380extern void *dev_get_drvdata(struct device  const  *dev ) ;
2381#line 793
2382extern int dev_set_drvdata(struct device *dev , void *data ) ;
2383#line 1456 "include/linux/input.h"
2384extern struct input_dev *input_allocate_device(void) ;
2385#line 1457
2386extern void input_free_device(struct input_dev *dev ) ;
2387#line 1470
2388__inline static void *input_get_drvdata(struct input_dev *dev )  __attribute__((__no_instrument_function__)) ;
2389#line 1470 "include/linux/input.h"
2390__inline static void *input_get_drvdata(struct input_dev *dev ) 
2391{ void *tmp ;
2392  unsigned long __cil_tmp3 ;
2393  unsigned long __cil_tmp4 ;
2394  struct device *__cil_tmp5 ;
2395  struct device  const  *__cil_tmp6 ;
2396
2397  {
2398  {
2399#line 1472
2400  __cil_tmp3 = (unsigned long )dev;
2401#line 1472
2402  __cil_tmp4 = __cil_tmp3 + 648;
2403#line 1472
2404  __cil_tmp5 = (struct device *)__cil_tmp4;
2405#line 1472
2406  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
2407#line 1472
2408  tmp = dev_get_drvdata(__cil_tmp6);
2409  }
2410#line 1472
2411  return (tmp);
2412}
2413}
2414#line 1475
2415__inline static void input_set_drvdata(struct input_dev *dev , void *data )  __attribute__((__no_instrument_function__)) ;
2416#line 1475 "include/linux/input.h"
2417__inline static void input_set_drvdata(struct input_dev *dev , void *data ) 
2418{ unsigned long __cil_tmp3 ;
2419  unsigned long __cil_tmp4 ;
2420  struct device *__cil_tmp5 ;
2421
2422  {
2423  {
2424#line 1477
2425  __cil_tmp3 = (unsigned long )dev;
2426#line 1477
2427  __cil_tmp4 = __cil_tmp3 + 648;
2428#line 1477
2429  __cil_tmp5 = (struct device *)__cil_tmp4;
2430#line 1477
2431  dev_set_drvdata(__cil_tmp5, data);
2432  }
2433#line 1478
2434  return;
2435}
2436}
2437#line 1480
2438extern int __attribute__((__warn_unused_result__))  input_register_device(struct input_dev * ) ;
2439#line 1481
2440extern void input_unregister_device(struct input_dev * ) ;
2441#line 1502
2442extern void input_event(struct input_dev *dev , unsigned int type , unsigned int code ,
2443                        int value ) ;
2444#line 1505
2445__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2446                                      int value )  __attribute__((__no_instrument_function__)) ;
2447#line 1505 "include/linux/input.h"
2448__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2449                                      int value ) 
2450{ int __cil_tmp4 ;
2451  int __cil_tmp5 ;
2452
2453  {
2454  {
2455#line 1507
2456  __cil_tmp4 = ! value;
2457#line 1507
2458  __cil_tmp5 = ! __cil_tmp4;
2459#line 1507
2460  input_event(dev, 1U, code, __cil_tmp5);
2461  }
2462#line 1508
2463  return;
2464}
2465}
2466#line 1515
2467__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2468                                      int value )  __attribute__((__no_instrument_function__)) ;
2469#line 1515 "include/linux/input.h"
2470__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2471                                      int value ) 
2472{ 
2473
2474  {
2475  {
2476#line 1517
2477  input_event(dev, 3U, code, value);
2478  }
2479#line 1518
2480  return;
2481}
2482}
2483#line 1530
2484__inline static void input_sync(struct input_dev *dev )  __attribute__((__no_instrument_function__)) ;
2485#line 1530 "include/linux/input.h"
2486__inline static void input_sync(struct input_dev *dev ) 
2487{ 
2488
2489  {
2490  {
2491#line 1532
2492  input_event(dev, 0U, 0U, 0);
2493  }
2494#line 1533
2495  return;
2496}
2497}
2498#line 1557
2499extern void input_alloc_absinfo(struct input_dev *dev ) ;
2500#line 1558
2501extern void input_set_abs_params(struct input_dev *dev , unsigned int axis , int min ,
2502                                 int max , int fuzz , int flat ) ;
2503#line 1581
2504__inline static void input_abs_set_res(struct input_dev *dev , unsigned int axis ,
2505                                       int val )  __attribute__((__no_instrument_function__)) ;
2506#line 1581 "include/linux/input.h"
2507__inline static void input_abs_set_res(struct input_dev *dev , unsigned int axis ,
2508                                       int val ) 
2509{ unsigned long __cil_tmp4 ;
2510  unsigned long __cil_tmp5 ;
2511  unsigned long __cil_tmp6 ;
2512  unsigned long __cil_tmp7 ;
2513  struct input_absinfo *__cil_tmp8 ;
2514  struct input_absinfo *__cil_tmp9 ;
2515  unsigned long __cil_tmp10 ;
2516  unsigned long __cil_tmp11 ;
2517
2518  {
2519  {
2520#line 1581
2521  input_alloc_absinfo(dev);
2522  }
2523  {
2524#line 1581
2525  __cil_tmp4 = (unsigned long )dev;
2526#line 1581
2527  __cil_tmp5 = __cil_tmp4 + 376;
2528#line 1581
2529  if (*((struct input_absinfo **)__cil_tmp5)) {
2530#line 1581
2531    __cil_tmp6 = (unsigned long )dev;
2532#line 1581
2533    __cil_tmp7 = __cil_tmp6 + 376;
2534#line 1581
2535    __cil_tmp8 = *((struct input_absinfo **)__cil_tmp7);
2536#line 1581
2537    __cil_tmp9 = __cil_tmp8 + axis;
2538#line 1581
2539    __cil_tmp10 = (unsigned long )__cil_tmp9;
2540#line 1581
2541    __cil_tmp11 = __cil_tmp10 + 20;
2542#line 1581
2543    *((__s32 *)__cil_tmp11) = val;
2544  } else {
2545
2546  }
2547  }
2548#line 1581
2549  return;
2550}
2551}
2552#line 38 "include/linux/input/mt.h"
2553extern int input_mt_init_slots(struct input_dev *dev , unsigned int num_slots ) ;
2554#line 46
2555__inline static void input_mt_slot(struct input_dev *dev , int slot )  __attribute__((__no_instrument_function__)) ;
2556#line 46 "include/linux/input/mt.h"
2557__inline static void input_mt_slot(struct input_dev *dev , int slot ) 
2558{ 
2559
2560  {
2561  {
2562#line 48
2563  input_event(dev, 3U, 47U, slot);
2564  }
2565#line 49
2566  return;
2567}
2568}
2569#line 61
2570extern void input_mt_report_slot_state(struct input_dev *dev , unsigned int tool_type ,
2571                                       bool active ) ;
2572#line 65
2573extern void input_mt_report_pointer_emulation(struct input_dev *dev , bool use_count ) ;
2574#line 75 "include/linux/serio.h"
2575extern int serio_open(struct serio *serio , struct serio_driver *drv ) ;
2576#line 76
2577extern void serio_close(struct serio *serio ) ;
2578#line 90
2579extern int __attribute__((__warn_unused_result__))  __serio_register_driver(struct serio_driver *drv ,
2580                                                                            struct module *owner ,
2581                                                                            char const   *mod_name ) ;
2582#line 97
2583extern void serio_unregister_driver(struct serio_driver *drv ) ;
2584#line 99
2585__inline static int serio_write(struct serio *serio , unsigned char data )  __attribute__((__no_instrument_function__)) ;
2586#line 99 "include/linux/serio.h"
2587__inline static int serio_write(struct serio *serio , unsigned char data ) 
2588{ int tmp ;
2589  unsigned long __cil_tmp4 ;
2590  unsigned long __cil_tmp5 ;
2591  unsigned long __cil_tmp6 ;
2592  unsigned long __cil_tmp7 ;
2593  int (*__cil_tmp8)(struct serio * , unsigned char  ) ;
2594
2595  {
2596  {
2597#line 101
2598  __cil_tmp4 = (unsigned long )serio;
2599#line 101
2600  __cil_tmp5 = __cil_tmp4 + 104;
2601#line 101
2602  if (*((int (**)(struct serio * , unsigned char  ))__cil_tmp5)) {
2603    {
2604#line 102
2605    __cil_tmp6 = (unsigned long )serio;
2606#line 102
2607    __cil_tmp7 = __cil_tmp6 + 104;
2608#line 102
2609    __cil_tmp8 = *((int (**)(struct serio * , unsigned char  ))__cil_tmp7);
2610#line 102
2611    tmp = (*__cil_tmp8)(serio, data);
2612    }
2613#line 102
2614    return (tmp);
2615  } else {
2616#line 104
2617    return (-1);
2618  }
2619  }
2620}
2621}
2622#line 117
2623__inline static void *serio_get_drvdata(struct serio *serio )  __attribute__((__no_instrument_function__)) ;
2624#line 117 "include/linux/serio.h"
2625__inline static void *serio_get_drvdata(struct serio *serio ) 
2626{ void *tmp ;
2627  unsigned long __cil_tmp3 ;
2628  unsigned long __cil_tmp4 ;
2629  struct device *__cil_tmp5 ;
2630  struct device  const  *__cil_tmp6 ;
2631
2632  {
2633  {
2634#line 119
2635  __cil_tmp3 = (unsigned long )serio;
2636#line 119
2637  __cil_tmp4 = __cil_tmp3 + 272;
2638#line 119
2639  __cil_tmp5 = (struct device *)__cil_tmp4;
2640#line 119
2641  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
2642#line 119
2643  tmp = dev_get_drvdata(__cil_tmp6);
2644  }
2645#line 119
2646  return (tmp);
2647}
2648}
2649#line 122
2650__inline static void serio_set_drvdata(struct serio *serio , void *data )  __attribute__((__no_instrument_function__)) ;
2651#line 122 "include/linux/serio.h"
2652__inline static void serio_set_drvdata(struct serio *serio , void *data ) 
2653{ unsigned long __cil_tmp3 ;
2654  unsigned long __cil_tmp4 ;
2655  struct device *__cil_tmp5 ;
2656
2657  {
2658  {
2659#line 124
2660  __cil_tmp3 = (unsigned long )serio;
2661#line 124
2662  __cil_tmp4 = __cil_tmp3 + 272;
2663#line 124
2664  __cil_tmp5 = (struct device *)__cil_tmp4;
2665#line 124
2666  dev_set_drvdata(__cil_tmp5, data);
2667  }
2668#line 125
2669  return;
2670}
2671}
2672#line 46 "include/linux/delay.h"
2673extern void msleep(unsigned int msecs ) ;
2674#line 28 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2675static char const   __mod_author28[45]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2676__aligned__(1)))  = 
2677#line 28 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2678  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
2679        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'J', 
2680        (char const   )'a',      (char const   )'y',      (char const   )'a',      (char const   )' ', 
2681        (char const   )'K',      (char const   )'u',      (char const   )'m',      (char const   )'a', 
2682        (char const   )'r',      (char const   )' ',      (char const   )'<',      (char const   )'j', 
2683        (char const   )'a',      (char const   )'y',      (char const   )'a',      (char const   )'k', 
2684        (char const   )'u',      (char const   )'m',      (char const   )'a',      (char const   )'r', 
2685        (char const   )'.',      (char const   )'l',      (char const   )'k',      (char const   )'m', 
2686        (char const   )'l',      (char const   )'@',      (char const   )'g',      (char const   )'m', 
2687        (char const   )'a',      (char const   )'i',      (char const   )'l',      (char const   )'.', 
2688        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'>', 
2689        (char const   )'\000'};
2690#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2691static char const   __mod_description29[50]  __attribute__((__used__, __unused__,
2692__section__(".modinfo"), __aligned__(1)))  = 
2693#line 29
2694  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
2695        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
2696        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
2697        (char const   )'W',      (char const   )'a',      (char const   )'c',      (char const   )'o', 
2698        (char const   )'m',      (char const   )' ',      (char const   )'W',      (char const   )'8', 
2699        (char const   )'0',      (char const   )'0',      (char const   )'1',      (char const   )' ', 
2700        (char const   )'s',      (char const   )'e',      (char const   )'r',      (char const   )'i', 
2701        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'t', 
2702        (char const   )'o',      (char const   )'u',      (char const   )'c',      (char const   )'h', 
2703        (char const   )'s',      (char const   )'c',      (char const   )'r',      (char const   )'e', 
2704        (char const   )'e',      (char const   )'n',      (char const   )' ',      (char const   )'d', 
2705        (char const   )'r',      (char const   )'i',      (char const   )'v',      (char const   )'e', 
2706        (char const   )'r',      (char const   )'\000'};
2707#line 30 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2708static char const   __mod_license30[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2709__aligned__(1)))  = 
2710#line 30
2711  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2712        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
2713        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
2714#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2715static void parse_pen_data(u8 *data , struct w8001_coord *coord ) 
2716{ void *__cil_tmp3 ;
2717  u8 *__cil_tmp4 ;
2718  u8 __cil_tmp5 ;
2719  int __cil_tmp6 ;
2720  int __cil_tmp7 ;
2721  unsigned long __cil_tmp8 ;
2722  unsigned long __cil_tmp9 ;
2723  u8 *__cil_tmp10 ;
2724  u8 __cil_tmp11 ;
2725  int __cil_tmp12 ;
2726  int __cil_tmp13 ;
2727  unsigned long __cil_tmp14 ;
2728  unsigned long __cil_tmp15 ;
2729  u8 *__cil_tmp16 ;
2730  u8 __cil_tmp17 ;
2731  int __cil_tmp18 ;
2732  int __cil_tmp19 ;
2733  unsigned long __cil_tmp20 ;
2734  unsigned long __cil_tmp21 ;
2735  u8 *__cil_tmp22 ;
2736  u8 __cil_tmp23 ;
2737  int __cil_tmp24 ;
2738  int __cil_tmp25 ;
2739  unsigned long __cil_tmp26 ;
2740  unsigned long __cil_tmp27 ;
2741  u8 *__cil_tmp28 ;
2742  u8 __cil_tmp29 ;
2743  int __cil_tmp30 ;
2744  int __cil_tmp31 ;
2745  int __cil_tmp32 ;
2746  unsigned long __cil_tmp33 ;
2747  unsigned long __cil_tmp34 ;
2748  u8 *__cil_tmp35 ;
2749  u8 __cil_tmp36 ;
2750  int __cil_tmp37 ;
2751  int __cil_tmp38 ;
2752  int __cil_tmp39 ;
2753  unsigned long __cil_tmp40 ;
2754  unsigned long __cil_tmp41 ;
2755  u16 __cil_tmp42 ;
2756  int __cil_tmp43 ;
2757  int __cil_tmp44 ;
2758  unsigned long __cil_tmp45 ;
2759  unsigned long __cil_tmp46 ;
2760  u8 *__cil_tmp47 ;
2761  u8 __cil_tmp48 ;
2762  int __cil_tmp49 ;
2763  int __cil_tmp50 ;
2764  int __cil_tmp51 ;
2765  unsigned long __cil_tmp52 ;
2766  unsigned long __cil_tmp53 ;
2767  u16 __cil_tmp54 ;
2768  int __cil_tmp55 ;
2769  int __cil_tmp56 ;
2770  unsigned long __cil_tmp57 ;
2771  unsigned long __cil_tmp58 ;
2772  u8 *__cil_tmp59 ;
2773  u8 __cil_tmp60 ;
2774  int __cil_tmp61 ;
2775  int __cil_tmp62 ;
2776  int __cil_tmp63 ;
2777  unsigned long __cil_tmp64 ;
2778  unsigned long __cil_tmp65 ;
2779  u8 *__cil_tmp66 ;
2780  u8 __cil_tmp67 ;
2781  int __cil_tmp68 ;
2782  int __cil_tmp69 ;
2783  int __cil_tmp70 ;
2784  unsigned long __cil_tmp71 ;
2785  unsigned long __cil_tmp72 ;
2786  u16 __cil_tmp73 ;
2787  int __cil_tmp74 ;
2788  int __cil_tmp75 ;
2789  unsigned long __cil_tmp76 ;
2790  unsigned long __cil_tmp77 ;
2791  u8 *__cil_tmp78 ;
2792  u8 __cil_tmp79 ;
2793  int __cil_tmp80 ;
2794  int __cil_tmp81 ;
2795  int __cil_tmp82 ;
2796  unsigned long __cil_tmp83 ;
2797  unsigned long __cil_tmp84 ;
2798  u16 __cil_tmp85 ;
2799  int __cil_tmp86 ;
2800  int __cil_tmp87 ;
2801  unsigned long __cil_tmp88 ;
2802  unsigned long __cil_tmp89 ;
2803  u8 *__cil_tmp90 ;
2804  u8 __cil_tmp91 ;
2805  int __cil_tmp92 ;
2806  int __cil_tmp93 ;
2807  unsigned long __cil_tmp94 ;
2808  unsigned long __cil_tmp95 ;
2809  u8 *__cil_tmp96 ;
2810  u8 __cil_tmp97 ;
2811  int __cil_tmp98 ;
2812  int __cil_tmp99 ;
2813  int __cil_tmp100 ;
2814  unsigned long __cil_tmp101 ;
2815  unsigned long __cil_tmp102 ;
2816  u16 __cil_tmp103 ;
2817  int __cil_tmp104 ;
2818  int __cil_tmp105 ;
2819  unsigned long __cil_tmp106 ;
2820  unsigned long __cil_tmp107 ;
2821  u8 *__cil_tmp108 ;
2822  u8 __cil_tmp109 ;
2823  int __cil_tmp110 ;
2824  int __cil_tmp111 ;
2825  unsigned long __cil_tmp112 ;
2826  unsigned long __cil_tmp113 ;
2827  u8 *__cil_tmp114 ;
2828  u8 __cil_tmp115 ;
2829  int __cil_tmp116 ;
2830  int __cil_tmp117 ;
2831
2832  {
2833  {
2834#line 105
2835  __cil_tmp3 = (void *)coord;
2836#line 105
2837  memset(__cil_tmp3, 0, 12UL);
2838#line 107
2839  __cil_tmp4 = data + 0;
2840#line 107
2841  __cil_tmp5 = *__cil_tmp4;
2842#line 107
2843  __cil_tmp6 = (int )__cil_tmp5;
2844#line 107
2845  __cil_tmp7 = __cil_tmp6 & 32;
2846#line 107
2847  *((u8 *)coord) = (u8 )__cil_tmp7;
2848#line 108
2849  __cil_tmp8 = (unsigned long )coord;
2850#line 108
2851  __cil_tmp9 = __cil_tmp8 + 1;
2852#line 108
2853  __cil_tmp10 = data + 0;
2854#line 108
2855  __cil_tmp11 = *__cil_tmp10;
2856#line 108
2857  __cil_tmp12 = (int )__cil_tmp11;
2858#line 108
2859  __cil_tmp13 = __cil_tmp12 & 1;
2860#line 108
2861  *((u8 *)__cil_tmp9) = (u8 )__cil_tmp13;
2862#line 109
2863  __cil_tmp14 = (unsigned long )coord;
2864#line 109
2865  __cil_tmp15 = __cil_tmp14 + 2;
2866#line 109
2867  __cil_tmp16 = data + 0;
2868#line 109
2869  __cil_tmp17 = *__cil_tmp16;
2870#line 109
2871  __cil_tmp18 = (int )__cil_tmp17;
2872#line 109
2873  __cil_tmp19 = __cil_tmp18 & 2;
2874#line 109
2875  *((u8 *)__cil_tmp15) = (u8 )__cil_tmp19;
2876#line 110
2877  __cil_tmp20 = (unsigned long )coord;
2878#line 110
2879  __cil_tmp21 = __cil_tmp20 + 3;
2880#line 110
2881  __cil_tmp22 = data + 0;
2882#line 110
2883  __cil_tmp23 = *__cil_tmp22;
2884#line 110
2885  __cil_tmp24 = (int )__cil_tmp23;
2886#line 110
2887  __cil_tmp25 = __cil_tmp24 & 4;
2888#line 110
2889  *((u8 *)__cil_tmp21) = (u8 )__cil_tmp25;
2890#line 112
2891  __cil_tmp26 = (unsigned long )coord;
2892#line 112
2893  __cil_tmp27 = __cil_tmp26 + 4;
2894#line 112
2895  __cil_tmp28 = data + 1;
2896#line 112
2897  __cil_tmp29 = *__cil_tmp28;
2898#line 112
2899  __cil_tmp30 = (int )__cil_tmp29;
2900#line 112
2901  __cil_tmp31 = __cil_tmp30 & 127;
2902#line 112
2903  __cil_tmp32 = __cil_tmp31 << 9;
2904#line 112
2905  *((u16 *)__cil_tmp27) = (u16 )__cil_tmp32;
2906#line 113
2907  __cil_tmp33 = (unsigned long )coord;
2908#line 113
2909  __cil_tmp34 = __cil_tmp33 + 4;
2910#line 113
2911  __cil_tmp35 = data + 2;
2912#line 113
2913  __cil_tmp36 = *__cil_tmp35;
2914#line 113
2915  __cil_tmp37 = (int )__cil_tmp36;
2916#line 113
2917  __cil_tmp38 = __cil_tmp37 & 127;
2918#line 113
2919  __cil_tmp39 = __cil_tmp38 << 2;
2920#line 113
2921  __cil_tmp40 = (unsigned long )coord;
2922#line 113
2923  __cil_tmp41 = __cil_tmp40 + 4;
2924#line 113
2925  __cil_tmp42 = *((u16 *)__cil_tmp41);
2926#line 113
2927  __cil_tmp43 = (int )__cil_tmp42;
2928#line 113
2929  __cil_tmp44 = __cil_tmp43 | __cil_tmp39;
2930#line 113
2931  *((u16 *)__cil_tmp34) = (u16 )__cil_tmp44;
2932#line 114
2933  __cil_tmp45 = (unsigned long )coord;
2934#line 114
2935  __cil_tmp46 = __cil_tmp45 + 4;
2936#line 114
2937  __cil_tmp47 = data + 6;
2938#line 114
2939  __cil_tmp48 = *__cil_tmp47;
2940#line 114
2941  __cil_tmp49 = (int )__cil_tmp48;
2942#line 114
2943  __cil_tmp50 = __cil_tmp49 & 96;
2944#line 114
2945  __cil_tmp51 = __cil_tmp50 >> 5;
2946#line 114
2947  __cil_tmp52 = (unsigned long )coord;
2948#line 114
2949  __cil_tmp53 = __cil_tmp52 + 4;
2950#line 114
2951  __cil_tmp54 = *((u16 *)__cil_tmp53);
2952#line 114
2953  __cil_tmp55 = (int )__cil_tmp54;
2954#line 114
2955  __cil_tmp56 = __cil_tmp55 | __cil_tmp51;
2956#line 114
2957  *((u16 *)__cil_tmp46) = (u16 )__cil_tmp56;
2958#line 116
2959  __cil_tmp57 = (unsigned long )coord;
2960#line 116
2961  __cil_tmp58 = __cil_tmp57 + 6;
2962#line 116
2963  __cil_tmp59 = data + 3;
2964#line 116
2965  __cil_tmp60 = *__cil_tmp59;
2966#line 116
2967  __cil_tmp61 = (int )__cil_tmp60;
2968#line 116
2969  __cil_tmp62 = __cil_tmp61 & 127;
2970#line 116
2971  __cil_tmp63 = __cil_tmp62 << 9;
2972#line 116
2973  *((u16 *)__cil_tmp58) = (u16 )__cil_tmp63;
2974#line 117
2975  __cil_tmp64 = (unsigned long )coord;
2976#line 117
2977  __cil_tmp65 = __cil_tmp64 + 6;
2978#line 117
2979  __cil_tmp66 = data + 4;
2980#line 117
2981  __cil_tmp67 = *__cil_tmp66;
2982#line 117
2983  __cil_tmp68 = (int )__cil_tmp67;
2984#line 117
2985  __cil_tmp69 = __cil_tmp68 & 127;
2986#line 117
2987  __cil_tmp70 = __cil_tmp69 << 2;
2988#line 117
2989  __cil_tmp71 = (unsigned long )coord;
2990#line 117
2991  __cil_tmp72 = __cil_tmp71 + 6;
2992#line 117
2993  __cil_tmp73 = *((u16 *)__cil_tmp72);
2994#line 117
2995  __cil_tmp74 = (int )__cil_tmp73;
2996#line 117
2997  __cil_tmp75 = __cil_tmp74 | __cil_tmp70;
2998#line 117
2999  *((u16 *)__cil_tmp65) = (u16 )__cil_tmp75;
3000#line 118
3001  __cil_tmp76 = (unsigned long )coord;
3002#line 118
3003  __cil_tmp77 = __cil_tmp76 + 6;
3004#line 118
3005  __cil_tmp78 = data + 6;
3006#line 118
3007  __cil_tmp79 = *__cil_tmp78;
3008#line 118
3009  __cil_tmp80 = (int )__cil_tmp79;
3010#line 118
3011  __cil_tmp81 = __cil_tmp80 & 24;
3012#line 118
3013  __cil_tmp82 = __cil_tmp81 >> 3;
3014#line 118
3015  __cil_tmp83 = (unsigned long )coord;
3016#line 118
3017  __cil_tmp84 = __cil_tmp83 + 6;
3018#line 118
3019  __cil_tmp85 = *((u16 *)__cil_tmp84);
3020#line 118
3021  __cil_tmp86 = (int )__cil_tmp85;
3022#line 118
3023  __cil_tmp87 = __cil_tmp86 | __cil_tmp82;
3024#line 118
3025  *((u16 *)__cil_tmp77) = (u16 )__cil_tmp87;
3026#line 120
3027  __cil_tmp88 = (unsigned long )coord;
3028#line 120
3029  __cil_tmp89 = __cil_tmp88 + 8;
3030#line 120
3031  __cil_tmp90 = data + 5;
3032#line 120
3033  __cil_tmp91 = *__cil_tmp90;
3034#line 120
3035  __cil_tmp92 = (int )__cil_tmp91;
3036#line 120
3037  __cil_tmp93 = __cil_tmp92 & 127;
3038#line 120
3039  *((u16 *)__cil_tmp89) = (u16 )__cil_tmp93;
3040#line 121
3041  __cil_tmp94 = (unsigned long )coord;
3042#line 121
3043  __cil_tmp95 = __cil_tmp94 + 8;
3044#line 121
3045  __cil_tmp96 = data + 6;
3046#line 121
3047  __cil_tmp97 = *__cil_tmp96;
3048#line 121
3049  __cil_tmp98 = (int )__cil_tmp97;
3050#line 121
3051  __cil_tmp99 = __cil_tmp98 & 7;
3052#line 121
3053  __cil_tmp100 = __cil_tmp99 << 7;
3054#line 121
3055  __cil_tmp101 = (unsigned long )coord;
3056#line 121
3057  __cil_tmp102 = __cil_tmp101 + 8;
3058#line 121
3059  __cil_tmp103 = *((u16 *)__cil_tmp102);
3060#line 121
3061  __cil_tmp104 = (int )__cil_tmp103;
3062#line 121
3063  __cil_tmp105 = __cil_tmp104 | __cil_tmp100;
3064#line 121
3065  *((u16 *)__cil_tmp95) = (u16 )__cil_tmp105;
3066#line 123
3067  __cil_tmp106 = (unsigned long )coord;
3068#line 123
3069  __cil_tmp107 = __cil_tmp106 + 10;
3070#line 123
3071  __cil_tmp108 = data + 7;
3072#line 123
3073  __cil_tmp109 = *__cil_tmp108;
3074#line 123
3075  __cil_tmp110 = (int )__cil_tmp109;
3076#line 123
3077  __cil_tmp111 = __cil_tmp110 & 127;
3078#line 123
3079  *((u8 *)__cil_tmp107) = (u8 )__cil_tmp111;
3080#line 124
3081  __cil_tmp112 = (unsigned long )coord;
3082#line 124
3083  __cil_tmp113 = __cil_tmp112 + 11;
3084#line 124
3085  __cil_tmp114 = data + 8;
3086#line 124
3087  __cil_tmp115 = *__cil_tmp114;
3088#line 124
3089  __cil_tmp116 = (int )__cil_tmp115;
3090#line 124
3091  __cil_tmp117 = __cil_tmp116 & 127;
3092#line 124
3093  *((u8 *)__cil_tmp113) = (u8 )__cil_tmp117;
3094  }
3095#line 125
3096  return;
3097}
3098}
3099#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3100static void parse_single_touch(u8 *data , struct w8001_coord *coord ) 
3101{ unsigned long __cil_tmp3 ;
3102  unsigned long __cil_tmp4 ;
3103  u8 *__cil_tmp5 ;
3104  u8 __cil_tmp6 ;
3105  int __cil_tmp7 ;
3106  u8 *__cil_tmp8 ;
3107  u8 __cil_tmp9 ;
3108  int __cil_tmp10 ;
3109  int __cil_tmp11 ;
3110  int __cil_tmp12 ;
3111  unsigned long __cil_tmp13 ;
3112  unsigned long __cil_tmp14 ;
3113  u8 *__cil_tmp15 ;
3114  u8 __cil_tmp16 ;
3115  int __cil_tmp17 ;
3116  u8 *__cil_tmp18 ;
3117  u8 __cil_tmp19 ;
3118  int __cil_tmp20 ;
3119  int __cil_tmp21 ;
3120  int __cil_tmp22 ;
3121  unsigned long __cil_tmp23 ;
3122  unsigned long __cil_tmp24 ;
3123  u8 *__cil_tmp25 ;
3124  u8 __cil_tmp26 ;
3125  int __cil_tmp27 ;
3126  int __cil_tmp28 ;
3127
3128  {
3129#line 129
3130  __cil_tmp3 = (unsigned long )coord;
3131#line 129
3132  __cil_tmp4 = __cil_tmp3 + 4;
3133#line 129
3134  __cil_tmp5 = data + 2;
3135#line 129
3136  __cil_tmp6 = *__cil_tmp5;
3137#line 129
3138  __cil_tmp7 = (int )__cil_tmp6;
3139#line 129
3140  __cil_tmp8 = data + 1;
3141#line 129
3142  __cil_tmp9 = *__cil_tmp8;
3143#line 129
3144  __cil_tmp10 = (int )__cil_tmp9;
3145#line 129
3146  __cil_tmp11 = __cil_tmp10 << 7;
3147#line 129
3148  __cil_tmp12 = __cil_tmp11 | __cil_tmp7;
3149#line 129
3150  *((u16 *)__cil_tmp4) = (u16 )__cil_tmp12;
3151#line 130
3152  __cil_tmp13 = (unsigned long )coord;
3153#line 130
3154  __cil_tmp14 = __cil_tmp13 + 6;
3155#line 130
3156  __cil_tmp15 = data + 4;
3157#line 130
3158  __cil_tmp16 = *__cil_tmp15;
3159#line 130
3160  __cil_tmp17 = (int )__cil_tmp16;
3161#line 130
3162  __cil_tmp18 = data + 3;
3163#line 130
3164  __cil_tmp19 = *__cil_tmp18;
3165#line 130
3166  __cil_tmp20 = (int )__cil_tmp19;
3167#line 130
3168  __cil_tmp21 = __cil_tmp20 << 7;
3169#line 130
3170  __cil_tmp22 = __cil_tmp21 | __cil_tmp17;
3171#line 130
3172  *((u16 *)__cil_tmp14) = (u16 )__cil_tmp22;
3173#line 131
3174  __cil_tmp23 = (unsigned long )coord;
3175#line 131
3176  __cil_tmp24 = __cil_tmp23 + 1;
3177#line 131
3178  __cil_tmp25 = data + 0;
3179#line 131
3180  __cil_tmp26 = *__cil_tmp25;
3181#line 131
3182  __cil_tmp27 = (int )__cil_tmp26;
3183#line 131
3184  __cil_tmp28 = __cil_tmp27 & 1;
3185#line 131
3186  *((u8 *)__cil_tmp24) = (u8 )__cil_tmp28;
3187#line 132
3188  return;
3189}
3190}
3191#line 134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3192static void scale_touch_coordinates(struct w8001 *w8001 , unsigned int *x , unsigned int *y ) 
3193{ unsigned long __cil_tmp4 ;
3194  unsigned long __cil_tmp5 ;
3195  unsigned long __cil_tmp6 ;
3196  unsigned long __cil_tmp7 ;
3197  unsigned long __cil_tmp8 ;
3198  unsigned long __cil_tmp9 ;
3199  u16 __cil_tmp10 ;
3200  unsigned int __cil_tmp11 ;
3201  unsigned long __cil_tmp12 ;
3202  unsigned long __cil_tmp13 ;
3203  u16 __cil_tmp14 ;
3204  unsigned int __cil_tmp15 ;
3205  unsigned int __cil_tmp16 ;
3206  unsigned int __cil_tmp17 ;
3207  unsigned long __cil_tmp18 ;
3208  unsigned long __cil_tmp19 ;
3209  unsigned long __cil_tmp20 ;
3210  unsigned long __cil_tmp21 ;
3211  unsigned long __cil_tmp22 ;
3212  unsigned long __cil_tmp23 ;
3213  u16 __cil_tmp24 ;
3214  unsigned int __cil_tmp25 ;
3215  unsigned long __cil_tmp26 ;
3216  unsigned long __cil_tmp27 ;
3217  u16 __cil_tmp28 ;
3218  unsigned int __cil_tmp29 ;
3219  unsigned int __cil_tmp30 ;
3220  unsigned int __cil_tmp31 ;
3221
3222  {
3223  {
3224#line 137
3225  __cil_tmp4 = (unsigned long )w8001;
3226#line 137
3227  __cil_tmp5 = __cil_tmp4 + 140;
3228#line 137
3229  if (*((u16 *)__cil_tmp5)) {
3230    {
3231#line 137
3232    __cil_tmp6 = (unsigned long )w8001;
3233#line 137
3234    __cil_tmp7 = __cil_tmp6 + 136;
3235#line 137
3236    if (*((u16 *)__cil_tmp7)) {
3237#line 138
3238      __cil_tmp8 = (unsigned long )w8001;
3239#line 138
3240      __cil_tmp9 = __cil_tmp8 + 136;
3241#line 138
3242      __cil_tmp10 = *((u16 *)__cil_tmp9);
3243#line 138
3244      __cil_tmp11 = (unsigned int )__cil_tmp10;
3245#line 138
3246      __cil_tmp12 = (unsigned long )w8001;
3247#line 138
3248      __cil_tmp13 = __cil_tmp12 + 140;
3249#line 138
3250      __cil_tmp14 = *((u16 *)__cil_tmp13);
3251#line 138
3252      __cil_tmp15 = (unsigned int )__cil_tmp14;
3253#line 138
3254      __cil_tmp16 = *x;
3255#line 138
3256      __cil_tmp17 = __cil_tmp16 * __cil_tmp15;
3257#line 138
3258      *x = __cil_tmp17 / __cil_tmp11;
3259    } else {
3260
3261    }
3262    }
3263  } else {
3264
3265  }
3266  }
3267  {
3268#line 140
3269  __cil_tmp18 = (unsigned long )w8001;
3270#line 140
3271  __cil_tmp19 = __cil_tmp18 + 142;
3272#line 140
3273  if (*((u16 *)__cil_tmp19)) {
3274    {
3275#line 140
3276    __cil_tmp20 = (unsigned long )w8001;
3277#line 140
3278    __cil_tmp21 = __cil_tmp20 + 138;
3279#line 140
3280    if (*((u16 *)__cil_tmp21)) {
3281#line 141
3282      __cil_tmp22 = (unsigned long )w8001;
3283#line 141
3284      __cil_tmp23 = __cil_tmp22 + 138;
3285#line 141
3286      __cil_tmp24 = *((u16 *)__cil_tmp23);
3287#line 141
3288      __cil_tmp25 = (unsigned int )__cil_tmp24;
3289#line 141
3290      __cil_tmp26 = (unsigned long )w8001;
3291#line 141
3292      __cil_tmp27 = __cil_tmp26 + 142;
3293#line 141
3294      __cil_tmp28 = *((u16 *)__cil_tmp27);
3295#line 141
3296      __cil_tmp29 = (unsigned int )__cil_tmp28;
3297#line 141
3298      __cil_tmp30 = *y;
3299#line 141
3300      __cil_tmp31 = __cil_tmp30 * __cil_tmp29;
3301#line 141
3302      *y = __cil_tmp31 / __cil_tmp25;
3303    } else {
3304
3305    }
3306    }
3307  } else {
3308
3309  }
3310  }
3311#line 142
3312  return;
3313}
3314}
3315#line 144 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3316static void parse_multi_touch(struct w8001 *w8001 ) 
3317{ struct input_dev *dev ;
3318  unsigned char *data ;
3319  unsigned int x ;
3320  unsigned int y ;
3321  int i ;
3322  int count ;
3323  bool touch ;
3324  unsigned long __cil_tmp9 ;
3325  unsigned long __cil_tmp10 ;
3326  unsigned long __cil_tmp11 ;
3327  unsigned long __cil_tmp12 ;
3328  int __cil_tmp13 ;
3329  unsigned char *__cil_tmp14 ;
3330  unsigned char __cil_tmp15 ;
3331  int __cil_tmp16 ;
3332  int __cil_tmp17 ;
3333  unsigned int *__cil_tmp18 ;
3334  int __cil_tmp19 ;
3335  int __cil_tmp20 ;
3336  unsigned char *__cil_tmp21 ;
3337  unsigned char __cil_tmp22 ;
3338  int __cil_tmp23 ;
3339  int __cil_tmp24 ;
3340  int __cil_tmp25 ;
3341  unsigned char *__cil_tmp26 ;
3342  unsigned char __cil_tmp27 ;
3343  int __cil_tmp28 ;
3344  int __cil_tmp29 ;
3345  int __cil_tmp30 ;
3346  unsigned int *__cil_tmp31 ;
3347  int __cil_tmp32 ;
3348  int __cil_tmp33 ;
3349  unsigned char *__cil_tmp34 ;
3350  unsigned char __cil_tmp35 ;
3351  int __cil_tmp36 ;
3352  int __cil_tmp37 ;
3353  int __cil_tmp38 ;
3354  unsigned char *__cil_tmp39 ;
3355  unsigned char __cil_tmp40 ;
3356  int __cil_tmp41 ;
3357  int __cil_tmp42 ;
3358  int __cil_tmp43 ;
3359  unsigned int *__cil_tmp44 ;
3360  unsigned int __cil_tmp45 ;
3361  int __cil_tmp46 ;
3362  unsigned int *__cil_tmp47 ;
3363  unsigned int __cil_tmp48 ;
3364  int __cil_tmp49 ;
3365  unsigned long __cil_tmp50 ;
3366  unsigned long __cil_tmp51 ;
3367  int __cil_tmp52 ;
3368  unsigned long __cil_tmp53 ;
3369  unsigned long __cil_tmp54 ;
3370  int __cil_tmp55 ;
3371  unsigned long __cil_tmp56 ;
3372  unsigned long __cil_tmp57 ;
3373  unsigned long __cil_tmp58 ;
3374  unsigned long __cil_tmp59 ;
3375  bool __cil_tmp60 ;
3376
3377  {
3378#line 146
3379  dev = *((struct input_dev **)w8001);
3380#line 147
3381  __cil_tmp9 = 0 * 1UL;
3382#line 147
3383  __cil_tmp10 = 84 + __cil_tmp9;
3384#line 147
3385  __cil_tmp11 = (unsigned long )w8001;
3386#line 147
3387  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
3388#line 147
3389  data = (unsigned char *)__cil_tmp12;
3390#line 150
3391  count = 0;
3392#line 152
3393  i = 0;
3394  {
3395#line 152
3396  while (1) {
3397    while_continue: /* CIL Label */ ;
3398#line 152
3399    if (i < 2) {
3400
3401    } else {
3402#line 152
3403      goto while_break;
3404    }
3405    {
3406#line 153
3407    __cil_tmp13 = 1 << i;
3408#line 153
3409    __cil_tmp14 = data + 0;
3410#line 153
3411    __cil_tmp15 = *__cil_tmp14;
3412#line 153
3413    __cil_tmp16 = (int )__cil_tmp15;
3414#line 153
3415    __cil_tmp17 = __cil_tmp16 & __cil_tmp13;
3416#line 153
3417    touch = (bool )__cil_tmp17;
3418#line 155
3419    input_mt_slot(dev, i);
3420#line 156
3421    input_mt_report_slot_state(dev, 0U, touch);
3422    }
3423#line 157
3424    if (touch) {
3425      {
3426#line 158
3427      __cil_tmp18 = & x;
3428#line 158
3429      __cil_tmp19 = 6 * i;
3430#line 158
3431      __cil_tmp20 = __cil_tmp19 + 2;
3432#line 158
3433      __cil_tmp21 = data + __cil_tmp20;
3434#line 158
3435      __cil_tmp22 = *__cil_tmp21;
3436#line 158
3437      __cil_tmp23 = (int )__cil_tmp22;
3438#line 158
3439      __cil_tmp24 = 6 * i;
3440#line 158
3441      __cil_tmp25 = __cil_tmp24 + 1;
3442#line 158
3443      __cil_tmp26 = data + __cil_tmp25;
3444#line 158
3445      __cil_tmp27 = *__cil_tmp26;
3446#line 158
3447      __cil_tmp28 = (int )__cil_tmp27;
3448#line 158
3449      __cil_tmp29 = __cil_tmp28 << 7;
3450#line 158
3451      __cil_tmp30 = __cil_tmp29 | __cil_tmp23;
3452#line 158
3453      *__cil_tmp18 = (unsigned int )__cil_tmp30;
3454#line 159
3455      __cil_tmp31 = & y;
3456#line 159
3457      __cil_tmp32 = 6 * i;
3458#line 159
3459      __cil_tmp33 = __cil_tmp32 + 4;
3460#line 159
3461      __cil_tmp34 = data + __cil_tmp33;
3462#line 159
3463      __cil_tmp35 = *__cil_tmp34;
3464#line 159
3465      __cil_tmp36 = (int )__cil_tmp35;
3466#line 159
3467      __cil_tmp37 = 6 * i;
3468#line 159
3469      __cil_tmp38 = __cil_tmp37 + 3;
3470#line 159
3471      __cil_tmp39 = data + __cil_tmp38;
3472#line 159
3473      __cil_tmp40 = *__cil_tmp39;
3474#line 159
3475      __cil_tmp41 = (int )__cil_tmp40;
3476#line 159
3477      __cil_tmp42 = __cil_tmp41 << 7;
3478#line 159
3479      __cil_tmp43 = __cil_tmp42 | __cil_tmp36;
3480#line 159
3481      *__cil_tmp31 = (unsigned int )__cil_tmp43;
3482#line 163
3483      scale_touch_coordinates(w8001, & x, & y);
3484#line 165
3485      __cil_tmp44 = & x;
3486#line 165
3487      __cil_tmp45 = *__cil_tmp44;
3488#line 165
3489      __cil_tmp46 = (int )__cil_tmp45;
3490#line 165
3491      input_report_abs(dev, 53U, __cil_tmp46);
3492#line 166
3493      __cil_tmp47 = & y;
3494#line 166
3495      __cil_tmp48 = *__cil_tmp47;
3496#line 166
3497      __cil_tmp49 = (int )__cil_tmp48;
3498#line 166
3499      input_report_abs(dev, 54U, __cil_tmp49);
3500#line 167
3501      count = count + 1;
3502      }
3503    } else {
3504
3505    }
3506#line 152
3507    i = i + 1;
3508  }
3509  while_break: /* CIL Label */ ;
3510  }
3511  {
3512#line 175
3513  __cil_tmp50 = (unsigned long )w8001;
3514#line 175
3515  __cil_tmp51 = __cil_tmp50 + 128;
3516#line 175
3517  __cil_tmp52 = *((int *)__cil_tmp51);
3518#line 175
3519  if (__cil_tmp52 != 320) {
3520    {
3521#line 175
3522    __cil_tmp53 = (unsigned long )w8001;
3523#line 175
3524    __cil_tmp54 = __cil_tmp53 + 128;
3525#line 175
3526    __cil_tmp55 = *((int *)__cil_tmp54);
3527#line 175
3528    if (__cil_tmp55 != 321) {
3529#line 177
3530      if (count == 1) {
3531#line 177
3532        __cil_tmp56 = (unsigned long )w8001;
3533#line 177
3534        __cil_tmp57 = __cil_tmp56 + 128;
3535#line 177
3536        *((int *)__cil_tmp57) = 325;
3537      } else {
3538#line 177
3539        __cil_tmp58 = (unsigned long )w8001;
3540#line 177
3541        __cil_tmp59 = __cil_tmp58 + 128;
3542#line 177
3543        *((int *)__cil_tmp59) = 0;
3544      }
3545      {
3546#line 178
3547      __cil_tmp60 = (bool )1;
3548#line 178
3549      input_mt_report_pointer_emulation(dev, __cil_tmp60);
3550      }
3551    } else {
3552
3553    }
3554    }
3555  } else {
3556
3557  }
3558  }
3559  {
3560#line 181
3561  input_sync(dev);
3562  }
3563#line 182
3564  return;
3565}
3566}
3567#line 184 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3568static void parse_touchquery(u8 *data , struct w8001_touch_query *query ) 
3569{ u16 tmp ;
3570  void *__cil_tmp4 ;
3571  unsigned long __cil_tmp5 ;
3572  unsigned long __cil_tmp6 ;
3573  u8 *__cil_tmp7 ;
3574  unsigned long __cil_tmp8 ;
3575  unsigned long __cil_tmp9 ;
3576  u8 *__cil_tmp10 ;
3577  u8 __cil_tmp11 ;
3578  int __cil_tmp12 ;
3579  int __cil_tmp13 ;
3580  unsigned long __cil_tmp14 ;
3581  unsigned long __cil_tmp15 ;
3582  u8 *__cil_tmp16 ;
3583  u8 *__cil_tmp17 ;
3584  u8 __cil_tmp18 ;
3585  int __cil_tmp19 ;
3586  int __cil_tmp20 ;
3587  u8 *__cil_tmp21 ;
3588  u8 __cil_tmp22 ;
3589  int __cil_tmp23 ;
3590  int __cil_tmp24 ;
3591  u16 __cil_tmp25 ;
3592  int __cil_tmp26 ;
3593  int __cil_tmp27 ;
3594  u8 *__cil_tmp28 ;
3595  u8 __cil_tmp29 ;
3596  int __cil_tmp30 ;
3597  int __cil_tmp31 ;
3598  int __cil_tmp32 ;
3599  u16 __cil_tmp33 ;
3600  int __cil_tmp34 ;
3601  int __cil_tmp35 ;
3602  unsigned long __cil_tmp36 ;
3603  unsigned long __cil_tmp37 ;
3604  u8 *__cil_tmp38 ;
3605  u8 __cil_tmp39 ;
3606  int __cil_tmp40 ;
3607  int __cil_tmp41 ;
3608  unsigned long __cil_tmp42 ;
3609  unsigned long __cil_tmp43 ;
3610  u8 *__cil_tmp44 ;
3611  u8 __cil_tmp45 ;
3612  int __cil_tmp46 ;
3613  int __cil_tmp47 ;
3614  unsigned long __cil_tmp48 ;
3615  unsigned long __cil_tmp49 ;
3616  u16 __cil_tmp50 ;
3617  int __cil_tmp51 ;
3618  int __cil_tmp52 ;
3619  unsigned long __cil_tmp53 ;
3620  unsigned long __cil_tmp54 ;
3621  u8 *__cil_tmp55 ;
3622  u8 __cil_tmp56 ;
3623  int __cil_tmp57 ;
3624  int __cil_tmp58 ;
3625  int __cil_tmp59 ;
3626  unsigned long __cil_tmp60 ;
3627  unsigned long __cil_tmp61 ;
3628  u16 __cil_tmp62 ;
3629  int __cil_tmp63 ;
3630  int __cil_tmp64 ;
3631  u16 __cil_tmp65 ;
3632  unsigned long __cil_tmp66 ;
3633  unsigned long __cil_tmp67 ;
3634  u16 __cil_tmp68 ;
3635  unsigned long __cil_tmp69 ;
3636  unsigned long __cil_tmp70 ;
3637  unsigned long __cil_tmp71 ;
3638  unsigned long __cil_tmp72 ;
3639  unsigned long __cil_tmp73 ;
3640  unsigned long __cil_tmp74 ;
3641  u8 __cil_tmp75 ;
3642  int __cil_tmp76 ;
3643  int __cil_tmp77 ;
3644  unsigned long __cil_tmp78 ;
3645  unsigned long __cil_tmp79 ;
3646  unsigned long __cil_tmp80 ;
3647  unsigned long __cil_tmp81 ;
3648
3649  {
3650  {
3651#line 186
3652  __cil_tmp4 = (void *)query;
3653#line 186
3654  memset(__cil_tmp4, 0, 8UL);
3655#line 188
3656  __cil_tmp5 = (unsigned long )query;
3657#line 188
3658  __cil_tmp6 = __cil_tmp5 + 4;
3659#line 188
3660  __cil_tmp7 = data + 1;
3661#line 188
3662  *((u8 *)__cil_tmp6) = *__cil_tmp7;
3663#line 189
3664  __cil_tmp8 = (unsigned long )query;
3665#line 189
3666  __cil_tmp9 = __cil_tmp8 + 6;
3667#line 189
3668  __cil_tmp10 = data + 2;
3669#line 189
3670  __cil_tmp11 = *__cil_tmp10;
3671#line 189
3672  __cil_tmp12 = (int )__cil_tmp11;
3673#line 189
3674  __cil_tmp13 = __cil_tmp12 & 7;
3675#line 189
3676  *((u8 *)__cil_tmp9) = (u8 )__cil_tmp13;
3677#line 190
3678  __cil_tmp14 = (unsigned long )query;
3679#line 190
3680  __cil_tmp15 = __cil_tmp14 + 5;
3681#line 190
3682  __cil_tmp16 = data + 7;
3683#line 190
3684  *((u8 *)__cil_tmp15) = *__cil_tmp16;
3685#line 192
3686  __cil_tmp17 = data + 3;
3687#line 192
3688  __cil_tmp18 = *__cil_tmp17;
3689#line 192
3690  __cil_tmp19 = (int )__cil_tmp18;
3691#line 192
3692  __cil_tmp20 = __cil_tmp19 << 9;
3693#line 192
3694  *((u16 *)query) = (u16 )__cil_tmp20;
3695#line 193
3696  __cil_tmp21 = data + 4;
3697#line 193
3698  __cil_tmp22 = *__cil_tmp21;
3699#line 193
3700  __cil_tmp23 = (int )__cil_tmp22;
3701#line 193
3702  __cil_tmp24 = __cil_tmp23 << 2;
3703#line 193
3704  __cil_tmp25 = *((u16 *)query);
3705#line 193
3706  __cil_tmp26 = (int )__cil_tmp25;
3707#line 193
3708  __cil_tmp27 = __cil_tmp26 | __cil_tmp24;
3709#line 193
3710  *((u16 *)query) = (u16 )__cil_tmp27;
3711#line 194
3712  __cil_tmp28 = data + 2;
3713#line 194
3714  __cil_tmp29 = *__cil_tmp28;
3715#line 194
3716  __cil_tmp30 = (int )__cil_tmp29;
3717#line 194
3718  __cil_tmp31 = __cil_tmp30 >> 5;
3719#line 194
3720  __cil_tmp32 = __cil_tmp31 & 3;
3721#line 194
3722  __cil_tmp33 = *((u16 *)query);
3723#line 194
3724  __cil_tmp34 = (int )__cil_tmp33;
3725#line 194
3726  __cil_tmp35 = __cil_tmp34 | __cil_tmp32;
3727#line 194
3728  *((u16 *)query) = (u16 )__cil_tmp35;
3729#line 196
3730  __cil_tmp36 = (unsigned long )query;
3731#line 196
3732  __cil_tmp37 = __cil_tmp36 + 2;
3733#line 196
3734  __cil_tmp38 = data + 5;
3735#line 196
3736  __cil_tmp39 = *__cil_tmp38;
3737#line 196
3738  __cil_tmp40 = (int )__cil_tmp39;
3739#line 196
3740  __cil_tmp41 = __cil_tmp40 << 9;
3741#line 196
3742  *((u16 *)__cil_tmp37) = (u16 )__cil_tmp41;
3743#line 197
3744  __cil_tmp42 = (unsigned long )query;
3745#line 197
3746  __cil_tmp43 = __cil_tmp42 + 2;
3747#line 197
3748  __cil_tmp44 = data + 6;
3749#line 197
3750  __cil_tmp45 = *__cil_tmp44;
3751#line 197
3752  __cil_tmp46 = (int )__cil_tmp45;
3753#line 197
3754  __cil_tmp47 = __cil_tmp46 << 2;
3755#line 197
3756  __cil_tmp48 = (unsigned long )query;
3757#line 197
3758  __cil_tmp49 = __cil_tmp48 + 2;
3759#line 197
3760  __cil_tmp50 = *((u16 *)__cil_tmp49);
3761#line 197
3762  __cil_tmp51 = (int )__cil_tmp50;
3763#line 197
3764  __cil_tmp52 = __cil_tmp51 | __cil_tmp47;
3765#line 197
3766  *((u16 *)__cil_tmp43) = (u16 )__cil_tmp52;
3767#line 198
3768  __cil_tmp53 = (unsigned long )query;
3769#line 198
3770  __cil_tmp54 = __cil_tmp53 + 2;
3771#line 198
3772  __cil_tmp55 = data + 2;
3773#line 198
3774  __cil_tmp56 = *__cil_tmp55;
3775#line 198
3776  __cil_tmp57 = (int )__cil_tmp56;
3777#line 198
3778  __cil_tmp58 = __cil_tmp57 >> 3;
3779#line 198
3780  __cil_tmp59 = __cil_tmp58 & 3;
3781#line 198
3782  __cil_tmp60 = (unsigned long )query;
3783#line 198
3784  __cil_tmp61 = __cil_tmp60 + 2;
3785#line 198
3786  __cil_tmp62 = *((u16 *)__cil_tmp61);
3787#line 198
3788  __cil_tmp63 = (int )__cil_tmp62;
3789#line 198
3790  __cil_tmp64 = __cil_tmp63 | __cil_tmp59;
3791#line 198
3792  *((u16 *)__cil_tmp54) = (u16 )__cil_tmp64;
3793  }
3794  {
3795#line 201
3796  __cil_tmp65 = *((u16 *)query);
3797#line 201
3798  if (! __cil_tmp65) {
3799    {
3800#line 201
3801    __cil_tmp66 = (unsigned long )query;
3802#line 201
3803    __cil_tmp67 = __cil_tmp66 + 2;
3804#line 201
3805    __cil_tmp68 = *((u16 *)__cil_tmp67);
3806#line 201
3807    if (! __cil_tmp68) {
3808#line 202
3809      *((u16 *)query) = (u16 )1024;
3810#line 203
3811      __cil_tmp69 = (unsigned long )query;
3812#line 203
3813      __cil_tmp70 = __cil_tmp69 + 2;
3814#line 203
3815      *((u16 *)__cil_tmp70) = (u16 )1024;
3816      {
3817#line 204
3818      __cil_tmp71 = (unsigned long )query;
3819#line 204
3820      __cil_tmp72 = __cil_tmp71 + 4;
3821#line 204
3822      if (*((u8 *)__cil_tmp72)) {
3823#line 205
3824        __cil_tmp73 = (unsigned long )query;
3825#line 205
3826        __cil_tmp74 = __cil_tmp73 + 4;
3827#line 205
3828        __cil_tmp75 = *((u8 *)__cil_tmp74);
3829#line 205
3830        __cil_tmp76 = (int )__cil_tmp75;
3831#line 205
3832        __cil_tmp77 = 1 << __cil_tmp76;
3833#line 205
3834        tmp = (u16 )__cil_tmp77;
3835#line 205
3836        __cil_tmp78 = (unsigned long )query;
3837#line 205
3838        __cil_tmp79 = __cil_tmp78 + 2;
3839#line 205
3840        *((u16 *)__cil_tmp79) = tmp;
3841#line 205
3842        *((u16 *)query) = tmp;
3843      } else {
3844
3845      }
3846      }
3847#line 206
3848      __cil_tmp80 = (unsigned long )query;
3849#line 206
3850      __cil_tmp81 = __cil_tmp80 + 4;
3851#line 206
3852      *((u8 *)__cil_tmp81) = (u8 )10;
3853    } else {
3854
3855    }
3856    }
3857  } else {
3858
3859  }
3860  }
3861#line 208
3862  return;
3863}
3864}
3865#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3866static void report_pen_events(struct w8001 *w8001 , struct w8001_coord *coord ) 
3867{ struct input_dev *dev ;
3868  unsigned long __cil_tmp4 ;
3869  unsigned long __cil_tmp5 ;
3870  unsigned long __cil_tmp6 ;
3871  unsigned long __cil_tmp7 ;
3872  u8 __cil_tmp8 ;
3873  unsigned long __cil_tmp9 ;
3874  unsigned long __cil_tmp10 ;
3875  unsigned long __cil_tmp11 ;
3876  unsigned long __cil_tmp12 ;
3877  unsigned long __cil_tmp13 ;
3878  unsigned long __cil_tmp14 ;
3879  unsigned long __cil_tmp15 ;
3880  unsigned long __cil_tmp16 ;
3881  unsigned long __cil_tmp17 ;
3882  unsigned long __cil_tmp18 ;
3883  u8 __cil_tmp19 ;
3884  int __cil_tmp20 ;
3885  unsigned long __cil_tmp21 ;
3886  unsigned long __cil_tmp22 ;
3887  u16 __cil_tmp23 ;
3888  int __cil_tmp24 ;
3889  unsigned long __cil_tmp25 ;
3890  unsigned long __cil_tmp26 ;
3891  u16 __cil_tmp27 ;
3892  int __cil_tmp28 ;
3893  unsigned long __cil_tmp29 ;
3894  unsigned long __cil_tmp30 ;
3895  u16 __cil_tmp31 ;
3896  int __cil_tmp32 ;
3897  unsigned long __cil_tmp33 ;
3898  unsigned long __cil_tmp34 ;
3899  u8 __cil_tmp35 ;
3900  int __cil_tmp36 ;
3901  unsigned long __cil_tmp37 ;
3902  unsigned long __cil_tmp38 ;
3903  u8 __cil_tmp39 ;
3904  int __cil_tmp40 ;
3905  unsigned long __cil_tmp41 ;
3906  unsigned long __cil_tmp42 ;
3907  int __cil_tmp43 ;
3908  unsigned int __cil_tmp44 ;
3909  u8 __cil_tmp45 ;
3910  int __cil_tmp46 ;
3911  u8 __cil_tmp47 ;
3912  unsigned long __cil_tmp48 ;
3913  unsigned long __cil_tmp49 ;
3914
3915  {
3916#line 212
3917  dev = *((struct input_dev **)w8001);
3918  {
3919#line 224
3920  __cil_tmp4 = (unsigned long )w8001;
3921#line 224
3922  __cil_tmp5 = __cil_tmp4 + 128;
3923#line 225
3924  if (*((int *)__cil_tmp5) == 321) {
3925#line 225
3926    goto case_321;
3927  } else
3928#line 237
3929  if (*((int *)__cil_tmp5) == 325) {
3930#line 237
3931    goto case_325;
3932  } else
3933#line 243
3934  if (*((int *)__cil_tmp5) == 0) {
3935#line 243
3936    goto case_0;
3937  } else {
3938    {
3939#line 247
3940    goto switch_default;
3941#line 224
3942    if (0) {
3943      case_321: /* CIL Label */ 
3944      {
3945#line 226
3946      __cil_tmp6 = (unsigned long )coord;
3947#line 226
3948      __cil_tmp7 = __cil_tmp6 + 3;
3949#line 226
3950      __cil_tmp8 = *((u8 *)__cil_tmp7);
3951#line 226
3952      if (! __cil_tmp8) {
3953        {
3954#line 227
3955        input_report_abs(dev, 24U, 0);
3956#line 228
3957        input_report_key(dev, 330U, 0);
3958#line 229
3959        input_report_key(dev, 331U, 0);
3960#line 230
3961        input_report_key(dev, 332U, 0);
3962#line 231
3963        input_report_key(dev, 321U, 0);
3964#line 232
3965        input_sync(dev);
3966#line 233
3967        __cil_tmp9 = (unsigned long )w8001;
3968#line 233
3969        __cil_tmp10 = __cil_tmp9 + 128;
3970#line 233
3971        *((int *)__cil_tmp10) = 320;
3972        }
3973      } else {
3974
3975      }
3976      }
3977#line 235
3978      goto switch_break;
3979      case_325: /* CIL Label */ 
3980      {
3981#line 238
3982      input_report_key(dev, 330U, 0);
3983#line 239
3984      input_report_key(dev, 325U, 0);
3985#line 240
3986      input_sync(dev);
3987      }
3988      case_0: /* CIL Label */ 
3989      {
3990#line 244
3991      __cil_tmp11 = (unsigned long )coord;
3992#line 244
3993      __cil_tmp12 = __cil_tmp11 + 3;
3994#line 244
3995      if (*((u8 *)__cil_tmp12)) {
3996#line 244
3997        __cil_tmp13 = (unsigned long )w8001;
3998#line 244
3999        __cil_tmp14 = __cil_tmp13 + 128;
4000#line 244
4001        *((int *)__cil_tmp14) = 321;
4002      } else {
4003#line 244
4004        __cil_tmp15 = (unsigned long )w8001;
4005#line 244
4006        __cil_tmp16 = __cil_tmp15 + 128;
4007#line 244
4008        *((int *)__cil_tmp16) = 320;
4009      }
4010      }
4011#line 245
4012      goto switch_break;
4013      switch_default: /* CIL Label */ 
4014      {
4015#line 248
4016      __cil_tmp17 = (unsigned long )coord;
4017#line 248
4018      __cil_tmp18 = __cil_tmp17 + 3;
4019#line 248
4020      __cil_tmp19 = *((u8 *)__cil_tmp18);
4021#line 248
4022      __cil_tmp20 = (int )__cil_tmp19;
4023#line 248
4024      input_report_key(dev, 332U, __cil_tmp20);
4025      }
4026#line 249
4027      goto switch_break;
4028    } else {
4029      switch_break: /* CIL Label */ ;
4030    }
4031    }
4032  }
4033  }
4034  {
4035#line 252
4036  __cil_tmp21 = (unsigned long )coord;
4037#line 252
4038  __cil_tmp22 = __cil_tmp21 + 4;
4039#line 252
4040  __cil_tmp23 = *((u16 *)__cil_tmp22);
4041#line 252
4042  __cil_tmp24 = (int )__cil_tmp23;
4043#line 252
4044  input_report_abs(dev, 0U, __cil_tmp24);
4045#line 253
4046  __cil_tmp25 = (unsigned long )coord;
4047#line 253
4048  __cil_tmp26 = __cil_tmp25 + 6;
4049#line 253
4050  __cil_tmp27 = *((u16 *)__cil_tmp26);
4051#line 253
4052  __cil_tmp28 = (int )__cil_tmp27;
4053#line 253
4054  input_report_abs(dev, 1U, __cil_tmp28);
4055#line 254
4056  __cil_tmp29 = (unsigned long )coord;
4057#line 254
4058  __cil_tmp30 = __cil_tmp29 + 8;
4059#line 254
4060  __cil_tmp31 = *((u16 *)__cil_tmp30);
4061#line 254
4062  __cil_tmp32 = (int )__cil_tmp31;
4063#line 254
4064  input_report_abs(dev, 24U, __cil_tmp32);
4065#line 255
4066  __cil_tmp33 = (unsigned long )coord;
4067#line 255
4068  __cil_tmp34 = __cil_tmp33 + 1;
4069#line 255
4070  __cil_tmp35 = *((u8 *)__cil_tmp34);
4071#line 255
4072  __cil_tmp36 = (int )__cil_tmp35;
4073#line 255
4074  input_report_key(dev, 330U, __cil_tmp36);
4075#line 256
4076  __cil_tmp37 = (unsigned long )coord;
4077#line 256
4078  __cil_tmp38 = __cil_tmp37 + 2;
4079#line 256
4080  __cil_tmp39 = *((u8 *)__cil_tmp38);
4081#line 256
4082  __cil_tmp40 = (int )__cil_tmp39;
4083#line 256
4084  input_report_key(dev, 331U, __cil_tmp40);
4085#line 257
4086  __cil_tmp41 = (unsigned long )w8001;
4087#line 257
4088  __cil_tmp42 = __cil_tmp41 + 128;
4089#line 257
4090  __cil_tmp43 = *((int *)__cil_tmp42);
4091#line 257
4092  __cil_tmp44 = (unsigned int )__cil_tmp43;
4093#line 257
4094  __cil_tmp45 = *((u8 *)coord);
4095#line 257
4096  __cil_tmp46 = (int )__cil_tmp45;
4097#line 257
4098  input_report_key(dev, __cil_tmp44, __cil_tmp46);
4099#line 258
4100  input_sync(dev);
4101  }
4102  {
4103#line 260
4104  __cil_tmp47 = *((u8 *)coord);
4105#line 260
4106  if (! __cil_tmp47) {
4107#line 261
4108    __cil_tmp48 = (unsigned long )w8001;
4109#line 261
4110    __cil_tmp49 = __cil_tmp48 + 128;
4111#line 261
4112    *((int *)__cil_tmp49) = 0;
4113  } else {
4114
4115  }
4116  }
4117#line 262
4118  return;
4119}
4120}
4121#line 264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4122static void report_single_touch(struct w8001 *w8001 , struct w8001_coord *coord ) 
4123{ struct input_dev *dev ;
4124  unsigned int x ;
4125  unsigned int y ;
4126  unsigned int *__cil_tmp6 ;
4127  unsigned long __cil_tmp7 ;
4128  unsigned long __cil_tmp8 ;
4129  u16 __cil_tmp9 ;
4130  unsigned int *__cil_tmp10 ;
4131  unsigned long __cil_tmp11 ;
4132  unsigned long __cil_tmp12 ;
4133  u16 __cil_tmp13 ;
4134  unsigned int *__cil_tmp14 ;
4135  unsigned int __cil_tmp15 ;
4136  int __cil_tmp16 ;
4137  unsigned int *__cil_tmp17 ;
4138  unsigned int __cil_tmp18 ;
4139  int __cil_tmp19 ;
4140  unsigned long __cil_tmp20 ;
4141  unsigned long __cil_tmp21 ;
4142  u8 __cil_tmp22 ;
4143  int __cil_tmp23 ;
4144  unsigned long __cil_tmp24 ;
4145  unsigned long __cil_tmp25 ;
4146  u8 __cil_tmp26 ;
4147  int __cil_tmp27 ;
4148  unsigned long __cil_tmp28 ;
4149  unsigned long __cil_tmp29 ;
4150  unsigned long __cil_tmp30 ;
4151  unsigned long __cil_tmp31 ;
4152  unsigned long __cil_tmp32 ;
4153  unsigned long __cil_tmp33 ;
4154
4155  {
4156  {
4157#line 266
4158  dev = *((struct input_dev **)w8001);
4159#line 267
4160  __cil_tmp6 = & x;
4161#line 267
4162  __cil_tmp7 = (unsigned long )coord;
4163#line 267
4164  __cil_tmp8 = __cil_tmp7 + 4;
4165#line 267
4166  __cil_tmp9 = *((u16 *)__cil_tmp8);
4167#line 267
4168  *__cil_tmp6 = (unsigned int )__cil_tmp9;
4169#line 268
4170  __cil_tmp10 = & y;
4171#line 268
4172  __cil_tmp11 = (unsigned long )coord;
4173#line 268
4174  __cil_tmp12 = __cil_tmp11 + 6;
4175#line 268
4176  __cil_tmp13 = *((u16 *)__cil_tmp12);
4177#line 268
4178  *__cil_tmp10 = (unsigned int )__cil_tmp13;
4179#line 271
4180  scale_touch_coordinates(w8001, & x, & y);
4181#line 273
4182  __cil_tmp14 = & x;
4183#line 273
4184  __cil_tmp15 = *__cil_tmp14;
4185#line 273
4186  __cil_tmp16 = (int )__cil_tmp15;
4187#line 273
4188  input_report_abs(dev, 0U, __cil_tmp16);
4189#line 274
4190  __cil_tmp17 = & y;
4191#line 274
4192  __cil_tmp18 = *__cil_tmp17;
4193#line 274
4194  __cil_tmp19 = (int )__cil_tmp18;
4195#line 274
4196  input_report_abs(dev, 1U, __cil_tmp19);
4197#line 275
4198  __cil_tmp20 = (unsigned long )coord;
4199#line 275
4200  __cil_tmp21 = __cil_tmp20 + 1;
4201#line 275
4202  __cil_tmp22 = *((u8 *)__cil_tmp21);
4203#line 275
4204  __cil_tmp23 = (int )__cil_tmp22;
4205#line 275
4206  input_report_key(dev, 330U, __cil_tmp23);
4207#line 276
4208  __cil_tmp24 = (unsigned long )coord;
4209#line 276
4210  __cil_tmp25 = __cil_tmp24 + 1;
4211#line 276
4212  __cil_tmp26 = *((u8 *)__cil_tmp25);
4213#line 276
4214  __cil_tmp27 = (int )__cil_tmp26;
4215#line 276
4216  input_report_key(dev, 325U, __cil_tmp27);
4217#line 278
4218  input_sync(dev);
4219  }
4220  {
4221#line 280
4222  __cil_tmp28 = (unsigned long )coord;
4223#line 280
4224  __cil_tmp29 = __cil_tmp28 + 1;
4225#line 280
4226  if (*((u8 *)__cil_tmp29)) {
4227#line 280
4228    __cil_tmp30 = (unsigned long )w8001;
4229#line 280
4230    __cil_tmp31 = __cil_tmp30 + 128;
4231#line 280
4232    *((int *)__cil_tmp31) = 325;
4233  } else {
4234#line 280
4235    __cil_tmp32 = (unsigned long )w8001;
4236#line 280
4237    __cil_tmp33 = __cil_tmp32 + 128;
4238#line 280
4239    *((int *)__cil_tmp33) = 0;
4240  }
4241  }
4242#line 281
4243  return;
4244}
4245}
4246#line 294
4247static irqreturn_t w8001_interrupt(struct serio *serio , unsigned char data , unsigned int flags ) ;
4248#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4249static struct _ddebug  __attribute__((__aligned__(8))) descriptor  __attribute__((__used__,
4250__section__("__verbose")))  =    {"wacom_w8001", "w8001_interrupt", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c",
4251    "w8001: unsynchronized data: 0x%02x\n", 294U, 0U};
4252#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4253static irqreturn_t w8001_interrupt(struct serio *serio , unsigned char data , unsigned int flags ) 
4254{ struct w8001 *w8001 ;
4255  void *tmp ;
4256  struct w8001_coord coord ;
4257  unsigned char tmp___0 ;
4258  int tmp___1 ;
4259  long tmp___2 ;
4260  long tmp___3 ;
4261  size_t __len ;
4262  void *__ret ;
4263  unsigned long __cil_tmp13 ;
4264  unsigned long __cil_tmp14 ;
4265  int __cil_tmp15 ;
4266  unsigned long __cil_tmp16 ;
4267  unsigned long __cil_tmp17 ;
4268  unsigned long __cil_tmp18 ;
4269  unsigned long __cil_tmp19 ;
4270  unsigned long __cil_tmp20 ;
4271  unsigned long __cil_tmp21 ;
4272  unsigned long __cil_tmp22 ;
4273  unsigned long __cil_tmp23 ;
4274  unsigned long __cil_tmp24 ;
4275  unsigned long __cil_tmp25 ;
4276  int __cil_tmp26 ;
4277  int __cil_tmp27 ;
4278  int __cil_tmp28 ;
4279  struct _ddebug  __attribute__((__aligned__(8))) *__cil_tmp29 ;
4280  unsigned int __cil_tmp30 ;
4281  unsigned int __cil_tmp31 ;
4282  int __cil_tmp32 ;
4283  int __cil_tmp33 ;
4284  long __cil_tmp34 ;
4285  int __cil_tmp35 ;
4286  unsigned long __cil_tmp36 ;
4287  unsigned long __cil_tmp37 ;
4288  unsigned long __cil_tmp38 ;
4289  unsigned long __cil_tmp39 ;
4290  unsigned long __cil_tmp40 ;
4291  unsigned long __cil_tmp41 ;
4292  unsigned char __cil_tmp42 ;
4293  int __cil_tmp43 ;
4294  int __cil_tmp44 ;
4295  int __cil_tmp45 ;
4296  unsigned long __cil_tmp46 ;
4297  unsigned long __cil_tmp47 ;
4298  int __cil_tmp48 ;
4299  unsigned int __cil_tmp49 ;
4300  unsigned long __cil_tmp50 ;
4301  unsigned long __cil_tmp51 ;
4302  unsigned int __cil_tmp52 ;
4303  unsigned long __cil_tmp53 ;
4304  unsigned long __cil_tmp54 ;
4305  unsigned long __cil_tmp55 ;
4306  unsigned long __cil_tmp56 ;
4307  int __cil_tmp57 ;
4308  unsigned long __cil_tmp58 ;
4309  unsigned long __cil_tmp59 ;
4310  int __cil_tmp60 ;
4311  unsigned long __cil_tmp61 ;
4312  unsigned long __cil_tmp62 ;
4313  unsigned long __cil_tmp63 ;
4314  unsigned long __cil_tmp64 ;
4315  unsigned char *__cil_tmp65 ;
4316  unsigned long __cil_tmp66 ;
4317  unsigned long __cil_tmp67 ;
4318  unsigned long __cil_tmp68 ;
4319  unsigned long __cil_tmp69 ;
4320  unsigned char __cil_tmp70 ;
4321  int __cil_tmp71 ;
4322  int __cil_tmp72 ;
4323  int __cil_tmp73 ;
4324  int __cil_tmp74 ;
4325  int __cil_tmp75 ;
4326  int __cil_tmp76 ;
4327  long __cil_tmp77 ;
4328  unsigned long __cil_tmp78 ;
4329  unsigned long __cil_tmp79 ;
4330  unsigned long __cil_tmp80 ;
4331  unsigned long __cil_tmp81 ;
4332  unsigned char __cil_tmp82 ;
4333  int __cil_tmp83 ;
4334  int __cil_tmp84 ;
4335  int __cil_tmp85 ;
4336  unsigned long __cil_tmp86 ;
4337  unsigned long __cil_tmp87 ;
4338  unsigned long __cil_tmp88 ;
4339  unsigned long __cil_tmp89 ;
4340  unsigned long __cil_tmp90 ;
4341  unsigned long __cil_tmp91 ;
4342  unsigned char *__cil_tmp92 ;
4343  unsigned long __cil_tmp93 ;
4344  unsigned long __cil_tmp94 ;
4345  unsigned long __cil_tmp95 ;
4346  unsigned long __cil_tmp96 ;
4347  unsigned char __cil_tmp97 ;
4348  int __cil_tmp98 ;
4349  int __cil_tmp99 ;
4350  int __cil_tmp100 ;
4351  unsigned long __cil_tmp101 ;
4352  unsigned long __cil_tmp102 ;
4353  unsigned long __cil_tmp103 ;
4354  unsigned long __cil_tmp104 ;
4355  unsigned long __cil_tmp105 ;
4356  unsigned long __cil_tmp106 ;
4357  unsigned char *__cil_tmp107 ;
4358  void *__cil_tmp108 ;
4359  unsigned long __cil_tmp109 ;
4360  unsigned long __cil_tmp110 ;
4361  unsigned long __cil_tmp111 ;
4362  unsigned long __cil_tmp112 ;
4363  unsigned char *__cil_tmp113 ;
4364  void const   *__cil_tmp114 ;
4365  unsigned long __cil_tmp115 ;
4366  unsigned long __cil_tmp116 ;
4367  unsigned long __cil_tmp117 ;
4368  unsigned long __cil_tmp118 ;
4369  unsigned char *__cil_tmp119 ;
4370  void *__cil_tmp120 ;
4371  unsigned long __cil_tmp121 ;
4372  unsigned long __cil_tmp122 ;
4373  unsigned long __cil_tmp123 ;
4374  unsigned long __cil_tmp124 ;
4375  unsigned char *__cil_tmp125 ;
4376  void const   *__cil_tmp126 ;
4377  unsigned long __cil_tmp127 ;
4378  unsigned long __cil_tmp128 ;
4379  unsigned long __cil_tmp129 ;
4380  unsigned long __cil_tmp130 ;
4381  struct completion *__cil_tmp131 ;
4382  unsigned long __cil_tmp132 ;
4383  unsigned long __cil_tmp133 ;
4384
4385  {
4386  {
4387#line 286
4388  tmp = serio_get_drvdata(serio);
4389#line 286
4390  w8001 = (struct w8001 *)tmp;
4391#line 290
4392  __cil_tmp13 = (unsigned long )w8001;
4393#line 290
4394  __cil_tmp14 = __cil_tmp13 + 68;
4395#line 290
4396  __cil_tmp15 = *((int *)__cil_tmp14);
4397#line 290
4398  __cil_tmp16 = __cil_tmp15 * 1UL;
4399#line 290
4400  __cil_tmp17 = 84 + __cil_tmp16;
4401#line 290
4402  __cil_tmp18 = (unsigned long )w8001;
4403#line 290
4404  __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
4405#line 290
4406  *((unsigned char *)__cil_tmp19) = data;
4407#line 291
4408  __cil_tmp20 = (unsigned long )w8001;
4409#line 291
4410  __cil_tmp21 = __cil_tmp20 + 68;
4411#line 291
4412  tmp___1 = *((int *)__cil_tmp21);
4413#line 291
4414  __cil_tmp22 = (unsigned long )w8001;
4415#line 291
4416  __cil_tmp23 = __cil_tmp22 + 68;
4417#line 291
4418  __cil_tmp24 = (unsigned long )w8001;
4419#line 291
4420  __cil_tmp25 = __cil_tmp24 + 68;
4421#line 291
4422  __cil_tmp26 = *((int *)__cil_tmp25);
4423#line 291
4424  *((int *)__cil_tmp23) = __cil_tmp26 + 1;
4425  }
4426#line 292
4427  if (tmp___1 == 0) {
4428#line 292
4429    goto case_0;
4430  } else
4431#line 299
4432  if (tmp___1 == 4) {
4433#line 299
4434    goto case_4;
4435  } else
4436#line 300
4437  if (tmp___1 == 6) {
4438#line 300
4439    goto case_4;
4440  } else
4441#line 316
4442  if (tmp___1 == 8) {
4443#line 316
4444    goto case_8;
4445  } else
4446#line 331
4447  if (tmp___1 == 10) {
4448#line 331
4449    goto case_10;
4450  } else
4451#line 343
4452  if (tmp___1 == 12) {
4453#line 343
4454    goto case_12;
4455  } else
4456#line 291
4457  if (0) {
4458    case_0: /* CIL Label */ 
4459    {
4460#line 293
4461    __cil_tmp27 = (int )data;
4462#line 293
4463    __cil_tmp28 = __cil_tmp27 & 128;
4464#line 293
4465    if (__cil_tmp28 != 128) {
4466      {
4467#line 294
4468      while (1) {
4469        while_continue: /* CIL Label */ ;
4470        {
4471#line 294
4472        __cil_tmp29 = & descriptor;
4473#line 294
4474        __cil_tmp30 = __cil_tmp29->flags;
4475#line 294
4476        __cil_tmp31 = __cil_tmp30 & 1U;
4477#line 294
4478        __cil_tmp32 = ! __cil_tmp31;
4479#line 294
4480        __cil_tmp33 = ! __cil_tmp32;
4481#line 294
4482        __cil_tmp34 = (long )__cil_tmp33;
4483#line 294
4484        tmp___2 = __builtin_expect(__cil_tmp34, 0L);
4485        }
4486#line 294
4487        if (tmp___2) {
4488          {
4489#line 294
4490          __cil_tmp35 = (int )data;
4491#line 294
4492          __dynamic_pr_debug(& descriptor, "w8001: unsynchronized data: 0x%02x\n",
4493                             __cil_tmp35);
4494          }
4495        } else {
4496
4497        }
4498#line 294
4499        goto while_break;
4500      }
4501      while_break: /* CIL Label */ ;
4502      }
4503#line 295
4504      __cil_tmp36 = (unsigned long )w8001;
4505#line 295
4506      __cil_tmp37 = __cil_tmp36 + 68;
4507#line 295
4508      *((int *)__cil_tmp37) = 0;
4509    } else {
4510
4511    }
4512    }
4513#line 297
4514    goto switch_break;
4515    case_4: /* CIL Label */ 
4516    case_6: /* CIL Label */ 
4517#line 301
4518    __cil_tmp38 = 0 * 1UL;
4519#line 301
4520    __cil_tmp39 = 84 + __cil_tmp38;
4521#line 301
4522    __cil_tmp40 = (unsigned long )w8001;
4523#line 301
4524    __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
4525#line 301
4526    __cil_tmp42 = *((unsigned char *)__cil_tmp41);
4527#line 301
4528    __cil_tmp43 = (int )__cil_tmp42;
4529#line 301
4530    __cil_tmp44 = __cil_tmp43 & 144;
4531#line 301
4532    tmp___0 = (unsigned char )__cil_tmp44;
4533    {
4534#line 302
4535    __cil_tmp45 = (int )tmp___0;
4536#line 302
4537    if (__cil_tmp45 != 144) {
4538#line 303
4539      goto switch_break;
4540    } else {
4541
4542    }
4543    }
4544    {
4545#line 305
4546    __cil_tmp46 = (unsigned long )w8001;
4547#line 305
4548    __cil_tmp47 = __cil_tmp46 + 68;
4549#line 305
4550    __cil_tmp48 = *((int *)__cil_tmp47);
4551#line 305
4552    __cil_tmp49 = (unsigned int )__cil_tmp48;
4553#line 305
4554    __cil_tmp50 = (unsigned long )w8001;
4555#line 305
4556    __cil_tmp51 = __cil_tmp50 + 132;
4557#line 305
4558    __cil_tmp52 = *((unsigned int *)__cil_tmp51);
4559#line 305
4560    if (__cil_tmp52 == __cil_tmp49) {
4561#line 306
4562      __cil_tmp53 = (unsigned long )w8001;
4563#line 306
4564      __cil_tmp54 = __cil_tmp53 + 68;
4565#line 306
4566      *((int *)__cil_tmp54) = 0;
4567      {
4568#line 307
4569      __cil_tmp55 = (unsigned long )w8001;
4570#line 307
4571      __cil_tmp56 = __cil_tmp55 + 128;
4572#line 307
4573      __cil_tmp57 = *((int *)__cil_tmp56);
4574#line 307
4575      if (__cil_tmp57 != 320) {
4576        {
4577#line 307
4578        __cil_tmp58 = (unsigned long )w8001;
4579#line 307
4580        __cil_tmp59 = __cil_tmp58 + 128;
4581#line 307
4582        __cil_tmp60 = *((int *)__cil_tmp59);
4583#line 307
4584        if (__cil_tmp60 != 321) {
4585          {
4586#line 309
4587          __cil_tmp61 = 0 * 1UL;
4588#line 309
4589          __cil_tmp62 = 84 + __cil_tmp61;
4590#line 309
4591          __cil_tmp63 = (unsigned long )w8001;
4592#line 309
4593          __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
4594#line 309
4595          __cil_tmp65 = (unsigned char *)__cil_tmp64;
4596#line 309
4597          parse_single_touch(__cil_tmp65, & coord);
4598#line 310
4599          report_single_touch(w8001, & coord);
4600          }
4601        } else {
4602
4603        }
4604        }
4605      } else {
4606
4607      }
4608      }
4609    } else {
4610
4611    }
4612    }
4613#line 313
4614    goto switch_break;
4615    case_8: /* CIL Label */ 
4616    {
4617#line 317
4618    __cil_tmp66 = 0 * 1UL;
4619#line 317
4620    __cil_tmp67 = 84 + __cil_tmp66;
4621#line 317
4622    __cil_tmp68 = (unsigned long )w8001;
4623#line 317
4624    __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
4625#line 317
4626    __cil_tmp70 = *((unsigned char *)__cil_tmp69);
4627#line 317
4628    __cil_tmp71 = (int )__cil_tmp70;
4629#line 317
4630    __cil_tmp72 = __cil_tmp71 & 64;
4631#line 317
4632    tmp___0 = (unsigned char )__cil_tmp72;
4633#line 318
4634    __cil_tmp73 = (int )tmp___0;
4635#line 318
4636    __cil_tmp74 = __cil_tmp73 == 64;
4637#line 318
4638    __cil_tmp75 = ! __cil_tmp74;
4639#line 318
4640    __cil_tmp76 = ! __cil_tmp75;
4641#line 318
4642    __cil_tmp77 = (long )__cil_tmp76;
4643#line 318
4644    tmp___3 = __builtin_expect(__cil_tmp77, 0L);
4645    }
4646#line 318
4647    if (tmp___3) {
4648#line 319
4649      goto switch_break;
4650    } else {
4651
4652    }
4653#line 321
4654    __cil_tmp78 = 0 * 1UL;
4655#line 321
4656    __cil_tmp79 = 84 + __cil_tmp78;
4657#line 321
4658    __cil_tmp80 = (unsigned long )w8001;
4659#line 321
4660    __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
4661#line 321
4662    __cil_tmp82 = *((unsigned char *)__cil_tmp81);
4663#line 321
4664    __cil_tmp83 = (int )__cil_tmp82;
4665#line 321
4666    __cil_tmp84 = __cil_tmp83 & 144;
4667#line 321
4668    tmp___0 = (unsigned char )__cil_tmp84;
4669    {
4670#line 322
4671    __cil_tmp85 = (int )tmp___0;
4672#line 322
4673    if (__cil_tmp85 == 144) {
4674#line 323
4675      goto switch_break;
4676    } else {
4677
4678    }
4679    }
4680    {
4681#line 325
4682    __cil_tmp86 = (unsigned long )w8001;
4683#line 325
4684    __cil_tmp87 = __cil_tmp86 + 68;
4685#line 325
4686    *((int *)__cil_tmp87) = 0;
4687#line 326
4688    __cil_tmp88 = 0 * 1UL;
4689#line 326
4690    __cil_tmp89 = 84 + __cil_tmp88;
4691#line 326
4692    __cil_tmp90 = (unsigned long )w8001;
4693#line 326
4694    __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
4695#line 326
4696    __cil_tmp92 = (unsigned char *)__cil_tmp91;
4697#line 326
4698    parse_pen_data(__cil_tmp92, & coord);
4699#line 327
4700    report_pen_events(w8001, & coord);
4701    }
4702#line 328
4703    goto switch_break;
4704    case_10: /* CIL Label */ 
4705#line 332
4706    __cil_tmp93 = 0 * 1UL;
4707#line 332
4708    __cil_tmp94 = 84 + __cil_tmp93;
4709#line 332
4710    __cil_tmp95 = (unsigned long )w8001;
4711#line 332
4712    __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
4713#line 332
4714    __cil_tmp97 = *((unsigned char *)__cil_tmp96);
4715#line 332
4716    __cil_tmp98 = (int )__cil_tmp97;
4717#line 332
4718    __cil_tmp99 = __cil_tmp98 & 144;
4719#line 332
4720    tmp___0 = (unsigned char )__cil_tmp99;
4721    {
4722#line 333
4723    __cil_tmp100 = (int )tmp___0;
4724#line 333
4725    if (__cil_tmp100 == 144) {
4726#line 334
4727      goto switch_break;
4728    } else {
4729
4730    }
4731    }
4732#line 336
4733    __cil_tmp101 = (unsigned long )w8001;
4734#line 336
4735    __cil_tmp102 = __cil_tmp101 + 68;
4736#line 336
4737    *((int *)__cil_tmp102) = 0;
4738#line 337
4739    __len = (size_t )11;
4740#line 337
4741    if (__len >= 64UL) {
4742      {
4743#line 337
4744      __cil_tmp103 = 0 * 1UL;
4745#line 337
4746      __cil_tmp104 = 73 + __cil_tmp103;
4747#line 337
4748      __cil_tmp105 = (unsigned long )w8001;
4749#line 337
4750      __cil_tmp106 = __cil_tmp105 + __cil_tmp104;
4751#line 337
4752      __cil_tmp107 = (unsigned char *)__cil_tmp106;
4753#line 337
4754      __cil_tmp108 = (void *)__cil_tmp107;
4755#line 337
4756      __cil_tmp109 = 0 * 1UL;
4757#line 337
4758      __cil_tmp110 = 84 + __cil_tmp109;
4759#line 337
4760      __cil_tmp111 = (unsigned long )w8001;
4761#line 337
4762      __cil_tmp112 = __cil_tmp111 + __cil_tmp110;
4763#line 337
4764      __cil_tmp113 = (unsigned char *)__cil_tmp112;
4765#line 337
4766      __cil_tmp114 = (void const   *)__cil_tmp113;
4767#line 337
4768      __ret = __memcpy(__cil_tmp108, __cil_tmp114, __len);
4769      }
4770    } else {
4771      {
4772#line 337
4773      __cil_tmp115 = 0 * 1UL;
4774#line 337
4775      __cil_tmp116 = 73 + __cil_tmp115;
4776#line 337
4777      __cil_tmp117 = (unsigned long )w8001;
4778#line 337
4779      __cil_tmp118 = __cil_tmp117 + __cil_tmp116;
4780#line 337
4781      __cil_tmp119 = (unsigned char *)__cil_tmp118;
4782#line 337
4783      __cil_tmp120 = (void *)__cil_tmp119;
4784#line 337
4785      __cil_tmp121 = 0 * 1UL;
4786#line 337
4787      __cil_tmp122 = 84 + __cil_tmp121;
4788#line 337
4789      __cil_tmp123 = (unsigned long )w8001;
4790#line 337
4791      __cil_tmp124 = __cil_tmp123 + __cil_tmp122;
4792#line 337
4793      __cil_tmp125 = (unsigned char *)__cil_tmp124;
4794#line 337
4795      __cil_tmp126 = (void const   *)__cil_tmp125;
4796#line 337
4797      __ret = __builtin_memcpy(__cil_tmp120, __cil_tmp126, __len);
4798      }
4799    }
4800    {
4801#line 338
4802    __cil_tmp127 = (unsigned long )w8001;
4803#line 338
4804    __cil_tmp128 = __cil_tmp127 + 72;
4805#line 338
4806    *((unsigned char *)__cil_tmp128) = (unsigned char)32;
4807#line 339
4808    __cil_tmp129 = (unsigned long )w8001;
4809#line 339
4810    __cil_tmp130 = __cil_tmp129 + 16;
4811#line 339
4812    __cil_tmp131 = (struct completion *)__cil_tmp130;
4813#line 339
4814    complete(__cil_tmp131);
4815    }
4816#line 340
4817    goto switch_break;
4818    case_12: /* CIL Label */ 
4819    {
4820#line 344
4821    __cil_tmp132 = (unsigned long )w8001;
4822#line 344
4823    __cil_tmp133 = __cil_tmp132 + 68;
4824#line 344
4825    *((int *)__cil_tmp133) = 0;
4826#line 345
4827    parse_multi_touch(w8001);
4828    }
4829#line 346
4830    goto switch_break;
4831  } else {
4832    switch_break: /* CIL Label */ ;
4833  }
4834#line 349
4835  return ((irqreturn_t )1);
4836}
4837}
4838#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4839static int w8001_command(struct w8001 *w8001 , unsigned char command , bool wait_response ) 
4840{ int rc ;
4841  unsigned long __cil_tmp5 ;
4842  unsigned long __cil_tmp6 ;
4843  unsigned long __cil_tmp7 ;
4844  unsigned long __cil_tmp8 ;
4845  struct completion *__cil_tmp9 ;
4846  unsigned long __cil_tmp10 ;
4847  unsigned long __cil_tmp11 ;
4848  struct serio *__cil_tmp12 ;
4849  unsigned long __cil_tmp13 ;
4850  unsigned long __cil_tmp14 ;
4851  struct completion *__cil_tmp15 ;
4852  unsigned long __cil_tmp16 ;
4853  unsigned long __cil_tmp17 ;
4854  unsigned char __cil_tmp18 ;
4855  int __cil_tmp19 ;
4856
4857  {
4858  {
4859#line 357
4860  __cil_tmp5 = (unsigned long )w8001;
4861#line 357
4862  __cil_tmp6 = __cil_tmp5 + 72;
4863#line 357
4864  *((unsigned char *)__cil_tmp6) = (unsigned char)0;
4865#line 358
4866  __cil_tmp7 = (unsigned long )w8001;
4867#line 358
4868  __cil_tmp8 = __cil_tmp7 + 16;
4869#line 358
4870  __cil_tmp9 = (struct completion *)__cil_tmp8;
4871#line 358
4872  init_completion(__cil_tmp9);
4873#line 360
4874  __cil_tmp10 = (unsigned long )w8001;
4875#line 360
4876  __cil_tmp11 = __cil_tmp10 + 8;
4877#line 360
4878  __cil_tmp12 = *((struct serio **)__cil_tmp11);
4879#line 360
4880  rc = serio_write(__cil_tmp12, command);
4881  }
4882#line 361
4883  if (rc == 0) {
4884#line 361
4885    if (wait_response) {
4886      {
4887#line 363
4888      __cil_tmp13 = (unsigned long )w8001;
4889#line 363
4890      __cil_tmp14 = __cil_tmp13 + 16;
4891#line 363
4892      __cil_tmp15 = (struct completion *)__cil_tmp14;
4893#line 363
4894      wait_for_completion_timeout(__cil_tmp15, 250UL);
4895      }
4896      {
4897#line 364
4898      __cil_tmp16 = (unsigned long )w8001;
4899#line 364
4900      __cil_tmp17 = __cil_tmp16 + 72;
4901#line 364
4902      __cil_tmp18 = *((unsigned char *)__cil_tmp17);
4903#line 364
4904      __cil_tmp19 = (int )__cil_tmp18;
4905#line 364
4906      if (__cil_tmp19 != 32) {
4907#line 365
4908        rc = -5;
4909      } else {
4910
4911      }
4912      }
4913    } else {
4914
4915    }
4916  } else {
4917
4918  }
4919#line 368
4920  return (rc);
4921}
4922}
4923#line 371 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4924static int w8001_open(struct input_dev *dev ) 
4925{ struct w8001 *w8001 ;
4926  void *tmp ;
4927  int tmp___0 ;
4928  unsigned char __cil_tmp5 ;
4929  bool __cil_tmp6 ;
4930
4931  {
4932  {
4933#line 373
4934  tmp = input_get_drvdata(dev);
4935#line 373
4936  w8001 = (struct w8001 *)tmp;
4937#line 375
4938  __cil_tmp5 = (unsigned char )'1';
4939#line 375
4940  __cil_tmp6 = (bool )0;
4941#line 375
4942  tmp___0 = w8001_command(w8001, __cil_tmp5, __cil_tmp6);
4943  }
4944#line 375
4945  return (tmp___0);
4946}
4947}
4948#line 378 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4949static void w8001_close(struct input_dev *dev ) 
4950{ struct w8001 *w8001 ;
4951  void *tmp ;
4952  unsigned char __cil_tmp4 ;
4953  bool __cil_tmp5 ;
4954
4955  {
4956  {
4957#line 380
4958  tmp = input_get_drvdata(dev);
4959#line 380
4960  w8001 = (struct w8001 *)tmp;
4961#line 382
4962  __cil_tmp4 = (unsigned char )'0';
4963#line 382
4964  __cil_tmp5 = (bool )0;
4965#line 382
4966  w8001_command(w8001, __cil_tmp4, __cil_tmp5);
4967  }
4968#line 383
4969  return;
4970}
4971}
4972#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4973static int w8001_setup(struct w8001 *w8001 ) 
4974{ struct input_dev *dev ;
4975  struct w8001_coord coord ;
4976  struct w8001_touch_query touch ;
4977  int error ;
4978  unsigned char __cil_tmp6 ;
4979  bool __cil_tmp7 ;
4980  unsigned long __cil_tmp8 ;
4981  unsigned long __cil_tmp9 ;
4982  unsigned long __cil_tmp10 ;
4983  unsigned long __cil_tmp11 ;
4984  unsigned long __cil_tmp12 ;
4985  unsigned long __cil_tmp13 ;
4986  unsigned long __cil_tmp14 ;
4987  unsigned long __cil_tmp15 ;
4988  unsigned long __cil_tmp16 ;
4989  unsigned long __cil_tmp17 ;
4990  char *__cil_tmp18 ;
4991  unsigned long __cil_tmp19 ;
4992  unsigned long __cil_tmp20 ;
4993  unsigned long __cil_tmp21 ;
4994  unsigned long __cil_tmp22 ;
4995  unsigned long *__cil_tmp23 ;
4996  unsigned long volatile   *__cil_tmp24 ;
4997  unsigned char __cil_tmp25 ;
4998  bool __cil_tmp26 ;
4999  unsigned long __cil_tmp27 ;
5000  unsigned long __cil_tmp28 ;
5001  unsigned long __cil_tmp29 ;
5002  unsigned long __cil_tmp30 ;
5003  unsigned long *__cil_tmp31 ;
5004  unsigned long volatile   *__cil_tmp32 ;
5005  unsigned long __cil_tmp33 ;
5006  unsigned long __cil_tmp34 ;
5007  unsigned long __cil_tmp35 ;
5008  unsigned long __cil_tmp36 ;
5009  unsigned long *__cil_tmp37 ;
5010  unsigned long volatile   *__cil_tmp38 ;
5011  unsigned long __cil_tmp39 ;
5012  unsigned long __cil_tmp40 ;
5013  unsigned long __cil_tmp41 ;
5014  unsigned long __cil_tmp42 ;
5015  unsigned long *__cil_tmp43 ;
5016  unsigned long volatile   *__cil_tmp44 ;
5017  unsigned long __cil_tmp45 ;
5018  unsigned long __cil_tmp46 ;
5019  unsigned long __cil_tmp47 ;
5020  unsigned long __cil_tmp48 ;
5021  unsigned long *__cil_tmp49 ;
5022  unsigned long volatile   *__cil_tmp50 ;
5023  unsigned long __cil_tmp51 ;
5024  unsigned long __cil_tmp52 ;
5025  unsigned long __cil_tmp53 ;
5026  unsigned long __cil_tmp54 ;
5027  unsigned long *__cil_tmp55 ;
5028  unsigned long volatile   *__cil_tmp56 ;
5029  unsigned long __cil_tmp57 ;
5030  unsigned long __cil_tmp58 ;
5031  unsigned long __cil_tmp59 ;
5032  unsigned long __cil_tmp60 ;
5033  unsigned char *__cil_tmp61 ;
5034  unsigned long __cil_tmp62 ;
5035  unsigned long __cil_tmp63 ;
5036  unsigned long __cil_tmp64 ;
5037  unsigned long __cil_tmp65 ;
5038  unsigned long __cil_tmp66 ;
5039  unsigned long __cil_tmp67 ;
5040  unsigned long __cil_tmp68 ;
5041  u16 __cil_tmp69 ;
5042  int __cil_tmp70 ;
5043  unsigned long __cil_tmp71 ;
5044  u16 __cil_tmp72 ;
5045  int __cil_tmp73 ;
5046  unsigned long __cil_tmp74 ;
5047  u16 __cil_tmp75 ;
5048  int __cil_tmp76 ;
5049  unsigned long __cil_tmp77 ;
5050  unsigned long __cil_tmp78 ;
5051  unsigned long __cil_tmp79 ;
5052  u8 __cil_tmp80 ;
5053  int __cil_tmp81 ;
5054  unsigned long __cil_tmp82 ;
5055  u8 __cil_tmp83 ;
5056  int __cil_tmp84 ;
5057  unsigned long __cil_tmp85 ;
5058  unsigned long __cil_tmp86 ;
5059  unsigned long __cil_tmp87 ;
5060  unsigned long __cil_tmp88 ;
5061  unsigned long __cil_tmp89 ;
5062  unsigned long __cil_tmp90 ;
5063  char *__cil_tmp91 ;
5064  unsigned char __cil_tmp92 ;
5065  bool __cil_tmp93 ;
5066  unsigned long __cil_tmp94 ;
5067  unsigned long __cil_tmp95 ;
5068  unsigned long __cil_tmp96 ;
5069  unsigned long __cil_tmp97 ;
5070  unsigned long __cil_tmp98 ;
5071  unsigned long __cil_tmp99 ;
5072  unsigned long __cil_tmp100 ;
5073  unsigned long __cil_tmp101 ;
5074  unsigned long *__cil_tmp102 ;
5075  unsigned long volatile   *__cil_tmp103 ;
5076  unsigned long __cil_tmp104 ;
5077  unsigned long __cil_tmp105 ;
5078  unsigned long __cil_tmp106 ;
5079  unsigned long __cil_tmp107 ;
5080  unsigned long *__cil_tmp108 ;
5081  unsigned long volatile   *__cil_tmp109 ;
5082  unsigned long __cil_tmp110 ;
5083  unsigned long __cil_tmp111 ;
5084  unsigned long __cil_tmp112 ;
5085  unsigned long __cil_tmp113 ;
5086  unsigned char *__cil_tmp114 ;
5087  unsigned long __cil_tmp115 ;
5088  unsigned long __cil_tmp116 ;
5089  struct w8001_touch_query *__cil_tmp117 ;
5090  unsigned long __cil_tmp118 ;
5091  unsigned long __cil_tmp119 ;
5092  unsigned long __cil_tmp120 ;
5093  unsigned long __cil_tmp121 ;
5094  unsigned long __cil_tmp122 ;
5095  unsigned long __cil_tmp123 ;
5096  unsigned long __cil_tmp124 ;
5097  struct w8001_touch_query *__cil_tmp125 ;
5098  unsigned long __cil_tmp126 ;
5099  unsigned long __cil_tmp127 ;
5100  unsigned long __cil_tmp128 ;
5101  unsigned long __cil_tmp129 ;
5102  unsigned long __cil_tmp130 ;
5103  unsigned long __cil_tmp131 ;
5104  struct w8001_touch_query *__cil_tmp132 ;
5105  u16 __cil_tmp133 ;
5106  int __cil_tmp134 ;
5107  unsigned long __cil_tmp135 ;
5108  u16 __cil_tmp136 ;
5109  int __cil_tmp137 ;
5110  unsigned long __cil_tmp138 ;
5111  u8 __cil_tmp139 ;
5112  int __cil_tmp140 ;
5113  unsigned long __cil_tmp141 ;
5114  u8 __cil_tmp142 ;
5115  int __cil_tmp143 ;
5116  unsigned long __cil_tmp144 ;
5117  u8 __cil_tmp145 ;
5118  unsigned long __cil_tmp146 ;
5119  unsigned long __cil_tmp147 ;
5120  unsigned long __cil_tmp148 ;
5121  unsigned long __cil_tmp149 ;
5122  unsigned long __cil_tmp150 ;
5123  unsigned long __cil_tmp151 ;
5124  unsigned long __cil_tmp152 ;
5125  unsigned long __cil_tmp153 ;
5126  char *__cil_tmp154 ;
5127  unsigned long __cil_tmp155 ;
5128  unsigned long __cil_tmp156 ;
5129  unsigned long __cil_tmp157 ;
5130  unsigned long __cil_tmp158 ;
5131  unsigned long __cil_tmp159 ;
5132  unsigned long __cil_tmp160 ;
5133  char *__cil_tmp161 ;
5134  unsigned long __cil_tmp162 ;
5135  unsigned long __cil_tmp163 ;
5136  unsigned long __cil_tmp164 ;
5137  unsigned long __cil_tmp165 ;
5138  struct w8001_touch_query *__cil_tmp166 ;
5139  u16 __cil_tmp167 ;
5140  int __cil_tmp168 ;
5141  unsigned long __cil_tmp169 ;
5142  u16 __cil_tmp170 ;
5143  int __cil_tmp171 ;
5144  unsigned long __cil_tmp172 ;
5145  unsigned long __cil_tmp173 ;
5146  unsigned long __cil_tmp174 ;
5147  unsigned long __cil_tmp175 ;
5148  char *__cil_tmp176 ;
5149  unsigned long __cil_tmp177 ;
5150  unsigned long __cil_tmp178 ;
5151  unsigned long __cil_tmp179 ;
5152  unsigned long __cil_tmp180 ;
5153  unsigned long __cil_tmp181 ;
5154  unsigned long __cil_tmp182 ;
5155  unsigned long __cil_tmp183 ;
5156  unsigned long __cil_tmp184 ;
5157  unsigned long __cil_tmp185 ;
5158  unsigned long __cil_tmp186 ;
5159  unsigned long __cil_tmp187 ;
5160  unsigned long __cil_tmp188 ;
5161  unsigned long __cil_tmp189 ;
5162  unsigned long __cil_tmp190 ;
5163  char *__cil_tmp191 ;
5164
5165  {
5166  {
5167#line 387
5168  dev = *((struct input_dev **)w8001);
5169#line 392
5170  __cil_tmp6 = (unsigned char )'0';
5171#line 392
5172  __cil_tmp7 = (bool )0;
5173#line 392
5174  error = w8001_command(w8001, __cil_tmp6, __cil_tmp7);
5175  }
5176#line 393
5177  if (error) {
5178#line 394
5179    return (error);
5180  } else {
5181
5182  }
5183  {
5184#line 396
5185  msleep(250U);
5186#line 398
5187  __cil_tmp8 = 0 * 8UL;
5188#line 398
5189  __cil_tmp9 = 40 + __cil_tmp8;
5190#line 398
5191  __cil_tmp10 = (unsigned long )dev;
5192#line 398
5193  __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
5194#line 398
5195  __cil_tmp12 = 1UL << 3;
5196#line 398
5197  __cil_tmp13 = 1UL << 1;
5198#line 398
5199  *((unsigned long *)__cil_tmp11) = __cil_tmp13 | __cil_tmp12;
5200#line 399
5201  __cil_tmp14 = 0 * 1UL;
5202#line 399
5203  __cil_tmp15 = 144 + __cil_tmp14;
5204#line 399
5205  __cil_tmp16 = (unsigned long )w8001;
5206#line 399
5207  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
5208#line 399
5209  __cil_tmp18 = (char *)__cil_tmp17;
5210#line 399
5211  strlcat(__cil_tmp18, "Wacom Serial", 64UL);
5212#line 401
5213  __cil_tmp19 = 0 * 8UL;
5214#line 401
5215  __cil_tmp20 = 32 + __cil_tmp19;
5216#line 401
5217  __cil_tmp21 = (unsigned long )dev;
5218#line 401
5219  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
5220#line 401
5221  __cil_tmp23 = (unsigned long *)__cil_tmp22;
5222#line 401
5223  __cil_tmp24 = (unsigned long volatile   *)__cil_tmp23;
5224#line 401
5225  __set_bit(1, __cil_tmp24);
5226#line 404
5227  __cil_tmp25 = (unsigned char )'*';
5228#line 404
5229  __cil_tmp26 = (bool )1;
5230#line 404
5231  error = w8001_command(w8001, __cil_tmp25, __cil_tmp26);
5232  }
5233#line 405
5234  if (! error) {
5235    {
5236#line 406
5237    __cil_tmp27 = 0 * 8UL;
5238#line 406
5239    __cil_tmp28 = 48 + __cil_tmp27;
5240#line 406
5241    __cil_tmp29 = (unsigned long )dev;
5242#line 406
5243    __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
5244#line 406
5245    __cil_tmp31 = (unsigned long *)__cil_tmp30;
5246#line 406
5247    __cil_tmp32 = (unsigned long volatile   *)__cil_tmp31;
5248#line 406
5249    __set_bit(330, __cil_tmp32);
5250#line 407
5251    __cil_tmp33 = 0 * 8UL;
5252#line 407
5253    __cil_tmp34 = 48 + __cil_tmp33;
5254#line 407
5255    __cil_tmp35 = (unsigned long )dev;
5256#line 407
5257    __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
5258#line 407
5259    __cil_tmp37 = (unsigned long *)__cil_tmp36;
5260#line 407
5261    __cil_tmp38 = (unsigned long volatile   *)__cil_tmp37;
5262#line 407
5263    __set_bit(320, __cil_tmp38);
5264#line 408
5265    __cil_tmp39 = 0 * 8UL;
5266#line 408
5267    __cil_tmp40 = 48 + __cil_tmp39;
5268#line 408
5269    __cil_tmp41 = (unsigned long )dev;
5270#line 408
5271    __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
5272#line 408
5273    __cil_tmp43 = (unsigned long *)__cil_tmp42;
5274#line 408
5275    __cil_tmp44 = (unsigned long volatile   *)__cil_tmp43;
5276#line 408
5277    __set_bit(321, __cil_tmp44);
5278#line 409
5279    __cil_tmp45 = 0 * 8UL;
5280#line 409
5281    __cil_tmp46 = 48 + __cil_tmp45;
5282#line 409
5283    __cil_tmp47 = (unsigned long )dev;
5284#line 409
5285    __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
5286#line 409
5287    __cil_tmp49 = (unsigned long *)__cil_tmp48;
5288#line 409
5289    __cil_tmp50 = (unsigned long volatile   *)__cil_tmp49;
5290#line 409
5291    __set_bit(331, __cil_tmp50);
5292#line 410
5293    __cil_tmp51 = 0 * 8UL;
5294#line 410
5295    __cil_tmp52 = 48 + __cil_tmp51;
5296#line 410
5297    __cil_tmp53 = (unsigned long )dev;
5298#line 410
5299    __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
5300#line 410
5301    __cil_tmp55 = (unsigned long *)__cil_tmp54;
5302#line 410
5303    __cil_tmp56 = (unsigned long volatile   *)__cil_tmp55;
5304#line 410
5305    __set_bit(332, __cil_tmp56);
5306#line 412
5307    __cil_tmp57 = 0 * 1UL;
5308#line 412
5309    __cil_tmp58 = 73 + __cil_tmp57;
5310#line 412
5311    __cil_tmp59 = (unsigned long )w8001;
5312#line 412
5313    __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
5314#line 412
5315    __cil_tmp61 = (unsigned char *)__cil_tmp60;
5316#line 412
5317    parse_pen_data(__cil_tmp61, & coord);
5318#line 413
5319    __cil_tmp62 = (unsigned long )w8001;
5320#line 413
5321    __cil_tmp63 = __cil_tmp62 + 140;
5322#line 413
5323    __cil_tmp64 = (unsigned long )(& coord) + 4;
5324#line 413
5325    *((u16 *)__cil_tmp63) = *((u16 *)__cil_tmp64);
5326#line 414
5327    __cil_tmp65 = (unsigned long )w8001;
5328#line 414
5329    __cil_tmp66 = __cil_tmp65 + 142;
5330#line 414
5331    __cil_tmp67 = (unsigned long )(& coord) + 6;
5332#line 414
5333    *((u16 *)__cil_tmp66) = *((u16 *)__cil_tmp67);
5334#line 416
5335    __cil_tmp68 = (unsigned long )(& coord) + 4;
5336#line 416
5337    __cil_tmp69 = *((u16 *)__cil_tmp68);
5338#line 416
5339    __cil_tmp70 = (int )__cil_tmp69;
5340#line 416
5341    input_set_abs_params(dev, 0U, 0, __cil_tmp70, 0, 0);
5342#line 417
5343    __cil_tmp71 = (unsigned long )(& coord) + 6;
5344#line 417
5345    __cil_tmp72 = *((u16 *)__cil_tmp71);
5346#line 417
5347    __cil_tmp73 = (int )__cil_tmp72;
5348#line 417
5349    input_set_abs_params(dev, 1U, 0, __cil_tmp73, 0, 0);
5350#line 418
5351    input_abs_set_res(dev, 0U, 100);
5352#line 419
5353    input_abs_set_res(dev, 1U, 100);
5354#line 420
5355    __cil_tmp74 = (unsigned long )(& coord) + 8;
5356#line 420
5357    __cil_tmp75 = *((u16 *)__cil_tmp74);
5358#line 420
5359    __cil_tmp76 = (int )__cil_tmp75;
5360#line 420
5361    input_set_abs_params(dev, 24U, 0, __cil_tmp76, 0, 0);
5362    }
5363    {
5364#line 421
5365    __cil_tmp77 = (unsigned long )(& coord) + 10;
5366#line 421
5367    if (*((u8 *)__cil_tmp77)) {
5368      {
5369#line 421
5370      __cil_tmp78 = (unsigned long )(& coord) + 11;
5371#line 421
5372      if (*((u8 *)__cil_tmp78)) {
5373        {
5374#line 422
5375        __cil_tmp79 = (unsigned long )(& coord) + 10;
5376#line 422
5377        __cil_tmp80 = *((u8 *)__cil_tmp79);
5378#line 422
5379        __cil_tmp81 = (int )__cil_tmp80;
5380#line 422
5381        input_set_abs_params(dev, 26U, 0, __cil_tmp81, 0, 0);
5382#line 423
5383        __cil_tmp82 = (unsigned long )(& coord) + 11;
5384#line 423
5385        __cil_tmp83 = *((u8 *)__cil_tmp82);
5386#line 423
5387        __cil_tmp84 = (int )__cil_tmp83;
5388#line 423
5389        input_set_abs_params(dev, 27U, 0, __cil_tmp84, 0, 0);
5390        }
5391      } else {
5392
5393      }
5394      }
5395    } else {
5396
5397    }
5398    }
5399    {
5400#line 425
5401    __cil_tmp85 = (unsigned long )w8001;
5402#line 425
5403    __cil_tmp86 = __cil_tmp85 + 64;
5404#line 425
5405    *((int *)__cil_tmp86) = 144;
5406#line 426
5407    __cil_tmp87 = 0 * 1UL;
5408#line 426
5409    __cil_tmp88 = 144 + __cil_tmp87;
5410#line 426
5411    __cil_tmp89 = (unsigned long )w8001;
5412#line 426
5413    __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
5414#line 426
5415    __cil_tmp91 = (char *)__cil_tmp90;
5416#line 426
5417    strlcat(__cil_tmp91, " Penabled", 64UL);
5418    }
5419  } else {
5420
5421  }
5422  {
5423#line 430
5424  __cil_tmp92 = (unsigned char )'%';
5425#line 430
5426  __cil_tmp93 = (bool )1;
5427#line 430
5428  error = w8001_command(w8001, __cil_tmp92, __cil_tmp93);
5429  }
5430#line 436
5431  if (! error) {
5432    {
5433#line 436
5434    __cil_tmp94 = 1 * 1UL;
5435#line 436
5436    __cil_tmp95 = 73 + __cil_tmp94;
5437#line 436
5438    __cil_tmp96 = (unsigned long )w8001;
5439#line 436
5440    __cil_tmp97 = __cil_tmp96 + __cil_tmp95;
5441#line 436
5442    if (*((unsigned char *)__cil_tmp97)) {
5443      {
5444#line 437
5445      __cil_tmp98 = 0 * 8UL;
5446#line 437
5447      __cil_tmp99 = 48 + __cil_tmp98;
5448#line 437
5449      __cil_tmp100 = (unsigned long )dev;
5450#line 437
5451      __cil_tmp101 = __cil_tmp100 + __cil_tmp99;
5452#line 437
5453      __cil_tmp102 = (unsigned long *)__cil_tmp101;
5454#line 437
5455      __cil_tmp103 = (unsigned long volatile   *)__cil_tmp102;
5456#line 437
5457      __set_bit(330, __cil_tmp103);
5458#line 438
5459      __cil_tmp104 = 0 * 8UL;
5460#line 438
5461      __cil_tmp105 = 48 + __cil_tmp104;
5462#line 438
5463      __cil_tmp106 = (unsigned long )dev;
5464#line 438
5465      __cil_tmp107 = __cil_tmp106 + __cil_tmp105;
5466#line 438
5467      __cil_tmp108 = (unsigned long *)__cil_tmp107;
5468#line 438
5469      __cil_tmp109 = (unsigned long volatile   *)__cil_tmp108;
5470#line 438
5471      __set_bit(325, __cil_tmp109);
5472#line 440
5473      __cil_tmp110 = 0 * 1UL;
5474#line 440
5475      __cil_tmp111 = 73 + __cil_tmp110;
5476#line 440
5477      __cil_tmp112 = (unsigned long )w8001;
5478#line 440
5479      __cil_tmp113 = __cil_tmp112 + __cil_tmp111;
5480#line 440
5481      __cil_tmp114 = (unsigned char *)__cil_tmp113;
5482#line 440
5483      parse_touchquery(__cil_tmp114, & touch);
5484#line 441
5485      __cil_tmp115 = (unsigned long )w8001;
5486#line 441
5487      __cil_tmp116 = __cil_tmp115 + 136;
5488#line 441
5489      __cil_tmp117 = & touch;
5490#line 441
5491      *((u16 *)__cil_tmp116) = *((u16 *)__cil_tmp117);
5492#line 442
5493      __cil_tmp118 = (unsigned long )w8001;
5494#line 442
5495      __cil_tmp119 = __cil_tmp118 + 138;
5496#line 442
5497      __cil_tmp120 = (unsigned long )(& touch) + 2;
5498#line 442
5499      *((u16 *)__cil_tmp119) = *((u16 *)__cil_tmp120);
5500      }
5501      {
5502#line 444
5503      __cil_tmp121 = (unsigned long )w8001;
5504#line 444
5505      __cil_tmp122 = __cil_tmp121 + 140;
5506#line 444
5507      if (*((u16 *)__cil_tmp122)) {
5508        {
5509#line 444
5510        __cil_tmp123 = (unsigned long )w8001;
5511#line 444
5512        __cil_tmp124 = __cil_tmp123 + 142;
5513#line 444
5514        if (*((u16 *)__cil_tmp124)) {
5515#line 446
5516          __cil_tmp125 = & touch;
5517#line 446
5518          __cil_tmp126 = (unsigned long )w8001;
5519#line 446
5520          __cil_tmp127 = __cil_tmp126 + 140;
5521#line 446
5522          *((u16 *)__cil_tmp125) = *((u16 *)__cil_tmp127);
5523#line 447
5524          __cil_tmp128 = (unsigned long )(& touch) + 2;
5525#line 447
5526          __cil_tmp129 = (unsigned long )w8001;
5527#line 447
5528          __cil_tmp130 = __cil_tmp129 + 142;
5529#line 447
5530          *((u16 *)__cil_tmp128) = *((u16 *)__cil_tmp130);
5531#line 448
5532          __cil_tmp131 = (unsigned long )(& touch) + 4;
5533#line 448
5534          *((u8 *)__cil_tmp131) = (u8 )100;
5535        } else {
5536
5537        }
5538        }
5539      } else {
5540
5541      }
5542      }
5543      {
5544#line 451
5545      __cil_tmp132 = & touch;
5546#line 451
5547      __cil_tmp133 = *((u16 *)__cil_tmp132);
5548#line 451
5549      __cil_tmp134 = (int )__cil_tmp133;
5550#line 451
5551      input_set_abs_params(dev, 0U, 0, __cil_tmp134, 0, 0);
5552#line 452
5553      __cil_tmp135 = (unsigned long )(& touch) + 2;
5554#line 452
5555      __cil_tmp136 = *((u16 *)__cil_tmp135);
5556#line 452
5557      __cil_tmp137 = (int )__cil_tmp136;
5558#line 452
5559      input_set_abs_params(dev, 1U, 0, __cil_tmp137, 0, 0);
5560#line 453
5561      __cil_tmp138 = (unsigned long )(& touch) + 4;
5562#line 453
5563      __cil_tmp139 = *((u8 *)__cil_tmp138);
5564#line 453
5565      __cil_tmp140 = (int )__cil_tmp139;
5566#line 453
5567      input_abs_set_res(dev, 0U, __cil_tmp140);
5568#line 454
5569      __cil_tmp141 = (unsigned long )(& touch) + 4;
5570#line 454
5571      __cil_tmp142 = *((u8 *)__cil_tmp141);
5572#line 454
5573      __cil_tmp143 = (int )__cil_tmp142;
5574#line 454
5575      input_abs_set_res(dev, 1U, __cil_tmp143);
5576      }
5577      {
5578#line 456
5579      __cil_tmp144 = (unsigned long )(& touch) + 6;
5580#line 456
5581      __cil_tmp145 = *((u8 *)__cil_tmp144);
5582#line 457
5583      if ((int )__cil_tmp145 == 0) {
5584#line 457
5585        goto case_0;
5586      } else
5587#line 458
5588      if ((int )__cil_tmp145 == 2) {
5589#line 458
5590        goto case_0;
5591      } else
5592#line 464
5593      if ((int )__cil_tmp145 == 1) {
5594#line 464
5595        goto case_1;
5596      } else
5597#line 465
5598      if ((int )__cil_tmp145 == 3) {
5599#line 465
5600        goto case_1;
5601      } else
5602#line 466
5603      if ((int )__cil_tmp145 == 4) {
5604#line 466
5605        goto case_1;
5606      } else
5607#line 472
5608      if ((int )__cil_tmp145 == 5) {
5609#line 472
5610        goto case_5;
5611      } else
5612#line 456
5613      if (0) {
5614        case_0: /* CIL Label */ 
5615        case_2: /* CIL Label */ 
5616        {
5617#line 459
5618        __cil_tmp146 = (unsigned long )w8001;
5619#line 459
5620        __cil_tmp147 = __cil_tmp146 + 132;
5621#line 459
5622        *((unsigned int *)__cil_tmp147) = 5U;
5623#line 460
5624        __cil_tmp148 = (unsigned long )w8001;
5625#line 460
5626        __cil_tmp149 = __cil_tmp148 + 64;
5627#line 460
5628        *((int *)__cil_tmp149) = 147;
5629#line 461
5630        __cil_tmp150 = 0 * 1UL;
5631#line 461
5632        __cil_tmp151 = 144 + __cil_tmp150;
5633#line 461
5634        __cil_tmp152 = (unsigned long )w8001;
5635#line 461
5636        __cil_tmp153 = __cil_tmp152 + __cil_tmp151;
5637#line 461
5638        __cil_tmp154 = (char *)__cil_tmp153;
5639#line 461
5640        strlcat(__cil_tmp154, " 1FG", 64UL);
5641        }
5642#line 462
5643        goto switch_break;
5644        case_1: /* CIL Label */ 
5645        case_3: /* CIL Label */ 
5646        case_4: /* CIL Label */ 
5647        {
5648#line 467
5649        __cil_tmp155 = (unsigned long )w8001;
5650#line 467
5651        __cil_tmp156 = __cil_tmp155 + 132;
5652#line 467
5653        *((unsigned int *)__cil_tmp156) = 7U;
5654#line 468
5655        __cil_tmp157 = 0 * 1UL;
5656#line 468
5657        __cil_tmp158 = 144 + __cil_tmp157;
5658#line 468
5659        __cil_tmp159 = (unsigned long )w8001;
5660#line 468
5661        __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
5662#line 468
5663        __cil_tmp161 = (char *)__cil_tmp160;
5664#line 468
5665        strlcat(__cil_tmp161, " 1FG", 64UL);
5666#line 469
5667        __cil_tmp162 = (unsigned long )w8001;
5668#line 469
5669        __cil_tmp163 = __cil_tmp162 + 64;
5670#line 469
5671        *((int *)__cil_tmp163) = 154;
5672        }
5673#line 470
5674        goto switch_break;
5675        case_5: /* CIL Label */ 
5676        {
5677#line 473
5678        __cil_tmp164 = (unsigned long )w8001;
5679#line 473
5680        __cil_tmp165 = __cil_tmp164 + 132;
5681#line 473
5682        *((unsigned int *)__cil_tmp165) = 13U;
5683#line 475
5684        input_mt_init_slots(dev, 2U);
5685#line 476
5686        __cil_tmp166 = & touch;
5687#line 476
5688        __cil_tmp167 = *((u16 *)__cil_tmp166);
5689#line 476
5690        __cil_tmp168 = (int )__cil_tmp167;
5691#line 476
5692        input_set_abs_params(dev, 53U, 0, __cil_tmp168, 0, 0);
5693#line 478
5694        __cil_tmp169 = (unsigned long )(& touch) + 2;
5695#line 478
5696        __cil_tmp170 = *((u16 *)__cil_tmp169);
5697#line 478
5698        __cil_tmp171 = (int )__cil_tmp170;
5699#line 478
5700        input_set_abs_params(dev, 54U, 0, __cil_tmp171, 0, 0);
5701#line 480
5702        input_set_abs_params(dev, 55U, 0, 1, 0, 0);
5703#line 483
5704        __cil_tmp172 = 0 * 1UL;
5705#line 483
5706        __cil_tmp173 = 144 + __cil_tmp172;
5707#line 483
5708        __cil_tmp174 = (unsigned long )w8001;
5709#line 483
5710        __cil_tmp175 = __cil_tmp174 + __cil_tmp173;
5711#line 483
5712        __cil_tmp176 = (char *)__cil_tmp175;
5713#line 483
5714        strlcat(__cil_tmp176, " 2FG", 64UL);
5715        }
5716        {
5717#line 484
5718        __cil_tmp177 = (unsigned long )w8001;
5719#line 484
5720        __cil_tmp178 = __cil_tmp177 + 140;
5721#line 484
5722        if (*((u16 *)__cil_tmp178)) {
5723          {
5724#line 484
5725          __cil_tmp179 = (unsigned long )w8001;
5726#line 484
5727          __cil_tmp180 = __cil_tmp179 + 142;
5728#line 484
5729          if (*((u16 *)__cil_tmp180)) {
5730#line 485
5731            __cil_tmp181 = (unsigned long )w8001;
5732#line 485
5733            __cil_tmp182 = __cil_tmp181 + 64;
5734#line 485
5735            *((int *)__cil_tmp182) = 227;
5736          } else {
5737#line 487
5738            __cil_tmp183 = (unsigned long )w8001;
5739#line 487
5740            __cil_tmp184 = __cil_tmp183 + 64;
5741#line 487
5742            *((int *)__cil_tmp184) = 226;
5743          }
5744          }
5745        } else {
5746#line 487
5747          __cil_tmp185 = (unsigned long )w8001;
5748#line 487
5749          __cil_tmp186 = __cil_tmp185 + 64;
5750#line 487
5751          *((int *)__cil_tmp186) = 226;
5752        }
5753        }
5754#line 488
5755        goto switch_break;
5756      } else {
5757        switch_break: /* CIL Label */ ;
5758      }
5759      }
5760    } else {
5761
5762    }
5763    }
5764  } else {
5765
5766  }
5767  {
5768#line 492
5769  __cil_tmp187 = 0 * 1UL;
5770#line 492
5771  __cil_tmp188 = 144 + __cil_tmp187;
5772#line 492
5773  __cil_tmp189 = (unsigned long )w8001;
5774#line 492
5775  __cil_tmp190 = __cil_tmp189 + __cil_tmp188;
5776#line 492
5777  __cil_tmp191 = (char *)__cil_tmp190;
5778#line 492
5779  strlcat(__cil_tmp191, " Touchscreen", 64UL);
5780  }
5781#line 494
5782  return (0);
5783}
5784}
5785#line 501 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
5786static void w8001_disconnect(struct serio *serio ) 
5787{ struct w8001 *w8001 ;
5788  void *tmp ;
5789  struct input_dev *__cil_tmp4 ;
5790  void const   *__cil_tmp5 ;
5791  void *__cil_tmp6 ;
5792
5793  {
5794  {
5795#line 503
5796  tmp = serio_get_drvdata(serio);
5797#line 503
5798  w8001 = (struct w8001 *)tmp;
5799#line 505
5800  serio_close(serio);
5801#line 507
5802  __cil_tmp4 = *((struct input_dev **)w8001);
5803#line 507
5804  input_unregister_device(__cil_tmp4);
5805#line 508
5806  __cil_tmp5 = (void const   *)w8001;
5807#line 508
5808  kfree(__cil_tmp5);
5809#line 510
5810  __cil_tmp6 = (void *)0;
5811#line 510
5812  serio_set_drvdata(serio, __cil_tmp6);
5813  }
5814#line 511
5815  return;
5816}
5817}
5818#line 519 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
5819static int w8001_connect(struct serio *serio , struct serio_driver *drv ) 
5820{ struct w8001 *w8001 ;
5821  struct input_dev *input_dev ;
5822  int err ;
5823  void *tmp ;
5824  unsigned long __cil_tmp7 ;
5825  unsigned long __cil_tmp8 ;
5826  unsigned long __cil_tmp9 ;
5827  unsigned long __cil_tmp10 ;
5828  struct completion *__cil_tmp11 ;
5829  unsigned long __cil_tmp12 ;
5830  unsigned long __cil_tmp13 ;
5831  unsigned long __cil_tmp14 ;
5832  unsigned long __cil_tmp15 ;
5833  char *__cil_tmp16 ;
5834  unsigned long __cil_tmp17 ;
5835  unsigned long __cil_tmp18 ;
5836  unsigned long __cil_tmp19 ;
5837  unsigned long __cil_tmp20 ;
5838  char *__cil_tmp21 ;
5839  void *__cil_tmp22 ;
5840  unsigned long __cil_tmp23 ;
5841  unsigned long __cil_tmp24 ;
5842  unsigned long __cil_tmp25 ;
5843  unsigned long __cil_tmp26 ;
5844  char *__cil_tmp27 ;
5845  unsigned long __cil_tmp28 ;
5846  unsigned long __cil_tmp29 ;
5847  unsigned long __cil_tmp30 ;
5848  unsigned long __cil_tmp31 ;
5849  unsigned long __cil_tmp32 ;
5850  unsigned long __cil_tmp33 ;
5851  char *__cil_tmp34 ;
5852  unsigned long __cil_tmp35 ;
5853  unsigned long __cil_tmp36 ;
5854  unsigned long __cil_tmp37 ;
5855  unsigned long __cil_tmp38 ;
5856  unsigned long __cil_tmp39 ;
5857  int __cil_tmp40 ;
5858  unsigned long __cil_tmp41 ;
5859  unsigned long __cil_tmp42 ;
5860  unsigned long __cil_tmp43 ;
5861  unsigned long __cil_tmp44 ;
5862  unsigned long __cil_tmp45 ;
5863  unsigned long __cil_tmp46 ;
5864  unsigned long __cil_tmp47 ;
5865  unsigned long __cil_tmp48 ;
5866  unsigned long __cil_tmp49 ;
5867  unsigned long __cil_tmp50 ;
5868  unsigned long __cil_tmp51 ;
5869  unsigned long __cil_tmp52 ;
5870  unsigned long __cil_tmp53 ;
5871  unsigned long __cil_tmp54 ;
5872  unsigned long __cil_tmp55 ;
5873  unsigned long __cil_tmp56 ;
5874  void *__cil_tmp57 ;
5875  struct input_dev *__cil_tmp58 ;
5876  void *__cil_tmp59 ;
5877  void const   *__cil_tmp60 ;
5878
5879  {
5880  {
5881#line 525
5882  tmp = kzalloc(208UL, 208U);
5883#line 525
5884  w8001 = (struct w8001 *)tmp;
5885#line 526
5886  input_dev = input_allocate_device();
5887  }
5888#line 527
5889  if (! w8001) {
5890#line 528
5891    err = -12;
5892#line 529
5893    goto fail1;
5894  } else
5895#line 527
5896  if (! input_dev) {
5897#line 528
5898    err = -12;
5899#line 529
5900    goto fail1;
5901  } else {
5902
5903  }
5904  {
5905#line 532
5906  __cil_tmp7 = (unsigned long )w8001;
5907#line 532
5908  __cil_tmp8 = __cil_tmp7 + 8;
5909#line 532
5910  *((struct serio **)__cil_tmp8) = serio;
5911#line 533
5912  *((struct input_dev **)w8001) = input_dev;
5913#line 534
5914  __cil_tmp9 = (unsigned long )w8001;
5915#line 534
5916  __cil_tmp10 = __cil_tmp9 + 16;
5917#line 534
5918  __cil_tmp11 = (struct completion *)__cil_tmp10;
5919#line 534
5920  init_completion(__cil_tmp11);
5921#line 535
5922  __cil_tmp12 = 0 * 1UL;
5923#line 535
5924  __cil_tmp13 = 95 + __cil_tmp12;
5925#line 535
5926  __cil_tmp14 = (unsigned long )w8001;
5927#line 535
5928  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
5929#line 535
5930  __cil_tmp16 = (char *)__cil_tmp15;
5931#line 535
5932  __cil_tmp17 = 0 * 1UL;
5933#line 535
5934  __cil_tmp18 = 40 + __cil_tmp17;
5935#line 535
5936  __cil_tmp19 = (unsigned long )serio;
5937#line 535
5938  __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
5939#line 535
5940  __cil_tmp21 = (char *)__cil_tmp20;
5941#line 535
5942  snprintf(__cil_tmp16, 32UL, "%s/input0", __cil_tmp21);
5943#line 537
5944  __cil_tmp22 = (void *)w8001;
5945#line 537
5946  serio_set_drvdata(serio, __cil_tmp22);
5947#line 538
5948  err = serio_open(serio, drv);
5949  }
5950#line 539
5951  if (err) {
5952#line 540
5953    goto fail2;
5954  } else {
5955
5956  }
5957  {
5958#line 542
5959  err = w8001_setup(w8001);
5960  }
5961#line 543
5962  if (err) {
5963#line 544
5964    goto fail3;
5965  } else {
5966
5967  }
5968  {
5969#line 546
5970  __cil_tmp23 = 0 * 1UL;
5971#line 546
5972  __cil_tmp24 = 144 + __cil_tmp23;
5973#line 546
5974  __cil_tmp25 = (unsigned long )w8001;
5975#line 546
5976  __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
5977#line 546
5978  __cil_tmp27 = (char *)__cil_tmp26;
5979#line 546
5980  *((char const   **)input_dev) = (char const   *)__cil_tmp27;
5981#line 547
5982  __cil_tmp28 = (unsigned long )input_dev;
5983#line 547
5984  __cil_tmp29 = __cil_tmp28 + 8;
5985#line 547
5986  __cil_tmp30 = 0 * 1UL;
5987#line 547
5988  __cil_tmp31 = 95 + __cil_tmp30;
5989#line 547
5990  __cil_tmp32 = (unsigned long )w8001;
5991#line 547
5992  __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
5993#line 547
5994  __cil_tmp34 = (char *)__cil_tmp33;
5995#line 547
5996  *((char const   **)__cil_tmp29) = (char const   *)__cil_tmp34;
5997#line 548
5998  __cil_tmp35 = 24 + 4;
5999#line 548
6000  __cil_tmp36 = (unsigned long )input_dev;
6001#line 548
6002  __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
6003#line 548
6004  __cil_tmp38 = (unsigned long )w8001;
6005#line 548
6006  __cil_tmp39 = __cil_tmp38 + 64;
6007#line 548
6008  __cil_tmp40 = *((int *)__cil_tmp39);
6009#line 548
6010  *((__u16 *)__cil_tmp37) = (__u16 )__cil_tmp40;
6011#line 549
6012  __cil_tmp41 = (unsigned long )input_dev;
6013#line 549
6014  __cil_tmp42 = __cil_tmp41 + 24;
6015#line 549
6016  *((__u16 *)__cil_tmp42) = (__u16 )19;
6017#line 550
6018  __cil_tmp43 = 24 + 2;
6019#line 550
6020  __cil_tmp44 = (unsigned long )input_dev;
6021#line 550
6022  __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
6023#line 550
6024  *((__u16 *)__cil_tmp45) = (__u16 )1386;
6025#line 551
6026  __cil_tmp46 = 24 + 6;
6027#line 551
6028  __cil_tmp47 = (unsigned long )input_dev;
6029#line 551
6030  __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
6031#line 551
6032  *((__u16 *)__cil_tmp48) = (__u16 )256;
6033#line 552
6034  __cil_tmp49 = (unsigned long )input_dev;
6035#line 552
6036  __cil_tmp50 = __cil_tmp49 + 648;
6037#line 552
6038  __cil_tmp51 = (unsigned long )serio;
6039#line 552
6040  __cil_tmp52 = __cil_tmp51 + 272;
6041#line 552
6042  *((struct device **)__cil_tmp50) = (struct device *)__cil_tmp52;
6043#line 554
6044  __cil_tmp53 = (unsigned long )input_dev;
6045#line 554
6046  __cil_tmp54 = __cil_tmp53 + 504;
6047#line 554
6048  *((int (**)(struct input_dev *dev ))__cil_tmp54) = & w8001_open;
6049#line 555
6050  __cil_tmp55 = (unsigned long )input_dev;
6051#line 555
6052  __cil_tmp56 = __cil_tmp55 + 512;
6053#line 555
6054  *((void (**)(struct input_dev *dev ))__cil_tmp56) = & w8001_close;
6055#line 557
6056  __cil_tmp57 = (void *)w8001;
6057#line 557
6058  input_set_drvdata(input_dev, __cil_tmp57);
6059#line 559
6060  __cil_tmp58 = *((struct input_dev **)w8001);
6061#line 559
6062  err = (int )input_register_device(__cil_tmp58);
6063  }
6064#line 560
6065  if (err) {
6066#line 561
6067    goto fail3;
6068  } else {
6069
6070  }
6071#line 563
6072  return (0);
6073  fail3: 
6074  {
6075#line 566
6076  serio_close(serio);
6077  }
6078  fail2: 
6079  {
6080#line 568
6081  __cil_tmp59 = (void *)0;
6082#line 568
6083  serio_set_drvdata(serio, __cil_tmp59);
6084  }
6085  fail1: 
6086  {
6087#line 570
6088  input_free_device(input_dev);
6089#line 571
6090  __cil_tmp60 = (void const   *)w8001;
6091#line 571
6092  kfree(__cil_tmp60);
6093  }
6094#line 572
6095  return (err);
6096}
6097}
6098#line 575 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6099static struct serio_device_id w8001_serio_ids[2]  = {      {(__u8 )2, (__u8 )255, (__u8 )255, (__u8 )57}, 
6100        {(__u8 )0, (unsigned char)0, (unsigned char)0, (unsigned char)0}};
6101#line 585
6102extern struct serio_device_id  const  __mod_serio_device_table  __attribute__((__unused__,
6103__alias__("w8001_serio_ids"))) ;
6104#line 587 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6105static struct serio_driver w8001_drv  = 
6106#line 587
6107     {"Wacom W8001 serial touchscreen driver", (struct serio_device_id  const  *)(w8001_serio_ids),
6108    (_Bool)0, (void (*)(struct serio * ))0, & w8001_interrupt, & w8001_connect, (int (*)(struct serio * ))0,
6109    & w8001_disconnect, (void (*)(struct serio * ))0, {"w8001", (struct bus_type *)0,
6110                                                       (struct module *)0, (char const   *)0,
6111                                                       (_Bool)0, (struct of_device_id  const  *)0,
6112                                                       (int (*)(struct device *dev ))0,
6113                                                       (int (*)(struct device *dev ))0,
6114                                                       (void (*)(struct device *dev ))0,
6115                                                       (int (*)(struct device *dev ,
6116                                                                pm_message_t state ))0,
6117                                                       (int (*)(struct device *dev ))0,
6118                                                       (struct attribute_group  const  **)0,
6119                                                       (struct dev_pm_ops  const  *)0,
6120                                                       (struct driver_private *)0}};
6121#line 598
6122static int w8001_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
6123#line 598 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6124static int w8001_init(void) 
6125{ int tmp ;
6126
6127  {
6128  {
6129#line 600
6130  tmp = (int )__serio_register_driver(& w8001_drv, & __this_module, "wacom_w8001");
6131  }
6132#line 600
6133  return (tmp);
6134}
6135}
6136#line 603
6137static void w8001_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
6138#line 603 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6139static void w8001_exit(void) 
6140{ 
6141
6142  {
6143  {
6144#line 605
6145  serio_unregister_driver(& w8001_drv);
6146  }
6147#line 606
6148  return;
6149}
6150}
6151#line 608 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6152int init_module(void) 
6153{ int tmp ;
6154
6155  {
6156  {
6157#line 608
6158  tmp = w8001_init();
6159  }
6160#line 608
6161  return (tmp);
6162}
6163}
6164#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6165void cleanup_module(void) 
6166{ 
6167
6168  {
6169  {
6170#line 609
6171  w8001_exit();
6172  }
6173#line 609
6174  return;
6175}
6176}
6177#line 627
6178void ldv_check_final_state(void) ;
6179#line 630
6180extern void ldv_check_return_value(int res ) ;
6181#line 633
6182extern void ldv_initialize(void) ;
6183#line 636
6184extern int __VERIFIER_nondet_int(void) ;
6185#line 639 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6186int LDV_IN_INTERRUPT  ;
6187#line 704 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6188static int res_w8001_connect_13  ;
6189#line 642 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6190void main(void) 
6191{ struct serio *var_group1 ;
6192  unsigned char var_w8001_interrupt_7_p1 ;
6193  unsigned int var_w8001_interrupt_7_p2 ;
6194  struct serio_driver *var_group2 ;
6195  int tmp ;
6196  int ldv_s_w8001_drv_serio_driver ;
6197  int tmp___0 ;
6198  int tmp___1 ;
6199  int __cil_tmp9 ;
6200
6201  {
6202  {
6203#line 735
6204  LDV_IN_INTERRUPT = 1;
6205#line 744
6206  ldv_initialize();
6207#line 771
6208  tmp = w8001_init();
6209  }
6210#line 771
6211  if (tmp) {
6212#line 772
6213    goto ldv_final;
6214  } else {
6215
6216  }
6217#line 773
6218  ldv_s_w8001_drv_serio_driver = 0;
6219  {
6220#line 777
6221  while (1) {
6222    while_continue: /* CIL Label */ ;
6223    {
6224#line 777
6225    tmp___1 = __VERIFIER_nondet_int();
6226    }
6227#line 777
6228    if (tmp___1) {
6229
6230    } else {
6231      {
6232#line 777
6233      __cil_tmp9 = ldv_s_w8001_drv_serio_driver == 0;
6234#line 777
6235      if (! __cil_tmp9) {
6236
6237      } else {
6238#line 777
6239        goto while_break;
6240      }
6241      }
6242    }
6243    {
6244#line 781
6245    tmp___0 = __VERIFIER_nondet_int();
6246    }
6247#line 783
6248    if (tmp___0 == 0) {
6249#line 783
6250      goto case_0;
6251    } else
6252#line 823
6253    if (tmp___0 == 1) {
6254#line 823
6255      goto case_1;
6256    } else
6257#line 860
6258    if (tmp___0 == 2) {
6259#line 860
6260      goto case_2;
6261    } else {
6262      {
6263#line 897
6264      goto switch_default;
6265#line 781
6266      if (0) {
6267        case_0: /* CIL Label */ 
6268#line 786
6269        if (ldv_s_w8001_drv_serio_driver == 0) {
6270          {
6271#line 812
6272          res_w8001_connect_13 = w8001_connect(var_group1, var_group2);
6273#line 813
6274          ldv_check_return_value(res_w8001_connect_13);
6275          }
6276#line 814
6277          if (res_w8001_connect_13) {
6278#line 815
6279            goto ldv_module_exit;
6280          } else {
6281
6282          }
6283#line 816
6284          ldv_s_w8001_drv_serio_driver = ldv_s_w8001_drv_serio_driver + 1;
6285        } else {
6286
6287        }
6288#line 822
6289        goto switch_break;
6290        case_1: /* CIL Label */ 
6291#line 826
6292        if (ldv_s_w8001_drv_serio_driver == 1) {
6293          {
6294#line 852
6295          w8001_disconnect(var_group1);
6296#line 853
6297          ldv_s_w8001_drv_serio_driver = 0;
6298          }
6299        } else {
6300
6301        }
6302#line 859
6303        goto switch_break;
6304        case_2: /* CIL Label */ 
6305        {
6306#line 889
6307        w8001_interrupt(var_group1, var_w8001_interrupt_7_p1, var_w8001_interrupt_7_p2);
6308        }
6309#line 896
6310        goto switch_break;
6311        switch_default: /* CIL Label */ 
6312#line 897
6313        goto switch_break;
6314      } else {
6315        switch_break: /* CIL Label */ ;
6316      }
6317      }
6318    }
6319  }
6320  while_break: /* CIL Label */ ;
6321  }
6322  ldv_module_exit: 
6323  {
6324#line 930
6325  w8001_exit();
6326  }
6327  ldv_final: 
6328  {
6329#line 933
6330  ldv_check_final_state();
6331  }
6332#line 936
6333  return;
6334}
6335}
6336#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
6337void ldv_blast_assert(void) 
6338{ 
6339
6340  {
6341  ERROR: 
6342#line 6
6343  goto ERROR;
6344}
6345}
6346#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
6347extern int __VERIFIER_nondet_int(void) ;
6348#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6349int ldv_mutex  =    1;
6350#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6351int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
6352{ int nondetermined ;
6353
6354  {
6355#line 29
6356  if (ldv_mutex == 1) {
6357
6358  } else {
6359    {
6360#line 29
6361    ldv_blast_assert();
6362    }
6363  }
6364  {
6365#line 32
6366  nondetermined = __VERIFIER_nondet_int();
6367  }
6368#line 35
6369  if (nondetermined) {
6370#line 38
6371    ldv_mutex = 2;
6372#line 40
6373    return (0);
6374  } else {
6375#line 45
6376    return (-4);
6377  }
6378}
6379}
6380#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6381int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
6382{ int nondetermined ;
6383
6384  {
6385#line 57
6386  if (ldv_mutex == 1) {
6387
6388  } else {
6389    {
6390#line 57
6391    ldv_blast_assert();
6392    }
6393  }
6394  {
6395#line 60
6396  nondetermined = __VERIFIER_nondet_int();
6397  }
6398#line 63
6399  if (nondetermined) {
6400#line 66
6401    ldv_mutex = 2;
6402#line 68
6403    return (0);
6404  } else {
6405#line 73
6406    return (-4);
6407  }
6408}
6409}
6410#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6411int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
6412{ int atomic_value_after_dec ;
6413
6414  {
6415#line 83
6416  if (ldv_mutex == 1) {
6417
6418  } else {
6419    {
6420#line 83
6421    ldv_blast_assert();
6422    }
6423  }
6424  {
6425#line 86
6426  atomic_value_after_dec = __VERIFIER_nondet_int();
6427  }
6428#line 89
6429  if (atomic_value_after_dec == 0) {
6430#line 92
6431    ldv_mutex = 2;
6432#line 94
6433    return (1);
6434  } else {
6435
6436  }
6437#line 98
6438  return (0);
6439}
6440}
6441#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6442void mutex_lock(struct mutex *lock ) 
6443{ 
6444
6445  {
6446#line 108
6447  if (ldv_mutex == 1) {
6448
6449  } else {
6450    {
6451#line 108
6452    ldv_blast_assert();
6453    }
6454  }
6455#line 110
6456  ldv_mutex = 2;
6457#line 111
6458  return;
6459}
6460}
6461#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6462int mutex_trylock(struct mutex *lock ) 
6463{ int nondetermined ;
6464
6465  {
6466#line 121
6467  if (ldv_mutex == 1) {
6468
6469  } else {
6470    {
6471#line 121
6472    ldv_blast_assert();
6473    }
6474  }
6475  {
6476#line 124
6477  nondetermined = __VERIFIER_nondet_int();
6478  }
6479#line 127
6480  if (nondetermined) {
6481#line 130
6482    ldv_mutex = 2;
6483#line 132
6484    return (1);
6485  } else {
6486#line 137
6487    return (0);
6488  }
6489}
6490}
6491#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6492void mutex_unlock(struct mutex *lock ) 
6493{ 
6494
6495  {
6496#line 147
6497  if (ldv_mutex == 2) {
6498
6499  } else {
6500    {
6501#line 147
6502    ldv_blast_assert();
6503    }
6504  }
6505#line 149
6506  ldv_mutex = 1;
6507#line 150
6508  return;
6509}
6510}
6511#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6512void ldv_check_final_state(void) 
6513{ 
6514
6515  {
6516#line 156
6517  if (ldv_mutex == 1) {
6518
6519  } else {
6520    {
6521#line 156
6522    ldv_blast_assert();
6523    }
6524  }
6525#line 157
6526  return;
6527}
6528}
6529#line 945 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6530long s__builtin_expect(long val , long res ) 
6531{ 
6532
6533  {
6534#line 946
6535  return (val);
6536}
6537}