Showing error 872

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