Showing error 288

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


Source:

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