Showing error 810

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