Showing error 856

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--mouse--gpio_mouse.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3455
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 206 "include/linux/types.h"
  77typedef u64 phys_addr_t;
  78#line 211 "include/linux/types.h"
  79typedef phys_addr_t resource_size_t;
  80#line 221 "include/linux/types.h"
  81struct __anonstruct_atomic_t_6 {
  82   int counter ;
  83};
  84#line 221 "include/linux/types.h"
  85typedef struct __anonstruct_atomic_t_6 atomic_t;
  86#line 226 "include/linux/types.h"
  87struct __anonstruct_atomic64_t_7 {
  88   long counter ;
  89};
  90#line 226 "include/linux/types.h"
  91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  92#line 227 "include/linux/types.h"
  93struct list_head {
  94   struct list_head *next ;
  95   struct list_head *prev ;
  96};
  97#line 232
  98struct hlist_node;
  99#line 232 "include/linux/types.h"
 100struct hlist_head {
 101   struct hlist_node *first ;
 102};
 103#line 236 "include/linux/types.h"
 104struct hlist_node {
 105   struct hlist_node *next ;
 106   struct hlist_node **pprev ;
 107};
 108#line 247 "include/linux/types.h"
 109struct rcu_head {
 110   struct rcu_head *next ;
 111   void (*func)(struct rcu_head * ) ;
 112};
 113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 114struct module;
 115#line 55
 116struct module;
 117#line 146 "include/linux/init.h"
 118typedef void (*ctor_fn_t)(void);
 119#line 305 "include/linux/printk.h"
 120struct _ddebug {
 121   char const   *modname ;
 122   char const   *function ;
 123   char const   *filename ;
 124   char const   *format ;
 125   unsigned int lineno : 18 ;
 126   unsigned char flags ;
 127};
 128#line 46 "include/linux/dynamic_debug.h"
 129struct device;
 130#line 46
 131struct device;
 132#line 57
 133struct completion;
 134#line 57
 135struct completion;
 136#line 348 "include/linux/kernel.h"
 137struct pid;
 138#line 348
 139struct pid;
 140#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 141struct timespec;
 142#line 112
 143struct timespec;
 144#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 145struct page;
 146#line 58
 147struct page;
 148#line 26 "include/asm-generic/getorder.h"
 149struct task_struct;
 150#line 26
 151struct task_struct;
 152#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 153struct file;
 154#line 290
 155struct file;
 156#line 305
 157struct seq_file;
 158#line 305
 159struct seq_file;
 160#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 161struct arch_spinlock;
 162#line 327
 163struct arch_spinlock;
 164#line 306 "include/linux/bitmap.h"
 165struct bug_entry {
 166   int bug_addr_disp ;
 167   int file_disp ;
 168   unsigned short line ;
 169   unsigned short flags ;
 170};
 171#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 172struct static_key;
 173#line 234
 174struct static_key;
 175#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 176struct kmem_cache;
 177#line 23 "include/asm-generic/atomic-long.h"
 178typedef atomic64_t atomic_long_t;
 179#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 180typedef u16 __ticket_t;
 181#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 182typedef u32 __ticketpair_t;
 183#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 184struct __raw_tickets {
 185   __ticket_t head ;
 186   __ticket_t tail ;
 187};
 188#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 189union __anonunion_ldv_5907_29 {
 190   __ticketpair_t head_tail ;
 191   struct __raw_tickets tickets ;
 192};
 193#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 194struct arch_spinlock {
 195   union __anonunion_ldv_5907_29 ldv_5907 ;
 196};
 197#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 198typedef struct arch_spinlock arch_spinlock_t;
 199#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 200struct __anonstruct_ldv_5914_31 {
 201   u32 read ;
 202   s32 write ;
 203};
 204#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 205union __anonunion_arch_rwlock_t_30 {
 206   s64 lock ;
 207   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 208};
 209#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 210typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 211#line 34
 212struct lockdep_map;
 213#line 34
 214struct lockdep_map;
 215#line 55 "include/linux/debug_locks.h"
 216struct stack_trace {
 217   unsigned int nr_entries ;
 218   unsigned int max_entries ;
 219   unsigned long *entries ;
 220   int skip ;
 221};
 222#line 26 "include/linux/stacktrace.h"
 223struct lockdep_subclass_key {
 224   char __one_byte ;
 225};
 226#line 53 "include/linux/lockdep.h"
 227struct lock_class_key {
 228   struct lockdep_subclass_key subkeys[8U] ;
 229};
 230#line 59 "include/linux/lockdep.h"
 231struct lock_class {
 232   struct list_head hash_entry ;
 233   struct list_head lock_entry ;
 234   struct lockdep_subclass_key *key ;
 235   unsigned int subclass ;
 236   unsigned int dep_gen_id ;
 237   unsigned long usage_mask ;
 238   struct stack_trace usage_traces[13U] ;
 239   struct list_head locks_after ;
 240   struct list_head locks_before ;
 241   unsigned int version ;
 242   unsigned long ops ;
 243   char const   *name ;
 244   int name_version ;
 245   unsigned long contention_point[4U] ;
 246   unsigned long contending_point[4U] ;
 247};
 248#line 144 "include/linux/lockdep.h"
 249struct lockdep_map {
 250   struct lock_class_key *key ;
 251   struct lock_class *class_cache[2U] ;
 252   char const   *name ;
 253   int cpu ;
 254   unsigned long ip ;
 255};
 256#line 556 "include/linux/lockdep.h"
 257struct raw_spinlock {
 258   arch_spinlock_t raw_lock ;
 259   unsigned int magic ;
 260   unsigned int owner_cpu ;
 261   void *owner ;
 262   struct lockdep_map dep_map ;
 263};
 264#line 32 "include/linux/spinlock_types.h"
 265typedef struct raw_spinlock raw_spinlock_t;
 266#line 33 "include/linux/spinlock_types.h"
 267struct __anonstruct_ldv_6122_33 {
 268   u8 __padding[24U] ;
 269   struct lockdep_map dep_map ;
 270};
 271#line 33 "include/linux/spinlock_types.h"
 272union __anonunion_ldv_6123_32 {
 273   struct raw_spinlock rlock ;
 274   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 275};
 276#line 33 "include/linux/spinlock_types.h"
 277struct spinlock {
 278   union __anonunion_ldv_6123_32 ldv_6123 ;
 279};
 280#line 76 "include/linux/spinlock_types.h"
 281typedef struct spinlock spinlock_t;
 282#line 23 "include/linux/rwlock_types.h"
 283struct __anonstruct_rwlock_t_34 {
 284   arch_rwlock_t raw_lock ;
 285   unsigned int magic ;
 286   unsigned int owner_cpu ;
 287   void *owner ;
 288   struct lockdep_map dep_map ;
 289};
 290#line 23 "include/linux/rwlock_types.h"
 291typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 292#line 110 "include/linux/seqlock.h"
 293struct seqcount {
 294   unsigned int sequence ;
 295};
 296#line 121 "include/linux/seqlock.h"
 297typedef struct seqcount seqcount_t;
 298#line 254 "include/linux/seqlock.h"
 299struct timespec {
 300   __kernel_time_t tv_sec ;
 301   long tv_nsec ;
 302};
 303#line 286 "include/linux/time.h"
 304struct kstat {
 305   u64 ino ;
 306   dev_t dev ;
 307   umode_t mode ;
 308   unsigned int nlink ;
 309   uid_t uid ;
 310   gid_t gid ;
 311   dev_t rdev ;
 312   loff_t size ;
 313   struct timespec atime ;
 314   struct timespec mtime ;
 315   struct timespec ctime ;
 316   unsigned long blksize ;
 317   unsigned long long blocks ;
 318};
 319#line 48 "include/linux/wait.h"
 320struct __wait_queue_head {
 321   spinlock_t lock ;
 322   struct list_head task_list ;
 323};
 324#line 53 "include/linux/wait.h"
 325typedef struct __wait_queue_head wait_queue_head_t;
 326#line 670 "include/linux/mmzone.h"
 327struct mutex {
 328   atomic_t count ;
 329   spinlock_t wait_lock ;
 330   struct list_head wait_list ;
 331   struct task_struct *owner ;
 332   char const   *name ;
 333   void *magic ;
 334   struct lockdep_map dep_map ;
 335};
 336#line 171 "include/linux/mutex.h"
 337struct rw_semaphore;
 338#line 171
 339struct rw_semaphore;
 340#line 172 "include/linux/mutex.h"
 341struct rw_semaphore {
 342   long count ;
 343   raw_spinlock_t wait_lock ;
 344   struct list_head wait_list ;
 345   struct lockdep_map dep_map ;
 346};
 347#line 128 "include/linux/rwsem.h"
 348struct completion {
 349   unsigned int done ;
 350   wait_queue_head_t wait ;
 351};
 352#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 353struct resource {
 354   resource_size_t start ;
 355   resource_size_t end ;
 356   char const   *name ;
 357   unsigned long flags ;
 358   struct resource *parent ;
 359   struct resource *sibling ;
 360   struct resource *child ;
 361};
 362#line 312 "include/linux/jiffies.h"
 363union ktime {
 364   s64 tv64 ;
 365};
 366#line 59 "include/linux/ktime.h"
 367typedef union ktime ktime_t;
 368#line 341
 369struct tvec_base;
 370#line 341
 371struct tvec_base;
 372#line 342 "include/linux/ktime.h"
 373struct timer_list {
 374   struct list_head entry ;
 375   unsigned long expires ;
 376   struct tvec_base *base ;
 377   void (*function)(unsigned long  ) ;
 378   unsigned long data ;
 379   int slack ;
 380   int start_pid ;
 381   void *start_site ;
 382   char start_comm[16U] ;
 383   struct lockdep_map lockdep_map ;
 384};
 385#line 302 "include/linux/timer.h"
 386struct work_struct;
 387#line 302
 388struct work_struct;
 389#line 45 "include/linux/workqueue.h"
 390struct work_struct {
 391   atomic_long_t data ;
 392   struct list_head entry ;
 393   void (*func)(struct work_struct * ) ;
 394   struct lockdep_map lockdep_map ;
 395};
 396#line 86 "include/linux/workqueue.h"
 397struct delayed_work {
 398   struct work_struct work ;
 399   struct timer_list timer ;
 400};
 401#line 46 "include/linux/pm.h"
 402struct pm_message {
 403   int event ;
 404};
 405#line 52 "include/linux/pm.h"
 406typedef struct pm_message pm_message_t;
 407#line 53 "include/linux/pm.h"
 408struct dev_pm_ops {
 409   int (*prepare)(struct device * ) ;
 410   void (*complete)(struct device * ) ;
 411   int (*suspend)(struct device * ) ;
 412   int (*resume)(struct device * ) ;
 413   int (*freeze)(struct device * ) ;
 414   int (*thaw)(struct device * ) ;
 415   int (*poweroff)(struct device * ) ;
 416   int (*restore)(struct device * ) ;
 417   int (*suspend_late)(struct device * ) ;
 418   int (*resume_early)(struct device * ) ;
 419   int (*freeze_late)(struct device * ) ;
 420   int (*thaw_early)(struct device * ) ;
 421   int (*poweroff_late)(struct device * ) ;
 422   int (*restore_early)(struct device * ) ;
 423   int (*suspend_noirq)(struct device * ) ;
 424   int (*resume_noirq)(struct device * ) ;
 425   int (*freeze_noirq)(struct device * ) ;
 426   int (*thaw_noirq)(struct device * ) ;
 427   int (*poweroff_noirq)(struct device * ) ;
 428   int (*restore_noirq)(struct device * ) ;
 429   int (*runtime_suspend)(struct device * ) ;
 430   int (*runtime_resume)(struct device * ) ;
 431   int (*runtime_idle)(struct device * ) ;
 432};
 433#line 289
 434enum rpm_status {
 435    RPM_ACTIVE = 0,
 436    RPM_RESUMING = 1,
 437    RPM_SUSPENDED = 2,
 438    RPM_SUSPENDING = 3
 439} ;
 440#line 296
 441enum rpm_request {
 442    RPM_REQ_NONE = 0,
 443    RPM_REQ_IDLE = 1,
 444    RPM_REQ_SUSPEND = 2,
 445    RPM_REQ_AUTOSUSPEND = 3,
 446    RPM_REQ_RESUME = 4
 447} ;
 448#line 304
 449struct wakeup_source;
 450#line 304
 451struct wakeup_source;
 452#line 494 "include/linux/pm.h"
 453struct pm_subsys_data {
 454   spinlock_t lock ;
 455   unsigned int refcount ;
 456};
 457#line 499
 458struct dev_pm_qos_request;
 459#line 499
 460struct pm_qos_constraints;
 461#line 499 "include/linux/pm.h"
 462struct dev_pm_info {
 463   pm_message_t power_state ;
 464   unsigned char can_wakeup : 1 ;
 465   unsigned char async_suspend : 1 ;
 466   bool is_prepared ;
 467   bool is_suspended ;
 468   bool ignore_children ;
 469   spinlock_t lock ;
 470   struct list_head entry ;
 471   struct completion completion ;
 472   struct wakeup_source *wakeup ;
 473   bool wakeup_path ;
 474   struct timer_list suspend_timer ;
 475   unsigned long timer_expires ;
 476   struct work_struct work ;
 477   wait_queue_head_t wait_queue ;
 478   atomic_t usage_count ;
 479   atomic_t child_count ;
 480   unsigned char disable_depth : 3 ;
 481   unsigned char idle_notification : 1 ;
 482   unsigned char request_pending : 1 ;
 483   unsigned char deferred_resume : 1 ;
 484   unsigned char run_wake : 1 ;
 485   unsigned char runtime_auto : 1 ;
 486   unsigned char no_callbacks : 1 ;
 487   unsigned char irq_safe : 1 ;
 488   unsigned char use_autosuspend : 1 ;
 489   unsigned char timer_autosuspends : 1 ;
 490   enum rpm_request request ;
 491   enum rpm_status runtime_status ;
 492   int runtime_error ;
 493   int autosuspend_delay ;
 494   unsigned long last_busy ;
 495   unsigned long active_jiffies ;
 496   unsigned long suspended_jiffies ;
 497   unsigned long accounting_timestamp ;
 498   ktime_t suspend_time ;
 499   s64 max_time_suspended_ns ;
 500   struct dev_pm_qos_request *pq_req ;
 501   struct pm_subsys_data *subsys_data ;
 502   struct pm_qos_constraints *constraints ;
 503};
 504#line 558 "include/linux/pm.h"
 505struct dev_pm_domain {
 506   struct dev_pm_ops ops ;
 507};
 508#line 18 "include/asm-generic/pci_iomap.h"
 509struct vm_area_struct;
 510#line 18
 511struct vm_area_struct;
 512#line 37 "include/linux/kmod.h"
 513struct cred;
 514#line 37
 515struct cred;
 516#line 18 "include/linux/elf.h"
 517typedef __u64 Elf64_Addr;
 518#line 19 "include/linux/elf.h"
 519typedef __u16 Elf64_Half;
 520#line 23 "include/linux/elf.h"
 521typedef __u32 Elf64_Word;
 522#line 24 "include/linux/elf.h"
 523typedef __u64 Elf64_Xword;
 524#line 193 "include/linux/elf.h"
 525struct elf64_sym {
 526   Elf64_Word st_name ;
 527   unsigned char st_info ;
 528   unsigned char st_other ;
 529   Elf64_Half st_shndx ;
 530   Elf64_Addr st_value ;
 531   Elf64_Xword st_size ;
 532};
 533#line 201 "include/linux/elf.h"
 534typedef struct elf64_sym Elf64_Sym;
 535#line 445
 536struct sock;
 537#line 445
 538struct sock;
 539#line 446
 540struct kobject;
 541#line 446
 542struct kobject;
 543#line 447
 544enum kobj_ns_type {
 545    KOBJ_NS_TYPE_NONE = 0,
 546    KOBJ_NS_TYPE_NET = 1,
 547    KOBJ_NS_TYPES = 2
 548} ;
 549#line 453 "include/linux/elf.h"
 550struct kobj_ns_type_operations {
 551   enum kobj_ns_type type ;
 552   void *(*grab_current_ns)(void) ;
 553   void const   *(*netlink_ns)(struct sock * ) ;
 554   void const   *(*initial_ns)(void) ;
 555   void (*drop_ns)(void * ) ;
 556};
 557#line 57 "include/linux/kobject_ns.h"
 558struct attribute {
 559   char const   *name ;
 560   umode_t mode ;
 561   struct lock_class_key *key ;
 562   struct lock_class_key skey ;
 563};
 564#line 33 "include/linux/sysfs.h"
 565struct attribute_group {
 566   char const   *name ;
 567   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 568   struct attribute **attrs ;
 569};
 570#line 62 "include/linux/sysfs.h"
 571struct bin_attribute {
 572   struct attribute attr ;
 573   size_t size ;
 574   void *private ;
 575   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 576                   loff_t  , size_t  ) ;
 577   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 578                    loff_t  , size_t  ) ;
 579   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 580};
 581#line 98 "include/linux/sysfs.h"
 582struct sysfs_ops {
 583   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 584   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 585   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 586};
 587#line 117
 588struct sysfs_dirent;
 589#line 117
 590struct sysfs_dirent;
 591#line 182 "include/linux/sysfs.h"
 592struct kref {
 593   atomic_t refcount ;
 594};
 595#line 49 "include/linux/kobject.h"
 596struct kset;
 597#line 49
 598struct kobj_type;
 599#line 49 "include/linux/kobject.h"
 600struct kobject {
 601   char const   *name ;
 602   struct list_head entry ;
 603   struct kobject *parent ;
 604   struct kset *kset ;
 605   struct kobj_type *ktype ;
 606   struct sysfs_dirent *sd ;
 607   struct kref kref ;
 608   unsigned char state_initialized : 1 ;
 609   unsigned char state_in_sysfs : 1 ;
 610   unsigned char state_add_uevent_sent : 1 ;
 611   unsigned char state_remove_uevent_sent : 1 ;
 612   unsigned char uevent_suppress : 1 ;
 613};
 614#line 107 "include/linux/kobject.h"
 615struct kobj_type {
 616   void (*release)(struct kobject * ) ;
 617   struct sysfs_ops  const  *sysfs_ops ;
 618   struct attribute **default_attrs ;
 619   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 620   void const   *(*namespace)(struct kobject * ) ;
 621};
 622#line 115 "include/linux/kobject.h"
 623struct kobj_uevent_env {
 624   char *envp[32U] ;
 625   int envp_idx ;
 626   char buf[2048U] ;
 627   int buflen ;
 628};
 629#line 122 "include/linux/kobject.h"
 630struct kset_uevent_ops {
 631   int (* const  filter)(struct kset * , struct kobject * ) ;
 632   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 633   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 634};
 635#line 139 "include/linux/kobject.h"
 636struct kset {
 637   struct list_head list ;
 638   spinlock_t list_lock ;
 639   struct kobject kobj ;
 640   struct kset_uevent_ops  const  *uevent_ops ;
 641};
 642#line 215
 643struct kernel_param;
 644#line 215
 645struct kernel_param;
 646#line 216 "include/linux/kobject.h"
 647struct kernel_param_ops {
 648   int (*set)(char const   * , struct kernel_param  const  * ) ;
 649   int (*get)(char * , struct kernel_param  const  * ) ;
 650   void (*free)(void * ) ;
 651};
 652#line 49 "include/linux/moduleparam.h"
 653struct kparam_string;
 654#line 49
 655struct kparam_array;
 656#line 49 "include/linux/moduleparam.h"
 657union __anonunion_ldv_13363_134 {
 658   void *arg ;
 659   struct kparam_string  const  *str ;
 660   struct kparam_array  const  *arr ;
 661};
 662#line 49 "include/linux/moduleparam.h"
 663struct kernel_param {
 664   char const   *name ;
 665   struct kernel_param_ops  const  *ops ;
 666   u16 perm ;
 667   s16 level ;
 668   union __anonunion_ldv_13363_134 ldv_13363 ;
 669};
 670#line 61 "include/linux/moduleparam.h"
 671struct kparam_string {
 672   unsigned int maxlen ;
 673   char *string ;
 674};
 675#line 67 "include/linux/moduleparam.h"
 676struct kparam_array {
 677   unsigned int max ;
 678   unsigned int elemsize ;
 679   unsigned int *num ;
 680   struct kernel_param_ops  const  *ops ;
 681   void *elem ;
 682};
 683#line 458 "include/linux/moduleparam.h"
 684struct static_key {
 685   atomic_t enabled ;
 686};
 687#line 225 "include/linux/jump_label.h"
 688struct tracepoint;
 689#line 225
 690struct tracepoint;
 691#line 226 "include/linux/jump_label.h"
 692struct tracepoint_func {
 693   void *func ;
 694   void *data ;
 695};
 696#line 29 "include/linux/tracepoint.h"
 697struct tracepoint {
 698   char const   *name ;
 699   struct static_key key ;
 700   void (*regfunc)(void) ;
 701   void (*unregfunc)(void) ;
 702   struct tracepoint_func *funcs ;
 703};
 704#line 86 "include/linux/tracepoint.h"
 705struct kernel_symbol {
 706   unsigned long value ;
 707   char const   *name ;
 708};
 709#line 27 "include/linux/export.h"
 710struct mod_arch_specific {
 711
 712};
 713#line 34 "include/linux/module.h"
 714struct module_param_attrs;
 715#line 34 "include/linux/module.h"
 716struct module_kobject {
 717   struct kobject kobj ;
 718   struct module *mod ;
 719   struct kobject *drivers_dir ;
 720   struct module_param_attrs *mp ;
 721};
 722#line 43 "include/linux/module.h"
 723struct module_attribute {
 724   struct attribute attr ;
 725   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 726   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 727                    size_t  ) ;
 728   void (*setup)(struct module * , char const   * ) ;
 729   int (*test)(struct module * ) ;
 730   void (*free)(struct module * ) ;
 731};
 732#line 69
 733struct exception_table_entry;
 734#line 69
 735struct exception_table_entry;
 736#line 198
 737enum module_state {
 738    MODULE_STATE_LIVE = 0,
 739    MODULE_STATE_COMING = 1,
 740    MODULE_STATE_GOING = 2
 741} ;
 742#line 204 "include/linux/module.h"
 743struct module_ref {
 744   unsigned long incs ;
 745   unsigned long decs ;
 746};
 747#line 219
 748struct module_sect_attrs;
 749#line 219
 750struct module_notes_attrs;
 751#line 219
 752struct ftrace_event_call;
 753#line 219 "include/linux/module.h"
 754struct module {
 755   enum module_state state ;
 756   struct list_head list ;
 757   char name[56U] ;
 758   struct module_kobject mkobj ;
 759   struct module_attribute *modinfo_attrs ;
 760   char const   *version ;
 761   char const   *srcversion ;
 762   struct kobject *holders_dir ;
 763   struct kernel_symbol  const  *syms ;
 764   unsigned long const   *crcs ;
 765   unsigned int num_syms ;
 766   struct kernel_param *kp ;
 767   unsigned int num_kp ;
 768   unsigned int num_gpl_syms ;
 769   struct kernel_symbol  const  *gpl_syms ;
 770   unsigned long const   *gpl_crcs ;
 771   struct kernel_symbol  const  *unused_syms ;
 772   unsigned long const   *unused_crcs ;
 773   unsigned int num_unused_syms ;
 774   unsigned int num_unused_gpl_syms ;
 775   struct kernel_symbol  const  *unused_gpl_syms ;
 776   unsigned long const   *unused_gpl_crcs ;
 777   struct kernel_symbol  const  *gpl_future_syms ;
 778   unsigned long const   *gpl_future_crcs ;
 779   unsigned int num_gpl_future_syms ;
 780   unsigned int num_exentries ;
 781   struct exception_table_entry *extable ;
 782   int (*init)(void) ;
 783   void *module_init ;
 784   void *module_core ;
 785   unsigned int init_size ;
 786   unsigned int core_size ;
 787   unsigned int init_text_size ;
 788   unsigned int core_text_size ;
 789   unsigned int init_ro_size ;
 790   unsigned int core_ro_size ;
 791   struct mod_arch_specific arch ;
 792   unsigned int taints ;
 793   unsigned int num_bugs ;
 794   struct list_head bug_list ;
 795   struct bug_entry *bug_table ;
 796   Elf64_Sym *symtab ;
 797   Elf64_Sym *core_symtab ;
 798   unsigned int num_symtab ;
 799   unsigned int core_num_syms ;
 800   char *strtab ;
 801   char *core_strtab ;
 802   struct module_sect_attrs *sect_attrs ;
 803   struct module_notes_attrs *notes_attrs ;
 804   char *args ;
 805   void *percpu ;
 806   unsigned int percpu_size ;
 807   unsigned int num_tracepoints ;
 808   struct tracepoint * const  *tracepoints_ptrs ;
 809   unsigned int num_trace_bprintk_fmt ;
 810   char const   **trace_bprintk_fmt_start ;
 811   struct ftrace_event_call **trace_events ;
 812   unsigned int num_trace_events ;
 813   struct list_head source_list ;
 814   struct list_head target_list ;
 815   struct task_struct *waiter ;
 816   void (*exit)(void) ;
 817   struct module_ref *refptr ;
 818   ctor_fn_t (**ctors)(void) ;
 819   unsigned int num_ctors ;
 820};
 821#line 88 "include/linux/kmemleak.h"
 822struct kmem_cache_cpu {
 823   void **freelist ;
 824   unsigned long tid ;
 825   struct page *page ;
 826   struct page *partial ;
 827   int node ;
 828   unsigned int stat[26U] ;
 829};
 830#line 55 "include/linux/slub_def.h"
 831struct kmem_cache_node {
 832   spinlock_t list_lock ;
 833   unsigned long nr_partial ;
 834   struct list_head partial ;
 835   atomic_long_t nr_slabs ;
 836   atomic_long_t total_objects ;
 837   struct list_head full ;
 838};
 839#line 66 "include/linux/slub_def.h"
 840struct kmem_cache_order_objects {
 841   unsigned long x ;
 842};
 843#line 76 "include/linux/slub_def.h"
 844struct kmem_cache {
 845   struct kmem_cache_cpu *cpu_slab ;
 846   unsigned long flags ;
 847   unsigned long min_partial ;
 848   int size ;
 849   int objsize ;
 850   int offset ;
 851   int cpu_partial ;
 852   struct kmem_cache_order_objects oo ;
 853   struct kmem_cache_order_objects max ;
 854   struct kmem_cache_order_objects min ;
 855   gfp_t allocflags ;
 856   int refcount ;
 857   void (*ctor)(void * ) ;
 858   int inuse ;
 859   int align ;
 860   int reserved ;
 861   char const   *name ;
 862   struct list_head list ;
 863   struct kobject kobj ;
 864   int remote_node_defrag_ratio ;
 865   struct kmem_cache_node *node[1024U] ;
 866};
 867#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
 868struct klist_node;
 869#line 15
 870struct klist_node;
 871#line 37 "include/linux/klist.h"
 872struct klist_node {
 873   void *n_klist ;
 874   struct list_head n_node ;
 875   struct kref n_ref ;
 876};
 877#line 67
 878struct dma_map_ops;
 879#line 67 "include/linux/klist.h"
 880struct dev_archdata {
 881   void *acpi_handle ;
 882   struct dma_map_ops *dma_ops ;
 883   void *iommu ;
 884};
 885#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 886struct pdev_archdata {
 887
 888};
 889#line 17
 890struct device_private;
 891#line 17
 892struct device_private;
 893#line 18
 894struct device_driver;
 895#line 18
 896struct device_driver;
 897#line 19
 898struct driver_private;
 899#line 19
 900struct driver_private;
 901#line 20
 902struct class;
 903#line 20
 904struct class;
 905#line 21
 906struct subsys_private;
 907#line 21
 908struct subsys_private;
 909#line 22
 910struct bus_type;
 911#line 22
 912struct bus_type;
 913#line 23
 914struct device_node;
 915#line 23
 916struct device_node;
 917#line 24
 918struct iommu_ops;
 919#line 24
 920struct iommu_ops;
 921#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 922struct bus_attribute {
 923   struct attribute attr ;
 924   ssize_t (*show)(struct bus_type * , char * ) ;
 925   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 926};
 927#line 51 "include/linux/device.h"
 928struct device_attribute;
 929#line 51
 930struct driver_attribute;
 931#line 51 "include/linux/device.h"
 932struct bus_type {
 933   char const   *name ;
 934   char const   *dev_name ;
 935   struct device *dev_root ;
 936   struct bus_attribute *bus_attrs ;
 937   struct device_attribute *dev_attrs ;
 938   struct driver_attribute *drv_attrs ;
 939   int (*match)(struct device * , struct device_driver * ) ;
 940   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 941   int (*probe)(struct device * ) ;
 942   int (*remove)(struct device * ) ;
 943   void (*shutdown)(struct device * ) ;
 944   int (*suspend)(struct device * , pm_message_t  ) ;
 945   int (*resume)(struct device * ) ;
 946   struct dev_pm_ops  const  *pm ;
 947   struct iommu_ops *iommu_ops ;
 948   struct subsys_private *p ;
 949};
 950#line 125
 951struct device_type;
 952#line 182
 953struct of_device_id;
 954#line 182 "include/linux/device.h"
 955struct device_driver {
 956   char const   *name ;
 957   struct bus_type *bus ;
 958   struct module *owner ;
 959   char const   *mod_name ;
 960   bool suppress_bind_attrs ;
 961   struct of_device_id  const  *of_match_table ;
 962   int (*probe)(struct device * ) ;
 963   int (*remove)(struct device * ) ;
 964   void (*shutdown)(struct device * ) ;
 965   int (*suspend)(struct device * , pm_message_t  ) ;
 966   int (*resume)(struct device * ) ;
 967   struct attribute_group  const  **groups ;
 968   struct dev_pm_ops  const  *pm ;
 969   struct driver_private *p ;
 970};
 971#line 245 "include/linux/device.h"
 972struct driver_attribute {
 973   struct attribute attr ;
 974   ssize_t (*show)(struct device_driver * , char * ) ;
 975   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 976};
 977#line 299
 978struct class_attribute;
 979#line 299 "include/linux/device.h"
 980struct class {
 981   char const   *name ;
 982   struct module *owner ;
 983   struct class_attribute *class_attrs ;
 984   struct device_attribute *dev_attrs ;
 985   struct bin_attribute *dev_bin_attrs ;
 986   struct kobject *dev_kobj ;
 987   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 988   char *(*devnode)(struct device * , umode_t * ) ;
 989   void (*class_release)(struct class * ) ;
 990   void (*dev_release)(struct device * ) ;
 991   int (*suspend)(struct device * , pm_message_t  ) ;
 992   int (*resume)(struct device * ) ;
 993   struct kobj_ns_type_operations  const  *ns_type ;
 994   void const   *(*namespace)(struct device * ) ;
 995   struct dev_pm_ops  const  *pm ;
 996   struct subsys_private *p ;
 997};
 998#line 394 "include/linux/device.h"
 999struct class_attribute {
1000   struct attribute attr ;
1001   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1002   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1003   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1004};
1005#line 447 "include/linux/device.h"
1006struct device_type {
1007   char const   *name ;
1008   struct attribute_group  const  **groups ;
1009   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1010   char *(*devnode)(struct device * , umode_t * ) ;
1011   void (*release)(struct device * ) ;
1012   struct dev_pm_ops  const  *pm ;
1013};
1014#line 474 "include/linux/device.h"
1015struct device_attribute {
1016   struct attribute attr ;
1017   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1018   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1019                    size_t  ) ;
1020};
1021#line 557 "include/linux/device.h"
1022struct device_dma_parameters {
1023   unsigned int max_segment_size ;
1024   unsigned long segment_boundary_mask ;
1025};
1026#line 567
1027struct dma_coherent_mem;
1028#line 567 "include/linux/device.h"
1029struct device {
1030   struct device *parent ;
1031   struct device_private *p ;
1032   struct kobject kobj ;
1033   char const   *init_name ;
1034   struct device_type  const  *type ;
1035   struct mutex mutex ;
1036   struct bus_type *bus ;
1037   struct device_driver *driver ;
1038   void *platform_data ;
1039   struct dev_pm_info power ;
1040   struct dev_pm_domain *pm_domain ;
1041   int numa_node ;
1042   u64 *dma_mask ;
1043   u64 coherent_dma_mask ;
1044   struct device_dma_parameters *dma_parms ;
1045   struct list_head dma_pools ;
1046   struct dma_coherent_mem *dma_mem ;
1047   struct dev_archdata archdata ;
1048   struct device_node *of_node ;
1049   dev_t devt ;
1050   u32 id ;
1051   spinlock_t devres_lock ;
1052   struct list_head devres_head ;
1053   struct klist_node knode_class ;
1054   struct class *class ;
1055   struct attribute_group  const  **groups ;
1056   void (*release)(struct device * ) ;
1057};
1058#line 681 "include/linux/device.h"
1059struct wakeup_source {
1060   char const   *name ;
1061   struct list_head entry ;
1062   spinlock_t lock ;
1063   struct timer_list timer ;
1064   unsigned long timer_expires ;
1065   ktime_t total_time ;
1066   ktime_t max_time ;
1067   ktime_t last_time ;
1068   unsigned long event_count ;
1069   unsigned long active_count ;
1070   unsigned long relax_count ;
1071   unsigned long hit_count ;
1072   unsigned char active : 1 ;
1073};
1074#line 12 "include/linux/mod_devicetable.h"
1075typedef unsigned long kernel_ulong_t;
1076#line 215 "include/linux/mod_devicetable.h"
1077struct of_device_id {
1078   char name[32U] ;
1079   char type[32U] ;
1080   char compatible[128U] ;
1081   void *data ;
1082};
1083#line 269 "include/linux/mod_devicetable.h"
1084struct input_device_id {
1085   kernel_ulong_t flags ;
1086   __u16 bustype ;
1087   __u16 vendor ;
1088   __u16 product ;
1089   __u16 version ;
1090   kernel_ulong_t evbit[1U] ;
1091   kernel_ulong_t keybit[12U] ;
1092   kernel_ulong_t relbit[1U] ;
1093   kernel_ulong_t absbit[1U] ;
1094   kernel_ulong_t mscbit[1U] ;
1095   kernel_ulong_t ledbit[1U] ;
1096   kernel_ulong_t sndbit[1U] ;
1097   kernel_ulong_t ffbit[2U] ;
1098   kernel_ulong_t swbit[1U] ;
1099   kernel_ulong_t driver_info ;
1100};
1101#line 492 "include/linux/mod_devicetable.h"
1102struct platform_device_id {
1103   char name[20U] ;
1104   kernel_ulong_t driver_data ;
1105};
1106#line 584
1107struct mfd_cell;
1108#line 584
1109struct mfd_cell;
1110#line 585 "include/linux/mod_devicetable.h"
1111struct platform_device {
1112   char const   *name ;
1113   int id ;
1114   struct device dev ;
1115   u32 num_resources ;
1116   struct resource *resource ;
1117   struct platform_device_id  const  *id_entry ;
1118   struct mfd_cell *mfd_cell ;
1119   struct pdev_archdata archdata ;
1120};
1121#line 32 "include/linux/input.h"
1122struct input_id {
1123   __u16 bustype ;
1124   __u16 vendor ;
1125   __u16 product ;
1126   __u16 version ;
1127};
1128#line 49 "include/linux/input.h"
1129struct input_absinfo {
1130   __s32 value ;
1131   __s32 minimum ;
1132   __s32 maximum ;
1133   __s32 fuzz ;
1134   __s32 flat ;
1135   __s32 resolution ;
1136};
1137#line 77 "include/linux/input.h"
1138struct input_keymap_entry {
1139   __u8 flags ;
1140   __u8 len ;
1141   __u16 index ;
1142   __u32 keycode ;
1143   __u8 scancode[32U] ;
1144};
1145#line 101 "include/linux/input.h"
1146struct ff_replay {
1147   __u16 length ;
1148   __u16 delay ;
1149};
1150#line 961 "include/linux/input.h"
1151struct ff_trigger {
1152   __u16 button ;
1153   __u16 interval ;
1154};
1155#line 971 "include/linux/input.h"
1156struct ff_envelope {
1157   __u16 attack_length ;
1158   __u16 attack_level ;
1159   __u16 fade_length ;
1160   __u16 fade_level ;
1161};
1162#line 990 "include/linux/input.h"
1163struct ff_constant_effect {
1164   __s16 level ;
1165   struct ff_envelope envelope ;
1166};
1167#line 1000 "include/linux/input.h"
1168struct ff_ramp_effect {
1169   __s16 start_level ;
1170   __s16 end_level ;
1171   struct ff_envelope envelope ;
1172};
1173#line 1012 "include/linux/input.h"
1174struct ff_condition_effect {
1175   __u16 right_saturation ;
1176   __u16 left_saturation ;
1177   __s16 right_coeff ;
1178   __s16 left_coeff ;
1179   __u16 deadband ;
1180   __s16 center ;
1181};
1182#line 1033 "include/linux/input.h"
1183struct ff_periodic_effect {
1184   __u16 waveform ;
1185   __u16 period ;
1186   __s16 magnitude ;
1187   __s16 offset ;
1188   __u16 phase ;
1189   struct ff_envelope envelope ;
1190   __u32 custom_len ;
1191   __s16 *custom_data ;
1192};
1193#line 1064 "include/linux/input.h"
1194struct ff_rumble_effect {
1195   __u16 strong_magnitude ;
1196   __u16 weak_magnitude ;
1197};
1198#line 1077 "include/linux/input.h"
1199union __anonunion_u_136 {
1200   struct ff_constant_effect constant ;
1201   struct ff_ramp_effect ramp ;
1202   struct ff_periodic_effect periodic ;
1203   struct ff_condition_effect condition[2U] ;
1204   struct ff_rumble_effect rumble ;
1205};
1206#line 1077 "include/linux/input.h"
1207struct ff_effect {
1208   __u16 type ;
1209   __s16 id ;
1210   __u16 direction ;
1211   struct ff_trigger trigger ;
1212   struct ff_replay replay ;
1213   union __anonunion_u_136 u ;
1214};
1215#line 1119
1216struct block_device;
1217#line 1119
1218struct block_device;
1219#line 93 "include/linux/bit_spinlock.h"
1220struct hlist_bl_node;
1221#line 93 "include/linux/bit_spinlock.h"
1222struct hlist_bl_head {
1223   struct hlist_bl_node *first ;
1224};
1225#line 36 "include/linux/list_bl.h"
1226struct hlist_bl_node {
1227   struct hlist_bl_node *next ;
1228   struct hlist_bl_node **pprev ;
1229};
1230#line 114 "include/linux/rculist_bl.h"
1231struct nameidata;
1232#line 114
1233struct nameidata;
1234#line 115
1235struct path;
1236#line 115
1237struct path;
1238#line 116
1239struct vfsmount;
1240#line 116
1241struct vfsmount;
1242#line 117 "include/linux/rculist_bl.h"
1243struct qstr {
1244   unsigned int hash ;
1245   unsigned int len ;
1246   unsigned char const   *name ;
1247};
1248#line 72 "include/linux/dcache.h"
1249struct inode;
1250#line 72
1251struct dentry_operations;
1252#line 72
1253struct super_block;
1254#line 72 "include/linux/dcache.h"
1255union __anonunion_d_u_137 {
1256   struct list_head d_child ;
1257   struct rcu_head d_rcu ;
1258};
1259#line 72 "include/linux/dcache.h"
1260struct dentry {
1261   unsigned int d_flags ;
1262   seqcount_t d_seq ;
1263   struct hlist_bl_node d_hash ;
1264   struct dentry *d_parent ;
1265   struct qstr d_name ;
1266   struct inode *d_inode ;
1267   unsigned char d_iname[32U] ;
1268   unsigned int d_count ;
1269   spinlock_t d_lock ;
1270   struct dentry_operations  const  *d_op ;
1271   struct super_block *d_sb ;
1272   unsigned long d_time ;
1273   void *d_fsdata ;
1274   struct list_head d_lru ;
1275   union __anonunion_d_u_137 d_u ;
1276   struct list_head d_subdirs ;
1277   struct list_head d_alias ;
1278};
1279#line 123 "include/linux/dcache.h"
1280struct dentry_operations {
1281   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1282   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1283   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1284                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1285   int (*d_delete)(struct dentry  const  * ) ;
1286   void (*d_release)(struct dentry * ) ;
1287   void (*d_prune)(struct dentry * ) ;
1288   void (*d_iput)(struct dentry * , struct inode * ) ;
1289   char *(*d_dname)(struct dentry * , char * , int  ) ;
1290   struct vfsmount *(*d_automount)(struct path * ) ;
1291   int (*d_manage)(struct dentry * , bool  ) ;
1292};
1293#line 402 "include/linux/dcache.h"
1294struct path {
1295   struct vfsmount *mnt ;
1296   struct dentry *dentry ;
1297};
1298#line 58 "include/linux/radix-tree.h"
1299struct radix_tree_node;
1300#line 58 "include/linux/radix-tree.h"
1301struct radix_tree_root {
1302   unsigned int height ;
1303   gfp_t gfp_mask ;
1304   struct radix_tree_node *rnode ;
1305};
1306#line 377
1307struct prio_tree_node;
1308#line 19 "include/linux/prio_tree.h"
1309struct prio_tree_node {
1310   struct prio_tree_node *left ;
1311   struct prio_tree_node *right ;
1312   struct prio_tree_node *parent ;
1313   unsigned long start ;
1314   unsigned long last ;
1315};
1316#line 27 "include/linux/prio_tree.h"
1317struct prio_tree_root {
1318   struct prio_tree_node *prio_tree_node ;
1319   unsigned short index_bits ;
1320   unsigned short raw ;
1321};
1322#line 111
1323enum pid_type {
1324    PIDTYPE_PID = 0,
1325    PIDTYPE_PGID = 1,
1326    PIDTYPE_SID = 2,
1327    PIDTYPE_MAX = 3
1328} ;
1329#line 118
1330struct pid_namespace;
1331#line 118 "include/linux/prio_tree.h"
1332struct upid {
1333   int nr ;
1334   struct pid_namespace *ns ;
1335   struct hlist_node pid_chain ;
1336};
1337#line 56 "include/linux/pid.h"
1338struct pid {
1339   atomic_t count ;
1340   unsigned int level ;
1341   struct hlist_head tasks[3U] ;
1342   struct rcu_head rcu ;
1343   struct upid numbers[1U] ;
1344};
1345#line 45 "include/linux/semaphore.h"
1346struct fiemap_extent {
1347   __u64 fe_logical ;
1348   __u64 fe_physical ;
1349   __u64 fe_length ;
1350   __u64 fe_reserved64[2U] ;
1351   __u32 fe_flags ;
1352   __u32 fe_reserved[3U] ;
1353};
1354#line 38 "include/linux/fiemap.h"
1355struct shrink_control {
1356   gfp_t gfp_mask ;
1357   unsigned long nr_to_scan ;
1358};
1359#line 14 "include/linux/shrinker.h"
1360struct shrinker {
1361   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1362   int seeks ;
1363   long batch ;
1364   struct list_head list ;
1365   atomic_long_t nr_in_batch ;
1366};
1367#line 43
1368enum migrate_mode {
1369    MIGRATE_ASYNC = 0,
1370    MIGRATE_SYNC_LIGHT = 1,
1371    MIGRATE_SYNC = 2
1372} ;
1373#line 49
1374struct export_operations;
1375#line 49
1376struct export_operations;
1377#line 51
1378struct iovec;
1379#line 51
1380struct iovec;
1381#line 52
1382struct kiocb;
1383#line 52
1384struct kiocb;
1385#line 53
1386struct pipe_inode_info;
1387#line 53
1388struct pipe_inode_info;
1389#line 54
1390struct poll_table_struct;
1391#line 54
1392struct poll_table_struct;
1393#line 55
1394struct kstatfs;
1395#line 55
1396struct kstatfs;
1397#line 435 "include/linux/fs.h"
1398struct iattr {
1399   unsigned int ia_valid ;
1400   umode_t ia_mode ;
1401   uid_t ia_uid ;
1402   gid_t ia_gid ;
1403   loff_t ia_size ;
1404   struct timespec ia_atime ;
1405   struct timespec ia_mtime ;
1406   struct timespec ia_ctime ;
1407   struct file *ia_file ;
1408};
1409#line 119 "include/linux/quota.h"
1410struct if_dqinfo {
1411   __u64 dqi_bgrace ;
1412   __u64 dqi_igrace ;
1413   __u32 dqi_flags ;
1414   __u32 dqi_valid ;
1415};
1416#line 176 "include/linux/percpu_counter.h"
1417struct fs_disk_quota {
1418   __s8 d_version ;
1419   __s8 d_flags ;
1420   __u16 d_fieldmask ;
1421   __u32 d_id ;
1422   __u64 d_blk_hardlimit ;
1423   __u64 d_blk_softlimit ;
1424   __u64 d_ino_hardlimit ;
1425   __u64 d_ino_softlimit ;
1426   __u64 d_bcount ;
1427   __u64 d_icount ;
1428   __s32 d_itimer ;
1429   __s32 d_btimer ;
1430   __u16 d_iwarns ;
1431   __u16 d_bwarns ;
1432   __s32 d_padding2 ;
1433   __u64 d_rtb_hardlimit ;
1434   __u64 d_rtb_softlimit ;
1435   __u64 d_rtbcount ;
1436   __s32 d_rtbtimer ;
1437   __u16 d_rtbwarns ;
1438   __s16 d_padding3 ;
1439   char d_padding4[8U] ;
1440};
1441#line 75 "include/linux/dqblk_xfs.h"
1442struct fs_qfilestat {
1443   __u64 qfs_ino ;
1444   __u64 qfs_nblks ;
1445   __u32 qfs_nextents ;
1446};
1447#line 150 "include/linux/dqblk_xfs.h"
1448typedef struct fs_qfilestat fs_qfilestat_t;
1449#line 151 "include/linux/dqblk_xfs.h"
1450struct fs_quota_stat {
1451   __s8 qs_version ;
1452   __u16 qs_flags ;
1453   __s8 qs_pad ;
1454   fs_qfilestat_t qs_uquota ;
1455   fs_qfilestat_t qs_gquota ;
1456   __u32 qs_incoredqs ;
1457   __s32 qs_btimelimit ;
1458   __s32 qs_itimelimit ;
1459   __s32 qs_rtbtimelimit ;
1460   __u16 qs_bwarnlimit ;
1461   __u16 qs_iwarnlimit ;
1462};
1463#line 165
1464struct dquot;
1465#line 165
1466struct dquot;
1467#line 185 "include/linux/quota.h"
1468typedef __kernel_uid32_t qid_t;
1469#line 186 "include/linux/quota.h"
1470typedef long long qsize_t;
1471#line 189 "include/linux/quota.h"
1472struct mem_dqblk {
1473   qsize_t dqb_bhardlimit ;
1474   qsize_t dqb_bsoftlimit ;
1475   qsize_t dqb_curspace ;
1476   qsize_t dqb_rsvspace ;
1477   qsize_t dqb_ihardlimit ;
1478   qsize_t dqb_isoftlimit ;
1479   qsize_t dqb_curinodes ;
1480   time_t dqb_btime ;
1481   time_t dqb_itime ;
1482};
1483#line 211
1484struct quota_format_type;
1485#line 211
1486struct quota_format_type;
1487#line 212 "include/linux/quota.h"
1488struct mem_dqinfo {
1489   struct quota_format_type *dqi_format ;
1490   int dqi_fmt_id ;
1491   struct list_head dqi_dirty_list ;
1492   unsigned long dqi_flags ;
1493   unsigned int dqi_bgrace ;
1494   unsigned int dqi_igrace ;
1495   qsize_t dqi_maxblimit ;
1496   qsize_t dqi_maxilimit ;
1497   void *dqi_priv ;
1498};
1499#line 275 "include/linux/quota.h"
1500struct dquot {
1501   struct hlist_node dq_hash ;
1502   struct list_head dq_inuse ;
1503   struct list_head dq_free ;
1504   struct list_head dq_dirty ;
1505   struct mutex dq_lock ;
1506   atomic_t dq_count ;
1507   wait_queue_head_t dq_wait_unused ;
1508   struct super_block *dq_sb ;
1509   unsigned int dq_id ;
1510   loff_t dq_off ;
1511   unsigned long dq_flags ;
1512   short dq_type ;
1513   struct mem_dqblk dq_dqb ;
1514};
1515#line 303 "include/linux/quota.h"
1516struct quota_format_ops {
1517   int (*check_quota_file)(struct super_block * , int  ) ;
1518   int (*read_file_info)(struct super_block * , int  ) ;
1519   int (*write_file_info)(struct super_block * , int  ) ;
1520   int (*free_file_info)(struct super_block * , int  ) ;
1521   int (*read_dqblk)(struct dquot * ) ;
1522   int (*commit_dqblk)(struct dquot * ) ;
1523   int (*release_dqblk)(struct dquot * ) ;
1524};
1525#line 314 "include/linux/quota.h"
1526struct dquot_operations {
1527   int (*write_dquot)(struct dquot * ) ;
1528   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1529   void (*destroy_dquot)(struct dquot * ) ;
1530   int (*acquire_dquot)(struct dquot * ) ;
1531   int (*release_dquot)(struct dquot * ) ;
1532   int (*mark_dirty)(struct dquot * ) ;
1533   int (*write_info)(struct super_block * , int  ) ;
1534   qsize_t *(*get_reserved_space)(struct inode * ) ;
1535};
1536#line 328 "include/linux/quota.h"
1537struct quotactl_ops {
1538   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1539   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1540   int (*quota_off)(struct super_block * , int  ) ;
1541   int (*quota_sync)(struct super_block * , int  , int  ) ;
1542   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1543   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1544   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1545   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1546   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1547   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1548};
1549#line 344 "include/linux/quota.h"
1550struct quota_format_type {
1551   int qf_fmt_id ;
1552   struct quota_format_ops  const  *qf_ops ;
1553   struct module *qf_owner ;
1554   struct quota_format_type *qf_next ;
1555};
1556#line 390 "include/linux/quota.h"
1557struct quota_info {
1558   unsigned int flags ;
1559   struct mutex dqio_mutex ;
1560   struct mutex dqonoff_mutex ;
1561   struct rw_semaphore dqptr_sem ;
1562   struct inode *files[2U] ;
1563   struct mem_dqinfo info[2U] ;
1564   struct quota_format_ops  const  *ops[2U] ;
1565};
1566#line 421
1567struct address_space;
1568#line 421
1569struct address_space;
1570#line 422
1571struct writeback_control;
1572#line 422
1573struct writeback_control;
1574#line 585 "include/linux/fs.h"
1575union __anonunion_arg_140 {
1576   char *buf ;
1577   void *data ;
1578};
1579#line 585 "include/linux/fs.h"
1580struct __anonstruct_read_descriptor_t_139 {
1581   size_t written ;
1582   size_t count ;
1583   union __anonunion_arg_140 arg ;
1584   int error ;
1585};
1586#line 585 "include/linux/fs.h"
1587typedef struct __anonstruct_read_descriptor_t_139 read_descriptor_t;
1588#line 588 "include/linux/fs.h"
1589struct address_space_operations {
1590   int (*writepage)(struct page * , struct writeback_control * ) ;
1591   int (*readpage)(struct file * , struct page * ) ;
1592   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1593   int (*set_page_dirty)(struct page * ) ;
1594   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1595                    unsigned int  ) ;
1596   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1597                      unsigned int  , struct page ** , void ** ) ;
1598   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1599                    unsigned int  , struct page * , void * ) ;
1600   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1601   void (*invalidatepage)(struct page * , unsigned long  ) ;
1602   int (*releasepage)(struct page * , gfp_t  ) ;
1603   void (*freepage)(struct page * ) ;
1604   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1605                        unsigned long  ) ;
1606   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1607   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1608   int (*launder_page)(struct page * ) ;
1609   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1610   int (*error_remove_page)(struct address_space * , struct page * ) ;
1611};
1612#line 642
1613struct backing_dev_info;
1614#line 642
1615struct backing_dev_info;
1616#line 643 "include/linux/fs.h"
1617struct address_space {
1618   struct inode *host ;
1619   struct radix_tree_root page_tree ;
1620   spinlock_t tree_lock ;
1621   unsigned int i_mmap_writable ;
1622   struct prio_tree_root i_mmap ;
1623   struct list_head i_mmap_nonlinear ;
1624   struct mutex i_mmap_mutex ;
1625   unsigned long nrpages ;
1626   unsigned long writeback_index ;
1627   struct address_space_operations  const  *a_ops ;
1628   unsigned long flags ;
1629   struct backing_dev_info *backing_dev_info ;
1630   spinlock_t private_lock ;
1631   struct list_head private_list ;
1632   struct address_space *assoc_mapping ;
1633};
1634#line 664
1635struct request_queue;
1636#line 664
1637struct request_queue;
1638#line 665
1639struct hd_struct;
1640#line 665
1641struct gendisk;
1642#line 665 "include/linux/fs.h"
1643struct block_device {
1644   dev_t bd_dev ;
1645   int bd_openers ;
1646   struct inode *bd_inode ;
1647   struct super_block *bd_super ;
1648   struct mutex bd_mutex ;
1649   struct list_head bd_inodes ;
1650   void *bd_claiming ;
1651   void *bd_holder ;
1652   int bd_holders ;
1653   bool bd_write_holder ;
1654   struct list_head bd_holder_disks ;
1655   struct block_device *bd_contains ;
1656   unsigned int bd_block_size ;
1657   struct hd_struct *bd_part ;
1658   unsigned int bd_part_count ;
1659   int bd_invalidated ;
1660   struct gendisk *bd_disk ;
1661   struct request_queue *bd_queue ;
1662   struct list_head bd_list ;
1663   unsigned long bd_private ;
1664   int bd_fsfreeze_count ;
1665   struct mutex bd_fsfreeze_mutex ;
1666};
1667#line 737
1668struct posix_acl;
1669#line 737
1670struct posix_acl;
1671#line 738
1672struct inode_operations;
1673#line 738 "include/linux/fs.h"
1674union __anonunion_ldv_16934_141 {
1675   unsigned int const   i_nlink ;
1676   unsigned int __i_nlink ;
1677};
1678#line 738 "include/linux/fs.h"
1679union __anonunion_ldv_16953_142 {
1680   struct list_head i_dentry ;
1681   struct rcu_head i_rcu ;
1682};
1683#line 738
1684struct file_operations;
1685#line 738
1686struct file_lock;
1687#line 738
1688struct cdev;
1689#line 738 "include/linux/fs.h"
1690union __anonunion_ldv_16971_143 {
1691   struct pipe_inode_info *i_pipe ;
1692   struct block_device *i_bdev ;
1693   struct cdev *i_cdev ;
1694};
1695#line 738 "include/linux/fs.h"
1696struct inode {
1697   umode_t i_mode ;
1698   unsigned short i_opflags ;
1699   uid_t i_uid ;
1700   gid_t i_gid ;
1701   unsigned int i_flags ;
1702   struct posix_acl *i_acl ;
1703   struct posix_acl *i_default_acl ;
1704   struct inode_operations  const  *i_op ;
1705   struct super_block *i_sb ;
1706   struct address_space *i_mapping ;
1707   void *i_security ;
1708   unsigned long i_ino ;
1709   union __anonunion_ldv_16934_141 ldv_16934 ;
1710   dev_t i_rdev ;
1711   struct timespec i_atime ;
1712   struct timespec i_mtime ;
1713   struct timespec i_ctime ;
1714   spinlock_t i_lock ;
1715   unsigned short i_bytes ;
1716   blkcnt_t i_blocks ;
1717   loff_t i_size ;
1718   unsigned long i_state ;
1719   struct mutex i_mutex ;
1720   unsigned long dirtied_when ;
1721   struct hlist_node i_hash ;
1722   struct list_head i_wb_list ;
1723   struct list_head i_lru ;
1724   struct list_head i_sb_list ;
1725   union __anonunion_ldv_16953_142 ldv_16953 ;
1726   atomic_t i_count ;
1727   unsigned int i_blkbits ;
1728   u64 i_version ;
1729   atomic_t i_dio_count ;
1730   atomic_t i_writecount ;
1731   struct file_operations  const  *i_fop ;
1732   struct file_lock *i_flock ;
1733   struct address_space i_data ;
1734   struct dquot *i_dquot[2U] ;
1735   struct list_head i_devices ;
1736   union __anonunion_ldv_16971_143 ldv_16971 ;
1737   __u32 i_generation ;
1738   __u32 i_fsnotify_mask ;
1739   struct hlist_head i_fsnotify_marks ;
1740   atomic_t i_readcount ;
1741   void *i_private ;
1742};
1743#line 941 "include/linux/fs.h"
1744struct fown_struct {
1745   rwlock_t lock ;
1746   struct pid *pid ;
1747   enum pid_type pid_type ;
1748   uid_t uid ;
1749   uid_t euid ;
1750   int signum ;
1751};
1752#line 949 "include/linux/fs.h"
1753struct file_ra_state {
1754   unsigned long start ;
1755   unsigned int size ;
1756   unsigned int async_size ;
1757   unsigned int ra_pages ;
1758   unsigned int mmap_miss ;
1759   loff_t prev_pos ;
1760};
1761#line 972 "include/linux/fs.h"
1762union __anonunion_f_u_144 {
1763   struct list_head fu_list ;
1764   struct rcu_head fu_rcuhead ;
1765};
1766#line 972 "include/linux/fs.h"
1767struct file {
1768   union __anonunion_f_u_144 f_u ;
1769   struct path f_path ;
1770   struct file_operations  const  *f_op ;
1771   spinlock_t f_lock ;
1772   int f_sb_list_cpu ;
1773   atomic_long_t f_count ;
1774   unsigned int f_flags ;
1775   fmode_t f_mode ;
1776   loff_t f_pos ;
1777   struct fown_struct f_owner ;
1778   struct cred  const  *f_cred ;
1779   struct file_ra_state f_ra ;
1780   u64 f_version ;
1781   void *f_security ;
1782   void *private_data ;
1783   struct list_head f_ep_links ;
1784   struct list_head f_tfile_llink ;
1785   struct address_space *f_mapping ;
1786   unsigned long f_mnt_write_state ;
1787};
1788#line 1111
1789struct files_struct;
1790#line 1111 "include/linux/fs.h"
1791typedef struct files_struct *fl_owner_t;
1792#line 1112 "include/linux/fs.h"
1793struct file_lock_operations {
1794   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1795   void (*fl_release_private)(struct file_lock * ) ;
1796};
1797#line 1117 "include/linux/fs.h"
1798struct lock_manager_operations {
1799   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1800   void (*lm_notify)(struct file_lock * ) ;
1801   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1802   void (*lm_release_private)(struct file_lock * ) ;
1803   void (*lm_break)(struct file_lock * ) ;
1804   int (*lm_change)(struct file_lock ** , int  ) ;
1805};
1806#line 1134
1807struct nlm_lockowner;
1808#line 1134
1809struct nlm_lockowner;
1810#line 1135 "include/linux/fs.h"
1811struct nfs_lock_info {
1812   u32 state ;
1813   struct nlm_lockowner *owner ;
1814   struct list_head list ;
1815};
1816#line 14 "include/linux/nfs_fs_i.h"
1817struct nfs4_lock_state;
1818#line 14
1819struct nfs4_lock_state;
1820#line 15 "include/linux/nfs_fs_i.h"
1821struct nfs4_lock_info {
1822   struct nfs4_lock_state *owner ;
1823};
1824#line 19
1825struct fasync_struct;
1826#line 19 "include/linux/nfs_fs_i.h"
1827struct __anonstruct_afs_146 {
1828   struct list_head link ;
1829   int state ;
1830};
1831#line 19 "include/linux/nfs_fs_i.h"
1832union __anonunion_fl_u_145 {
1833   struct nfs_lock_info nfs_fl ;
1834   struct nfs4_lock_info nfs4_fl ;
1835   struct __anonstruct_afs_146 afs ;
1836};
1837#line 19 "include/linux/nfs_fs_i.h"
1838struct file_lock {
1839   struct file_lock *fl_next ;
1840   struct list_head fl_link ;
1841   struct list_head fl_block ;
1842   fl_owner_t fl_owner ;
1843   unsigned int fl_flags ;
1844   unsigned char fl_type ;
1845   unsigned int fl_pid ;
1846   struct pid *fl_nspid ;
1847   wait_queue_head_t fl_wait ;
1848   struct file *fl_file ;
1849   loff_t fl_start ;
1850   loff_t fl_end ;
1851   struct fasync_struct *fl_fasync ;
1852   unsigned long fl_break_time ;
1853   unsigned long fl_downgrade_time ;
1854   struct file_lock_operations  const  *fl_ops ;
1855   struct lock_manager_operations  const  *fl_lmops ;
1856   union __anonunion_fl_u_145 fl_u ;
1857};
1858#line 1221 "include/linux/fs.h"
1859struct fasync_struct {
1860   spinlock_t fa_lock ;
1861   int magic ;
1862   int fa_fd ;
1863   struct fasync_struct *fa_next ;
1864   struct file *fa_file ;
1865   struct rcu_head fa_rcu ;
1866};
1867#line 1417
1868struct file_system_type;
1869#line 1417
1870struct super_operations;
1871#line 1417
1872struct xattr_handler;
1873#line 1417
1874struct mtd_info;
1875#line 1417 "include/linux/fs.h"
1876struct super_block {
1877   struct list_head s_list ;
1878   dev_t s_dev ;
1879   unsigned char s_dirt ;
1880   unsigned char s_blocksize_bits ;
1881   unsigned long s_blocksize ;
1882   loff_t s_maxbytes ;
1883   struct file_system_type *s_type ;
1884   struct super_operations  const  *s_op ;
1885   struct dquot_operations  const  *dq_op ;
1886   struct quotactl_ops  const  *s_qcop ;
1887   struct export_operations  const  *s_export_op ;
1888   unsigned long s_flags ;
1889   unsigned long s_magic ;
1890   struct dentry *s_root ;
1891   struct rw_semaphore s_umount ;
1892   struct mutex s_lock ;
1893   int s_count ;
1894   atomic_t s_active ;
1895   void *s_security ;
1896   struct xattr_handler  const  **s_xattr ;
1897   struct list_head s_inodes ;
1898   struct hlist_bl_head s_anon ;
1899   struct list_head *s_files ;
1900   struct list_head s_mounts ;
1901   struct list_head s_dentry_lru ;
1902   int s_nr_dentry_unused ;
1903   spinlock_t s_inode_lru_lock ;
1904   struct list_head s_inode_lru ;
1905   int s_nr_inodes_unused ;
1906   struct block_device *s_bdev ;
1907   struct backing_dev_info *s_bdi ;
1908   struct mtd_info *s_mtd ;
1909   struct hlist_node s_instances ;
1910   struct quota_info s_dquot ;
1911   int s_frozen ;
1912   wait_queue_head_t s_wait_unfrozen ;
1913   char s_id[32U] ;
1914   u8 s_uuid[16U] ;
1915   void *s_fs_info ;
1916   unsigned int s_max_links ;
1917   fmode_t s_mode ;
1918   u32 s_time_gran ;
1919   struct mutex s_vfs_rename_mutex ;
1920   char *s_subtype ;
1921   char *s_options ;
1922   struct dentry_operations  const  *s_d_op ;
1923   int cleancache_poolid ;
1924   struct shrinker s_shrink ;
1925   atomic_long_t s_remove_count ;
1926   int s_readonly_remount ;
1927};
1928#line 1563 "include/linux/fs.h"
1929struct fiemap_extent_info {
1930   unsigned int fi_flags ;
1931   unsigned int fi_extents_mapped ;
1932   unsigned int fi_extents_max ;
1933   struct fiemap_extent *fi_extents_start ;
1934};
1935#line 1602 "include/linux/fs.h"
1936struct file_operations {
1937   struct module *owner ;
1938   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1939   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1940   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1941   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1942                       loff_t  ) ;
1943   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1944                        loff_t  ) ;
1945   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1946                                                   loff_t  , u64  , unsigned int  ) ) ;
1947   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1948   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1949   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1950   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1951   int (*open)(struct inode * , struct file * ) ;
1952   int (*flush)(struct file * , fl_owner_t  ) ;
1953   int (*release)(struct inode * , struct file * ) ;
1954   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1955   int (*aio_fsync)(struct kiocb * , int  ) ;
1956   int (*fasync)(int  , struct file * , int  ) ;
1957   int (*lock)(struct file * , int  , struct file_lock * ) ;
1958   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1959                       int  ) ;
1960   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1961                                      unsigned long  , unsigned long  ) ;
1962   int (*check_flags)(int  ) ;
1963   int (*flock)(struct file * , int  , struct file_lock * ) ;
1964   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1965                           unsigned int  ) ;
1966   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1967                          unsigned int  ) ;
1968   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1969   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1970};
1971#line 1637 "include/linux/fs.h"
1972struct inode_operations {
1973   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1974   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1975   int (*permission)(struct inode * , int  ) ;
1976   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1977   int (*readlink)(struct dentry * , char * , int  ) ;
1978   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1979   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1980   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1981   int (*unlink)(struct inode * , struct dentry * ) ;
1982   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1983   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1984   int (*rmdir)(struct inode * , struct dentry * ) ;
1985   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1986   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1987   void (*truncate)(struct inode * ) ;
1988   int (*setattr)(struct dentry * , struct iattr * ) ;
1989   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1990   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1991   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1992   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1993   int (*removexattr)(struct dentry * , char const   * ) ;
1994   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1995   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1996};
1997#line 1682 "include/linux/fs.h"
1998struct super_operations {
1999   struct inode *(*alloc_inode)(struct super_block * ) ;
2000   void (*destroy_inode)(struct inode * ) ;
2001   void (*dirty_inode)(struct inode * , int  ) ;
2002   int (*write_inode)(struct inode * , struct writeback_control * ) ;
2003   int (*drop_inode)(struct inode * ) ;
2004   void (*evict_inode)(struct inode * ) ;
2005   void (*put_super)(struct super_block * ) ;
2006   void (*write_super)(struct super_block * ) ;
2007   int (*sync_fs)(struct super_block * , int  ) ;
2008   int (*freeze_fs)(struct super_block * ) ;
2009   int (*unfreeze_fs)(struct super_block * ) ;
2010   int (*statfs)(struct dentry * , struct kstatfs * ) ;
2011   int (*remount_fs)(struct super_block * , int * , char * ) ;
2012   void (*umount_begin)(struct super_block * ) ;
2013   int (*show_options)(struct seq_file * , struct dentry * ) ;
2014   int (*show_devname)(struct seq_file * , struct dentry * ) ;
2015   int (*show_path)(struct seq_file * , struct dentry * ) ;
2016   int (*show_stats)(struct seq_file * , struct dentry * ) ;
2017   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
2018   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
2019                          loff_t  ) ;
2020   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
2021   int (*nr_cached_objects)(struct super_block * ) ;
2022   void (*free_cached_objects)(struct super_block * , int  ) ;
2023};
2024#line 1834 "include/linux/fs.h"
2025struct file_system_type {
2026   char const   *name ;
2027   int fs_flags ;
2028   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
2029   void (*kill_sb)(struct super_block * ) ;
2030   struct module *owner ;
2031   struct file_system_type *next ;
2032   struct hlist_head fs_supers ;
2033   struct lock_class_key s_lock_key ;
2034   struct lock_class_key s_umount_key ;
2035   struct lock_class_key s_vfs_rename_key ;
2036   struct lock_class_key i_lock_key ;
2037   struct lock_class_key i_mutex_key ;
2038   struct lock_class_key i_mutex_dir_key ;
2039};
2040#line 2674
2041struct ff_device;
2042#line 2674
2043struct input_mt_slot;
2044#line 2674
2045struct input_handle;
2046#line 2674 "include/linux/fs.h"
2047struct input_dev {
2048   char const   *name ;
2049   char const   *phys ;
2050   char const   *uniq ;
2051   struct input_id id ;
2052   unsigned long propbit[1U] ;
2053   unsigned long evbit[1U] ;
2054   unsigned long keybit[12U] ;
2055   unsigned long relbit[1U] ;
2056   unsigned long absbit[1U] ;
2057   unsigned long mscbit[1U] ;
2058   unsigned long ledbit[1U] ;
2059   unsigned long sndbit[1U] ;
2060   unsigned long ffbit[2U] ;
2061   unsigned long swbit[1U] ;
2062   unsigned int hint_events_per_packet ;
2063   unsigned int keycodemax ;
2064   unsigned int keycodesize ;
2065   void *keycode ;
2066   int (*setkeycode)(struct input_dev * , struct input_keymap_entry  const  * , unsigned int * ) ;
2067   int (*getkeycode)(struct input_dev * , struct input_keymap_entry * ) ;
2068   struct ff_device *ff ;
2069   unsigned int repeat_key ;
2070   struct timer_list timer ;
2071   int rep[2U] ;
2072   struct input_mt_slot *mt ;
2073   int mtsize ;
2074   int slot ;
2075   int trkid ;
2076   struct input_absinfo *absinfo ;
2077   unsigned long key[12U] ;
2078   unsigned long led[1U] ;
2079   unsigned long snd[1U] ;
2080   unsigned long sw[1U] ;
2081   int (*open)(struct input_dev * ) ;
2082   void (*close)(struct input_dev * ) ;
2083   int (*flush)(struct input_dev * , struct file * ) ;
2084   int (*event)(struct input_dev * , unsigned int  , unsigned int  , int  ) ;
2085   struct input_handle *grab ;
2086   spinlock_t event_lock ;
2087   struct mutex mutex ;
2088   unsigned int users ;
2089   bool going_away ;
2090   bool sync ;
2091   struct device dev ;
2092   struct list_head h_list ;
2093   struct list_head node ;
2094};
2095#line 1319 "include/linux/input.h"
2096struct input_handler {
2097   void *private ;
2098   void (*event)(struct input_handle * , unsigned int  , unsigned int  , int  ) ;
2099   bool (*filter)(struct input_handle * , unsigned int  , unsigned int  , int  ) ;
2100   bool (*match)(struct input_handler * , struct input_dev * ) ;
2101   int (*connect)(struct input_handler * , struct input_dev * , struct input_device_id  const  * ) ;
2102   void (*disconnect)(struct input_handle * ) ;
2103   void (*start)(struct input_handle * ) ;
2104   struct file_operations  const  *fops ;
2105   int minor ;
2106   char const   *name ;
2107   struct input_device_id  const  *id_table ;
2108   struct list_head h_list ;
2109   struct list_head node ;
2110};
2111#line 1429 "include/linux/input.h"
2112struct input_handle {
2113   void *private ;
2114   int open ;
2115   char const   *name ;
2116   struct input_dev *dev ;
2117   struct input_handler *handler ;
2118   struct list_head d_node ;
2119   struct list_head h_node ;
2120};
2121#line 1591 "include/linux/input.h"
2122struct ff_device {
2123   int (*upload)(struct input_dev * , struct ff_effect * , struct ff_effect * ) ;
2124   int (*erase)(struct input_dev * , int  ) ;
2125   int (*playback)(struct input_dev * , int  , int  ) ;
2126   void (*set_gain)(struct input_dev * , u16  ) ;
2127   void (*set_autocenter)(struct input_dev * , u16  ) ;
2128   void (*destroy)(struct ff_device * ) ;
2129   void *private ;
2130   unsigned long ffbit[2U] ;
2131   struct mutex mutex ;
2132   int max_effects ;
2133   struct ff_effect *effects ;
2134   struct file *effect_owners[0U] ;
2135};
2136#line 1650 "include/linux/input.h"
2137struct input_polled_dev {
2138   void *private ;
2139   void (*open)(struct input_polled_dev * ) ;
2140   void (*close)(struct input_polled_dev * ) ;
2141   void (*poll)(struct input_polled_dev * ) ;
2142   unsigned int poll_interval ;
2143   unsigned int poll_interval_max ;
2144   unsigned int poll_interval_min ;
2145   struct input_dev *input ;
2146   struct delayed_work work ;
2147};
2148#line 28 "include/linux/of.h"
2149typedef u32 phandle;
2150#line 30 "include/linux/of.h"
2151struct property {
2152   char *name ;
2153   int length ;
2154   void *value ;
2155   struct property *next ;
2156   unsigned long _flags ;
2157   unsigned int unique_id ;
2158};
2159#line 39
2160struct proc_dir_entry;
2161#line 39 "include/linux/of.h"
2162struct device_node {
2163   char const   *name ;
2164   char const   *type ;
2165   phandle phandle ;
2166   char *full_name ;
2167   struct property *properties ;
2168   struct property *deadprops ;
2169   struct device_node *parent ;
2170   struct device_node *child ;
2171   struct device_node *sibling ;
2172   struct device_node *next ;
2173   struct device_node *allnext ;
2174   struct proc_dir_entry *pde ;
2175   struct kref kref ;
2176   unsigned long _flags ;
2177   void *data ;
2178};
2179#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2180struct __anonstruct_ldv_19453_148 {
2181   int up ;
2182   int down ;
2183   int left ;
2184   int right ;
2185   int bleft ;
2186   int bmiddle ;
2187   int bright ;
2188};
2189#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2190union __anonunion_ldv_19455_147 {
2191   struct __anonstruct_ldv_19453_148 ldv_19453 ;
2192   int pins[7U] ;
2193};
2194#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2195struct gpio_mouse_platform_data {
2196   int scan_ms ;
2197   int polarity ;
2198   union __anonunion_ldv_19455_147 ldv_19455 ;
2199};
2200#line 1 "<compiler builtins>"
2201long __builtin_expect(long  , long  ) ;
2202#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
2203void ldv_spin_lock(void) ;
2204#line 3
2205void ldv_spin_unlock(void) ;
2206#line 4
2207int ldv_spin_trylock(void) ;
2208#line 50 "include/linux/dynamic_debug.h"
2209extern int __dynamic_dev_dbg(struct _ddebug * , struct device  const  * , char const   * 
2210                             , ...) ;
2211#line 220 "include/linux/slub_def.h"
2212extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2213#line 223
2214void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2215#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
2216void ldv_check_alloc_flags(gfp_t flags ) ;
2217#line 12
2218void ldv_check_alloc_nonatomic(void) ;
2219#line 14
2220struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2221#line 793 "include/linux/device.h"
2222extern int dev_set_drvdata(struct device * , void * ) ;
2223#line 892
2224extern int dev_err(struct device  const  * , char const   *  , ...) ;
2225#line 188 "include/linux/platform_device.h"
2226__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) 
2227{ unsigned long __cil_tmp3 ;
2228  unsigned long __cil_tmp4 ;
2229  struct device *__cil_tmp5 ;
2230
2231  {
2232  {
2233#line 190
2234  __cil_tmp3 = (unsigned long )pdev;
2235#line 190
2236  __cil_tmp4 = __cil_tmp3 + 16;
2237#line 190
2238  __cil_tmp5 = (struct device *)__cil_tmp4;
2239#line 190
2240  dev_set_drvdata(__cil_tmp5, data);
2241  }
2242#line 191
2243  return;
2244}
2245}
2246#line 1502 "include/linux/input.h"
2247extern void input_event(struct input_dev * , unsigned int  , unsigned int  , int  ) ;
2248#line 1505 "include/linux/input.h"
2249__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2250                                      int value ) 
2251{ int __cil_tmp4 ;
2252
2253  {
2254  {
2255#line 1507
2256  __cil_tmp4 = value != 0;
2257#line 1507
2258  input_event(dev, 1U, code, __cil_tmp4);
2259  }
2260#line 1508
2261  return;
2262}
2263}
2264#line 1510 "include/linux/input.h"
2265__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2266                                      int value ) 
2267{ 
2268
2269  {
2270  {
2271#line 1512
2272  input_event(dev, 2U, code, value);
2273  }
2274#line 1513
2275  return;
2276}
2277}
2278#line 1530 "include/linux/input.h"
2279__inline static void input_sync(struct input_dev *dev ) 
2280{ 
2281
2282  {
2283  {
2284#line 1532
2285  input_event(dev, 0U, 0U, 0);
2286  }
2287#line 1533
2288  return;
2289}
2290}
2291#line 1540
2292extern void input_set_capability(struct input_dev * , unsigned int  , unsigned int  ) ;
2293#line 53 "include/linux/input-polldev.h"
2294extern struct input_polled_dev *input_allocate_polled_device(void) ;
2295#line 54
2296extern void input_free_polled_device(struct input_polled_dev * ) ;
2297#line 55
2298extern int input_register_polled_device(struct input_polled_dev * ) ;
2299#line 153 "include/asm-generic/gpio.h"
2300extern int gpio_request(unsigned int  , char const   * ) ;
2301#line 154
2302extern void gpio_free(unsigned int  ) ;
2303#line 156
2304extern int gpio_direction_input(unsigned int  ) ;
2305#line 169
2306extern int __gpio_get_value(unsigned int  ) ;
2307#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/gpio.h"
2308__inline static int gpio_get_value(unsigned int gpio ) 
2309{ int tmp ;
2310
2311  {
2312  {
2313#line 28
2314  tmp = __gpio_get_value(gpio);
2315  }
2316#line 28
2317  return (tmp);
2318}
2319}
2320#line 38 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
2321static void gpio_mouse_scan(struct input_polled_dev *dev ) 
2322{ struct gpio_mouse_platform_data *gpio ;
2323  struct input_dev *input ;
2324  int x ;
2325  int y ;
2326  int tmp ;
2327  int tmp___0 ;
2328  int tmp___1 ;
2329  int tmp___2 ;
2330  int tmp___3 ;
2331  int tmp___4 ;
2332  int tmp___5 ;
2333  void *__cil_tmp13 ;
2334  unsigned long __cil_tmp14 ;
2335  unsigned long __cil_tmp15 ;
2336  unsigned long __cil_tmp16 ;
2337  unsigned long __cil_tmp17 ;
2338  unsigned long __cil_tmp18 ;
2339  unsigned long __cil_tmp19 ;
2340  int __cil_tmp20 ;
2341  unsigned long __cil_tmp21 ;
2342  unsigned long __cil_tmp22 ;
2343  unsigned long __cil_tmp23 ;
2344  unsigned long __cil_tmp24 ;
2345  int __cil_tmp25 ;
2346  unsigned int __cil_tmp26 ;
2347  unsigned long __cil_tmp27 ;
2348  unsigned long __cil_tmp28 ;
2349  int __cil_tmp29 ;
2350  int __cil_tmp30 ;
2351  unsigned long __cil_tmp31 ;
2352  unsigned long __cil_tmp32 ;
2353  unsigned long __cil_tmp33 ;
2354  unsigned long __cil_tmp34 ;
2355  int __cil_tmp35 ;
2356  unsigned long __cil_tmp36 ;
2357  unsigned long __cil_tmp37 ;
2358  unsigned long __cil_tmp38 ;
2359  unsigned long __cil_tmp39 ;
2360  int __cil_tmp40 ;
2361  unsigned int __cil_tmp41 ;
2362  unsigned long __cil_tmp42 ;
2363  unsigned long __cil_tmp43 ;
2364  int __cil_tmp44 ;
2365  int __cil_tmp45 ;
2366  unsigned long __cil_tmp46 ;
2367  unsigned long __cil_tmp47 ;
2368  unsigned long __cil_tmp48 ;
2369  unsigned long __cil_tmp49 ;
2370  int __cil_tmp50 ;
2371  unsigned long __cil_tmp51 ;
2372  unsigned long __cil_tmp52 ;
2373  unsigned long __cil_tmp53 ;
2374  unsigned long __cil_tmp54 ;
2375  int __cil_tmp55 ;
2376  unsigned int __cil_tmp56 ;
2377  unsigned long __cil_tmp57 ;
2378  unsigned long __cil_tmp58 ;
2379  int __cil_tmp59 ;
2380  int __cil_tmp60 ;
2381  unsigned long __cil_tmp61 ;
2382  unsigned long __cil_tmp62 ;
2383  unsigned long __cil_tmp63 ;
2384  unsigned long __cil_tmp64 ;
2385  int __cil_tmp65 ;
2386  unsigned int __cil_tmp66 ;
2387  unsigned long __cil_tmp67 ;
2388  unsigned long __cil_tmp68 ;
2389  unsigned long __cil_tmp69 ;
2390  unsigned long __cil_tmp70 ;
2391  int __cil_tmp71 ;
2392  unsigned int __cil_tmp72 ;
2393  unsigned long __cil_tmp73 ;
2394  unsigned long __cil_tmp74 ;
2395  int __cil_tmp75 ;
2396  int __cil_tmp76 ;
2397  unsigned long __cil_tmp77 ;
2398  unsigned long __cil_tmp78 ;
2399  int __cil_tmp79 ;
2400  int __cil_tmp80 ;
2401  unsigned long __cil_tmp81 ;
2402  unsigned long __cil_tmp82 ;
2403  unsigned long __cil_tmp83 ;
2404  unsigned long __cil_tmp84 ;
2405  int __cil_tmp85 ;
2406  unsigned int __cil_tmp86 ;
2407  unsigned long __cil_tmp87 ;
2408  unsigned long __cil_tmp88 ;
2409  int __cil_tmp89 ;
2410  unsigned int __cil_tmp90 ;
2411  unsigned long __cil_tmp91 ;
2412  unsigned long __cil_tmp92 ;
2413  int __cil_tmp93 ;
2414  int __cil_tmp94 ;
2415  unsigned long __cil_tmp95 ;
2416  unsigned long __cil_tmp96 ;
2417  int __cil_tmp97 ;
2418  int __cil_tmp98 ;
2419
2420  {
2421#line 40
2422  __cil_tmp13 = *((void **)dev);
2423#line 40
2424  gpio = (struct gpio_mouse_platform_data *)__cil_tmp13;
2425#line 41
2426  __cil_tmp14 = (unsigned long )dev;
2427#line 41
2428  __cil_tmp15 = __cil_tmp14 + 48;
2429#line 41
2430  input = *((struct input_dev **)__cil_tmp15);
2431  {
2432#line 44
2433  __cil_tmp16 = 0 + 16;
2434#line 44
2435  __cil_tmp17 = 8 + __cil_tmp16;
2436#line 44
2437  __cil_tmp18 = (unsigned long )gpio;
2438#line 44
2439  __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
2440#line 44
2441  __cil_tmp20 = *((int *)__cil_tmp19);
2442#line 44
2443  if (__cil_tmp20 >= 0) {
2444    {
2445#line 45
2446    __cil_tmp21 = 0 + 16;
2447#line 45
2448    __cil_tmp22 = 8 + __cil_tmp21;
2449#line 45
2450    __cil_tmp23 = (unsigned long )gpio;
2451#line 45
2452    __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
2453#line 45
2454    __cil_tmp25 = *((int *)__cil_tmp24);
2455#line 45
2456    __cil_tmp26 = (unsigned int )__cil_tmp25;
2457#line 45
2458    tmp = gpio_get_value(__cil_tmp26);
2459#line 45
2460    __cil_tmp27 = (unsigned long )gpio;
2461#line 45
2462    __cil_tmp28 = __cil_tmp27 + 4;
2463#line 45
2464    __cil_tmp29 = *((int *)__cil_tmp28);
2465#line 45
2466    __cil_tmp30 = tmp ^ __cil_tmp29;
2467#line 45
2468    input_report_key(input, 272U, __cil_tmp30);
2469    }
2470  } else {
2471
2472  }
2473  }
2474  {
2475#line 47
2476  __cil_tmp31 = 0 + 20;
2477#line 47
2478  __cil_tmp32 = 8 + __cil_tmp31;
2479#line 47
2480  __cil_tmp33 = (unsigned long )gpio;
2481#line 47
2482  __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
2483#line 47
2484  __cil_tmp35 = *((int *)__cil_tmp34);
2485#line 47
2486  if (__cil_tmp35 >= 0) {
2487    {
2488#line 48
2489    __cil_tmp36 = 0 + 20;
2490#line 48
2491    __cil_tmp37 = 8 + __cil_tmp36;
2492#line 48
2493    __cil_tmp38 = (unsigned long )gpio;
2494#line 48
2495    __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
2496#line 48
2497    __cil_tmp40 = *((int *)__cil_tmp39);
2498#line 48
2499    __cil_tmp41 = (unsigned int )__cil_tmp40;
2500#line 48
2501    tmp___0 = gpio_get_value(__cil_tmp41);
2502#line 48
2503    __cil_tmp42 = (unsigned long )gpio;
2504#line 48
2505    __cil_tmp43 = __cil_tmp42 + 4;
2506#line 48
2507    __cil_tmp44 = *((int *)__cil_tmp43);
2508#line 48
2509    __cil_tmp45 = tmp___0 ^ __cil_tmp44;
2510#line 48
2511    input_report_key(input, 274U, __cil_tmp45);
2512    }
2513  } else {
2514
2515  }
2516  }
2517  {
2518#line 50
2519  __cil_tmp46 = 0 + 24;
2520#line 50
2521  __cil_tmp47 = 8 + __cil_tmp46;
2522#line 50
2523  __cil_tmp48 = (unsigned long )gpio;
2524#line 50
2525  __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
2526#line 50
2527  __cil_tmp50 = *((int *)__cil_tmp49);
2528#line 50
2529  if (__cil_tmp50 >= 0) {
2530    {
2531#line 51
2532    __cil_tmp51 = 0 + 24;
2533#line 51
2534    __cil_tmp52 = 8 + __cil_tmp51;
2535#line 51
2536    __cil_tmp53 = (unsigned long )gpio;
2537#line 51
2538    __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
2539#line 51
2540    __cil_tmp55 = *((int *)__cil_tmp54);
2541#line 51
2542    __cil_tmp56 = (unsigned int )__cil_tmp55;
2543#line 51
2544    tmp___1 = gpio_get_value(__cil_tmp56);
2545#line 51
2546    __cil_tmp57 = (unsigned long )gpio;
2547#line 51
2548    __cil_tmp58 = __cil_tmp57 + 4;
2549#line 51
2550    __cil_tmp59 = *((int *)__cil_tmp58);
2551#line 51
2552    __cil_tmp60 = tmp___1 ^ __cil_tmp59;
2553#line 51
2554    input_report_key(input, 273U, __cil_tmp60);
2555    }
2556  } else {
2557
2558  }
2559  }
2560  {
2561#line 54
2562  __cil_tmp61 = 0 + 12;
2563#line 54
2564  __cil_tmp62 = 8 + __cil_tmp61;
2565#line 54
2566  __cil_tmp63 = (unsigned long )gpio;
2567#line 54
2568  __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
2569#line 54
2570  __cil_tmp65 = *((int *)__cil_tmp64);
2571#line 54
2572  __cil_tmp66 = (unsigned int )__cil_tmp65;
2573#line 54
2574  tmp___2 = gpio_get_value(__cil_tmp66);
2575#line 54
2576  __cil_tmp67 = 0 + 8;
2577#line 54
2578  __cil_tmp68 = 8 + __cil_tmp67;
2579#line 54
2580  __cil_tmp69 = (unsigned long )gpio;
2581#line 54
2582  __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
2583#line 54
2584  __cil_tmp71 = *((int *)__cil_tmp70);
2585#line 54
2586  __cil_tmp72 = (unsigned int )__cil_tmp71;
2587#line 54
2588  tmp___3 = gpio_get_value(__cil_tmp72);
2589#line 54
2590  __cil_tmp73 = (unsigned long )gpio;
2591#line 54
2592  __cil_tmp74 = __cil_tmp73 + 4;
2593#line 54
2594  __cil_tmp75 = *((int *)__cil_tmp74);
2595#line 54
2596  __cil_tmp76 = tmp___3 ^ __cil_tmp75;
2597#line 54
2598  __cil_tmp77 = (unsigned long )gpio;
2599#line 54
2600  __cil_tmp78 = __cil_tmp77 + 4;
2601#line 54
2602  __cil_tmp79 = *((int *)__cil_tmp78);
2603#line 54
2604  __cil_tmp80 = tmp___2 ^ __cil_tmp79;
2605#line 54
2606  x = __cil_tmp80 - __cil_tmp76;
2607#line 56
2608  __cil_tmp81 = 0 + 4;
2609#line 56
2610  __cil_tmp82 = 8 + __cil_tmp81;
2611#line 56
2612  __cil_tmp83 = (unsigned long )gpio;
2613#line 56
2614  __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
2615#line 56
2616  __cil_tmp85 = *((int *)__cil_tmp84);
2617#line 56
2618  __cil_tmp86 = (unsigned int )__cil_tmp85;
2619#line 56
2620  tmp___4 = gpio_get_value(__cil_tmp86);
2621#line 56
2622  __cil_tmp87 = (unsigned long )gpio;
2623#line 56
2624  __cil_tmp88 = __cil_tmp87 + 8;
2625#line 56
2626  __cil_tmp89 = *((int *)__cil_tmp88);
2627#line 56
2628  __cil_tmp90 = (unsigned int )__cil_tmp89;
2629#line 56
2630  tmp___5 = gpio_get_value(__cil_tmp90);
2631#line 56
2632  __cil_tmp91 = (unsigned long )gpio;
2633#line 56
2634  __cil_tmp92 = __cil_tmp91 + 4;
2635#line 56
2636  __cil_tmp93 = *((int *)__cil_tmp92);
2637#line 56
2638  __cil_tmp94 = tmp___5 ^ __cil_tmp93;
2639#line 56
2640  __cil_tmp95 = (unsigned long )gpio;
2641#line 56
2642  __cil_tmp96 = __cil_tmp95 + 4;
2643#line 56
2644  __cil_tmp97 = *((int *)__cil_tmp96);
2645#line 56
2646  __cil_tmp98 = tmp___4 ^ __cil_tmp97;
2647#line 56
2648  y = __cil_tmp98 - __cil_tmp94;
2649#line 59
2650  input_report_rel(input, 0U, x);
2651#line 60
2652  input_report_rel(input, 1U, y);
2653#line 61
2654  input_sync(input);
2655  }
2656#line 62
2657  return;
2658}
2659}
2660#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
2661static int gpio_mouse_probe(struct platform_device *pdev ) 
2662{ struct gpio_mouse_platform_data *pdata ;
2663  struct input_polled_dev *input_poll ;
2664  struct input_dev *input ;
2665  int pin ;
2666  int i ;
2667  int error ;
2668  struct _ddebug descriptor ;
2669  long tmp ;
2670  struct _ddebug descriptor___0 ;
2671  char *tmp___0 ;
2672  char *tmp___1 ;
2673  char *tmp___2 ;
2674  long tmp___3 ;
2675  unsigned long __cil_tmp15 ;
2676  unsigned long __cil_tmp16 ;
2677  unsigned long __cil_tmp17 ;
2678  void *__cil_tmp18 ;
2679  struct gpio_mouse_platform_data *__cil_tmp19 ;
2680  unsigned long __cil_tmp20 ;
2681  unsigned long __cil_tmp21 ;
2682  unsigned long __cil_tmp22 ;
2683  unsigned long __cil_tmp23 ;
2684  struct device *__cil_tmp24 ;
2685  struct device  const  *__cil_tmp25 ;
2686  int __cil_tmp26 ;
2687  unsigned long __cil_tmp27 ;
2688  unsigned long __cil_tmp28 ;
2689  struct device *__cil_tmp29 ;
2690  struct device  const  *__cil_tmp30 ;
2691  unsigned long __cil_tmp31 ;
2692  unsigned long __cil_tmp32 ;
2693  unsigned long __cil_tmp33 ;
2694  unsigned long __cil_tmp34 ;
2695  unsigned long __cil_tmp35 ;
2696  unsigned long __cil_tmp36 ;
2697  unsigned long __cil_tmp37 ;
2698  struct device *__cil_tmp38 ;
2699  struct device  const  *__cil_tmp39 ;
2700  struct _ddebug *__cil_tmp40 ;
2701  unsigned long __cil_tmp41 ;
2702  unsigned long __cil_tmp42 ;
2703  unsigned long __cil_tmp43 ;
2704  unsigned long __cil_tmp44 ;
2705  unsigned long __cil_tmp45 ;
2706  unsigned long __cil_tmp46 ;
2707  unsigned char __cil_tmp47 ;
2708  long __cil_tmp48 ;
2709  long __cil_tmp49 ;
2710  unsigned long __cil_tmp50 ;
2711  unsigned long __cil_tmp51 ;
2712  struct device *__cil_tmp52 ;
2713  struct device  const  *__cil_tmp53 ;
2714  unsigned int __cil_tmp54 ;
2715  unsigned long __cil_tmp55 ;
2716  unsigned long __cil_tmp56 ;
2717  struct device *__cil_tmp57 ;
2718  struct device  const  *__cil_tmp58 ;
2719  unsigned int __cil_tmp59 ;
2720  struct input_polled_dev *__cil_tmp60 ;
2721  unsigned long __cil_tmp61 ;
2722  unsigned long __cil_tmp62 ;
2723  unsigned long __cil_tmp63 ;
2724  unsigned long __cil_tmp64 ;
2725  struct device *__cil_tmp65 ;
2726  struct device  const  *__cil_tmp66 ;
2727  void *__cil_tmp67 ;
2728  unsigned long __cil_tmp68 ;
2729  unsigned long __cil_tmp69 ;
2730  unsigned long __cil_tmp70 ;
2731  unsigned long __cil_tmp71 ;
2732  int __cil_tmp72 ;
2733  unsigned long __cil_tmp73 ;
2734  unsigned long __cil_tmp74 ;
2735  unsigned long __cil_tmp75 ;
2736  unsigned long __cil_tmp76 ;
2737  unsigned long __cil_tmp77 ;
2738  unsigned long __cil_tmp78 ;
2739  unsigned long __cil_tmp79 ;
2740  unsigned long __cil_tmp80 ;
2741  unsigned long __cil_tmp81 ;
2742  unsigned long __cil_tmp82 ;
2743  unsigned long __cil_tmp83 ;
2744  unsigned long __cil_tmp84 ;
2745  int __cil_tmp85 ;
2746  unsigned long __cil_tmp86 ;
2747  unsigned long __cil_tmp87 ;
2748  unsigned long __cil_tmp88 ;
2749  unsigned long __cil_tmp89 ;
2750  int __cil_tmp90 ;
2751  unsigned long __cil_tmp91 ;
2752  unsigned long __cil_tmp92 ;
2753  unsigned long __cil_tmp93 ;
2754  unsigned long __cil_tmp94 ;
2755  int __cil_tmp95 ;
2756  unsigned long __cil_tmp96 ;
2757  unsigned long __cil_tmp97 ;
2758  struct device *__cil_tmp98 ;
2759  struct device  const  *__cil_tmp99 ;
2760  struct _ddebug *__cil_tmp100 ;
2761  unsigned long __cil_tmp101 ;
2762  unsigned long __cil_tmp102 ;
2763  unsigned long __cil_tmp103 ;
2764  unsigned long __cil_tmp104 ;
2765  unsigned long __cil_tmp105 ;
2766  unsigned long __cil_tmp106 ;
2767  unsigned char __cil_tmp107 ;
2768  long __cil_tmp108 ;
2769  long __cil_tmp109 ;
2770  unsigned long __cil_tmp110 ;
2771  unsigned long __cil_tmp111 ;
2772  unsigned long __cil_tmp112 ;
2773  unsigned long __cil_tmp113 ;
2774  int __cil_tmp114 ;
2775  unsigned long __cil_tmp115 ;
2776  unsigned long __cil_tmp116 ;
2777  unsigned long __cil_tmp117 ;
2778  unsigned long __cil_tmp118 ;
2779  int __cil_tmp119 ;
2780  unsigned long __cil_tmp120 ;
2781  unsigned long __cil_tmp121 ;
2782  unsigned long __cil_tmp122 ;
2783  unsigned long __cil_tmp123 ;
2784  int __cil_tmp124 ;
2785  unsigned long __cil_tmp125 ;
2786  unsigned long __cil_tmp126 ;
2787  struct device *__cil_tmp127 ;
2788  struct device  const  *__cil_tmp128 ;
2789  int __cil_tmp129 ;
2790  void *__cil_tmp130 ;
2791  unsigned long __cil_tmp131 ;
2792  unsigned long __cil_tmp132 ;
2793  unsigned long __cil_tmp133 ;
2794  unsigned long __cil_tmp134 ;
2795  unsigned long __cil_tmp135 ;
2796  unsigned int __cil_tmp136 ;
2797
2798  {
2799#line 66
2800  __cil_tmp15 = 16 + 280;
2801#line 66
2802  __cil_tmp16 = (unsigned long )pdev;
2803#line 66
2804  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
2805#line 66
2806  __cil_tmp18 = *((void **)__cil_tmp17);
2807#line 66
2808  pdata = (struct gpio_mouse_platform_data *)__cil_tmp18;
2809  {
2810#line 72
2811  __cil_tmp19 = (struct gpio_mouse_platform_data *)0;
2812#line 72
2813  __cil_tmp20 = (unsigned long )__cil_tmp19;
2814#line 72
2815  __cil_tmp21 = (unsigned long )pdata;
2816#line 72
2817  if (__cil_tmp21 == __cil_tmp20) {
2818    {
2819#line 73
2820    __cil_tmp22 = (unsigned long )pdev;
2821#line 73
2822    __cil_tmp23 = __cil_tmp22 + 16;
2823#line 73
2824    __cil_tmp24 = (struct device *)__cil_tmp23;
2825#line 73
2826    __cil_tmp25 = (struct device  const  *)__cil_tmp24;
2827#line 73
2828    dev_err(__cil_tmp25, "no platform data\n");
2829#line 74
2830    error = -6;
2831    }
2832#line 75
2833    goto out;
2834  } else {
2835
2836  }
2837  }
2838  {
2839#line 78
2840  __cil_tmp26 = *((int *)pdata);
2841#line 78
2842  if (__cil_tmp26 < 0) {
2843    {
2844#line 79
2845    __cil_tmp27 = (unsigned long )pdev;
2846#line 79
2847    __cil_tmp28 = __cil_tmp27 + 16;
2848#line 79
2849    __cil_tmp29 = (struct device *)__cil_tmp28;
2850#line 79
2851    __cil_tmp30 = (struct device  const  *)__cil_tmp29;
2852#line 79
2853    dev_err(__cil_tmp30, "invalid scan time\n");
2854#line 80
2855    error = -22;
2856    }
2857#line 81
2858    goto out;
2859  } else {
2860
2861  }
2862  }
2863#line 84
2864  i = 0;
2865#line 84
2866  goto ldv_19477;
2867  ldv_19476: 
2868#line 85
2869  __cil_tmp31 = i * 4UL;
2870#line 85
2871  __cil_tmp32 = 0 + __cil_tmp31;
2872#line 85
2873  __cil_tmp33 = 8 + __cil_tmp32;
2874#line 85
2875  __cil_tmp34 = (unsigned long )pdata;
2876#line 85
2877  __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
2878#line 85
2879  pin = *((int *)__cil_tmp35);
2880#line 87
2881  if (pin < 0) {
2882#line 89
2883    if (i <= 3) {
2884      {
2885#line 91
2886      __cil_tmp36 = (unsigned long )pdev;
2887#line 91
2888      __cil_tmp37 = __cil_tmp36 + 16;
2889#line 91
2890      __cil_tmp38 = (struct device *)__cil_tmp37;
2891#line 91
2892      __cil_tmp39 = (struct device  const  *)__cil_tmp38;
2893#line 91
2894      dev_err(__cil_tmp39, "missing GPIO for directions\n");
2895#line 93
2896      error = -22;
2897      }
2898#line 94
2899      goto out_free_gpios;
2900    } else {
2901
2902    }
2903#line 97
2904    if (i == 4) {
2905      {
2906#line 98
2907      __cil_tmp40 = & descriptor;
2908#line 98
2909      *((char const   **)__cil_tmp40) = "gpio_mouse";
2910#line 98
2911      __cil_tmp41 = (unsigned long )(& descriptor) + 8;
2912#line 98
2913      *((char const   **)__cil_tmp41) = "gpio_mouse_probe";
2914#line 98
2915      __cil_tmp42 = (unsigned long )(& descriptor) + 16;
2916#line 98
2917      *((char const   **)__cil_tmp42) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p";
2918#line 98
2919      __cil_tmp43 = (unsigned long )(& descriptor) + 24;
2920#line 98
2921      *((char const   **)__cil_tmp43) = "no left button defined\n";
2922#line 98
2923      __cil_tmp44 = (unsigned long )(& descriptor) + 32;
2924#line 98
2925      *((unsigned int *)__cil_tmp44) = 98U;
2926#line 98
2927      __cil_tmp45 = (unsigned long )(& descriptor) + 35;
2928#line 98
2929      *((unsigned char *)__cil_tmp45) = (unsigned char)0;
2930#line 98
2931      __cil_tmp46 = (unsigned long )(& descriptor) + 35;
2932#line 98
2933      __cil_tmp47 = *((unsigned char *)__cil_tmp46);
2934#line 98
2935      __cil_tmp48 = (long )__cil_tmp47;
2936#line 98
2937      __cil_tmp49 = __cil_tmp48 & 1L;
2938#line 98
2939      tmp = __builtin_expect(__cil_tmp49, 0L);
2940      }
2941#line 98
2942      if (tmp != 0L) {
2943        {
2944#line 98
2945        __cil_tmp50 = (unsigned long )pdev;
2946#line 98
2947        __cil_tmp51 = __cil_tmp50 + 16;
2948#line 98
2949        __cil_tmp52 = (struct device *)__cil_tmp51;
2950#line 98
2951        __cil_tmp53 = (struct device  const  *)__cil_tmp52;
2952#line 98
2953        __dynamic_dev_dbg(& descriptor, __cil_tmp53, "no left button defined\n");
2954        }
2955      } else {
2956
2957      }
2958    } else {
2959
2960    }
2961  } else {
2962    {
2963#line 101
2964    __cil_tmp54 = (unsigned int )pin;
2965#line 101
2966    error = gpio_request(__cil_tmp54, "gpio_mouse");
2967    }
2968#line 102
2969    if (error != 0) {
2970      {
2971#line 103
2972      __cil_tmp55 = (unsigned long )pdev;
2973#line 103
2974      __cil_tmp56 = __cil_tmp55 + 16;
2975#line 103
2976      __cil_tmp57 = (struct device *)__cil_tmp56;
2977#line 103
2978      __cil_tmp58 = (struct device  const  *)__cil_tmp57;
2979#line 103
2980      dev_err(__cil_tmp58, "fail %d pin (%d idx)\n", pin, i);
2981      }
2982#line 105
2983      goto out_free_gpios;
2984    } else {
2985
2986    }
2987    {
2988#line 108
2989    __cil_tmp59 = (unsigned int )pin;
2990#line 108
2991    gpio_direction_input(__cil_tmp59);
2992    }
2993  }
2994#line 84
2995  i = i + 1;
2996  ldv_19477: ;
2997#line 84
2998  if (i <= 6) {
2999#line 85
3000    goto ldv_19476;
3001  } else {
3002#line 87
3003    goto ldv_19478;
3004  }
3005  ldv_19478: 
3006  {
3007#line 112
3008  input_poll = input_allocate_polled_device();
3009  }
3010  {
3011#line 113
3012  __cil_tmp60 = (struct input_polled_dev *)0;
3013#line 113
3014  __cil_tmp61 = (unsigned long )__cil_tmp60;
3015#line 113
3016  __cil_tmp62 = (unsigned long )input_poll;
3017#line 113
3018  if (__cil_tmp62 == __cil_tmp61) {
3019    {
3020#line 114
3021    __cil_tmp63 = (unsigned long )pdev;
3022#line 114
3023    __cil_tmp64 = __cil_tmp63 + 16;
3024#line 114
3025    __cil_tmp65 = (struct device *)__cil_tmp64;
3026#line 114
3027    __cil_tmp66 = (struct device  const  *)__cil_tmp65;
3028#line 114
3029    dev_err(__cil_tmp66, "not enough memory for input device\n");
3030#line 115
3031    error = -12;
3032    }
3033#line 116
3034    goto out_free_gpios;
3035  } else {
3036
3037  }
3038  }
3039  {
3040#line 119
3041  __cil_tmp67 = (void *)input_poll;
3042#line 119
3043  platform_set_drvdata(pdev, __cil_tmp67);
3044#line 122
3045  *((void **)input_poll) = (void *)pdata;
3046#line 123
3047  __cil_tmp68 = (unsigned long )input_poll;
3048#line 123
3049  __cil_tmp69 = __cil_tmp68 + 24;
3050#line 123
3051  *((void (**)(struct input_polled_dev * ))__cil_tmp69) = & gpio_mouse_scan;
3052#line 124
3053  __cil_tmp70 = (unsigned long )input_poll;
3054#line 124
3055  __cil_tmp71 = __cil_tmp70 + 32;
3056#line 124
3057  __cil_tmp72 = *((int *)pdata);
3058#line 124
3059  *((unsigned int *)__cil_tmp71) = (unsigned int )__cil_tmp72;
3060#line 126
3061  __cil_tmp73 = (unsigned long )input_poll;
3062#line 126
3063  __cil_tmp74 = __cil_tmp73 + 48;
3064#line 126
3065  input = *((struct input_dev **)__cil_tmp74);
3066#line 127
3067  *((char const   **)input) = *((char const   **)pdev);
3068#line 128
3069  __cil_tmp75 = (unsigned long )input;
3070#line 128
3071  __cil_tmp76 = __cil_tmp75 + 24;
3072#line 128
3073  *((__u16 *)__cil_tmp76) = (__u16 )25U;
3074#line 129
3075  __cil_tmp77 = (unsigned long )input;
3076#line 129
3077  __cil_tmp78 = __cil_tmp77 + 840;
3078#line 129
3079  __cil_tmp79 = (unsigned long )pdev;
3080#line 129
3081  __cil_tmp80 = __cil_tmp79 + 16;
3082#line 129
3083  *((struct device **)__cil_tmp78) = (struct device *)__cil_tmp80;
3084#line 131
3085  input_set_capability(input, 2U, 0U);
3086#line 132
3087  input_set_capability(input, 2U, 1U);
3088  }
3089  {
3090#line 133
3091  __cil_tmp81 = 0 + 16;
3092#line 133
3093  __cil_tmp82 = 8 + __cil_tmp81;
3094#line 133
3095  __cil_tmp83 = (unsigned long )pdata;
3096#line 133
3097  __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
3098#line 133
3099  __cil_tmp85 = *((int *)__cil_tmp84);
3100#line 133
3101  if (__cil_tmp85 >= 0) {
3102    {
3103#line 134
3104    input_set_capability(input, 1U, 272U);
3105    }
3106  } else {
3107
3108  }
3109  }
3110  {
3111#line 135
3112  __cil_tmp86 = 0 + 20;
3113#line 135
3114  __cil_tmp87 = 8 + __cil_tmp86;
3115#line 135
3116  __cil_tmp88 = (unsigned long )pdata;
3117#line 135
3118  __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
3119#line 135
3120  __cil_tmp90 = *((int *)__cil_tmp89);
3121#line 135
3122  if (__cil_tmp90 >= 0) {
3123    {
3124#line 136
3125    input_set_capability(input, 1U, 274U);
3126    }
3127  } else {
3128
3129  }
3130  }
3131  {
3132#line 137
3133  __cil_tmp91 = 0 + 24;
3134#line 137
3135  __cil_tmp92 = 8 + __cil_tmp91;
3136#line 137
3137  __cil_tmp93 = (unsigned long )pdata;
3138#line 137
3139  __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
3140#line 137
3141  __cil_tmp95 = *((int *)__cil_tmp94);
3142#line 137
3143  if (__cil_tmp95 >= 0) {
3144    {
3145#line 138
3146    input_set_capability(input, 1U, 273U);
3147    }
3148  } else {
3149
3150  }
3151  }
3152  {
3153#line 140
3154  error = input_register_polled_device(input_poll);
3155  }
3156#line 141
3157  if (error != 0) {
3158    {
3159#line 142
3160    __cil_tmp96 = (unsigned long )pdev;
3161#line 142
3162    __cil_tmp97 = __cil_tmp96 + 16;
3163#line 142
3164    __cil_tmp98 = (struct device *)__cil_tmp97;
3165#line 142
3166    __cil_tmp99 = (struct device  const  *)__cil_tmp98;
3167#line 142
3168    dev_err(__cil_tmp99, "could not register input device\n");
3169    }
3170#line 143
3171    goto out_free_polldev;
3172  } else {
3173
3174  }
3175  {
3176#line 146
3177  __cil_tmp100 = & descriptor___0;
3178#line 146
3179  *((char const   **)__cil_tmp100) = "gpio_mouse";
3180#line 146
3181  __cil_tmp101 = (unsigned long )(& descriptor___0) + 8;
3182#line 146
3183  *((char const   **)__cil_tmp101) = "gpio_mouse_probe";
3184#line 146
3185  __cil_tmp102 = (unsigned long )(& descriptor___0) + 16;
3186#line 146
3187  *((char const   **)__cil_tmp102) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p";
3188#line 146
3189  __cil_tmp103 = (unsigned long )(& descriptor___0) + 24;
3190#line 146
3191  *((char const   **)__cil_tmp103) = "%d ms scan time, buttons: %s%s%s\n";
3192#line 146
3193  __cil_tmp104 = (unsigned long )(& descriptor___0) + 32;
3194#line 146
3195  *((unsigned int *)__cil_tmp104) = 150U;
3196#line 146
3197  __cil_tmp105 = (unsigned long )(& descriptor___0) + 35;
3198#line 146
3199  *((unsigned char *)__cil_tmp105) = (unsigned char)0;
3200#line 146
3201  __cil_tmp106 = (unsigned long )(& descriptor___0) + 35;
3202#line 146
3203  __cil_tmp107 = *((unsigned char *)__cil_tmp106);
3204#line 146
3205  __cil_tmp108 = (long )__cil_tmp107;
3206#line 146
3207  __cil_tmp109 = __cil_tmp108 & 1L;
3208#line 146
3209  tmp___3 = __builtin_expect(__cil_tmp109, 0L);
3210  }
3211#line 146
3212  if (tmp___3 != 0L) {
3213    {
3214#line 146
3215    __cil_tmp110 = 0 + 24;
3216#line 146
3217    __cil_tmp111 = 8 + __cil_tmp110;
3218#line 146
3219    __cil_tmp112 = (unsigned long )pdata;
3220#line 146
3221    __cil_tmp113 = __cil_tmp112 + __cil_tmp111;
3222#line 146
3223    __cil_tmp114 = *((int *)__cil_tmp113);
3224#line 146
3225    if (__cil_tmp114 < 0) {
3226#line 146
3227      tmp___0 = (char *)"";
3228    } else {
3229#line 146
3230      tmp___0 = (char *)"right";
3231    }
3232    }
3233    {
3234#line 146
3235    __cil_tmp115 = 0 + 20;
3236#line 146
3237    __cil_tmp116 = 8 + __cil_tmp115;
3238#line 146
3239    __cil_tmp117 = (unsigned long )pdata;
3240#line 146
3241    __cil_tmp118 = __cil_tmp117 + __cil_tmp116;
3242#line 146
3243    __cil_tmp119 = *((int *)__cil_tmp118);
3244#line 146
3245    if (__cil_tmp119 < 0) {
3246#line 146
3247      tmp___1 = (char *)"";
3248    } else {
3249#line 146
3250      tmp___1 = (char *)"middle ";
3251    }
3252    }
3253    {
3254#line 146
3255    __cil_tmp120 = 0 + 16;
3256#line 146
3257    __cil_tmp121 = 8 + __cil_tmp120;
3258#line 146
3259    __cil_tmp122 = (unsigned long )pdata;
3260#line 146
3261    __cil_tmp123 = __cil_tmp122 + __cil_tmp121;
3262#line 146
3263    __cil_tmp124 = *((int *)__cil_tmp123);
3264#line 146
3265    if (__cil_tmp124 < 0) {
3266#line 146
3267      tmp___2 = (char *)"";
3268    } else {
3269#line 146
3270      tmp___2 = (char *)"left ";
3271    }
3272    }
3273    {
3274#line 146
3275    __cil_tmp125 = (unsigned long )pdev;
3276#line 146
3277    __cil_tmp126 = __cil_tmp125 + 16;
3278#line 146
3279    __cil_tmp127 = (struct device *)__cil_tmp126;
3280#line 146
3281    __cil_tmp128 = (struct device  const  *)__cil_tmp127;
3282#line 146
3283    __cil_tmp129 = *((int *)pdata);
3284#line 146
3285    __dynamic_dev_dbg(& descriptor___0, __cil_tmp128, "%d ms scan time, buttons: %s%s%s\n",
3286                      __cil_tmp129, tmp___2, tmp___1, tmp___0);
3287    }
3288  } else {
3289
3290  }
3291#line 152
3292  return (0);
3293  out_free_polldev: 
3294  {
3295#line 155
3296  input_free_polled_device(input_poll);
3297#line 156
3298  __cil_tmp130 = (void *)0;
3299#line 156
3300  platform_set_drvdata(pdev, __cil_tmp130);
3301  }
3302  out_free_gpios: ;
3303#line 159
3304  goto ldv_19482;
3305  ldv_19481: 
3306#line 160
3307  __cil_tmp131 = i * 4UL;
3308#line 160
3309  __cil_tmp132 = 0 + __cil_tmp131;
3310#line 160
3311  __cil_tmp133 = 8 + __cil_tmp132;
3312#line 160
3313  __cil_tmp134 = (unsigned long )pdata;
3314#line 160
3315  __cil_tmp135 = __cil_tmp134 + __cil_tmp133;
3316#line 160
3317  pin = *((int *)__cil_tmp135);
3318#line 161
3319  if (pin != 0) {
3320    {
3321#line 162
3322    __cil_tmp136 = (unsigned int )pin;
3323#line 162
3324    gpio_free(__cil_tmp136);
3325    }
3326  } else {
3327
3328  }
3329  ldv_19482: 
3330#line 159
3331  i = i - 1;
3332#line 159
3333  if (i >= 0) {
3334#line 160
3335    goto ldv_19481;
3336  } else {
3337#line 162
3338    goto ldv_19483;
3339  }
3340  ldv_19483: ;
3341  out: ;
3342#line 165
3343  return (error);
3344}
3345}
3346#line 220
3347extern void ldv_check_final_state(void) ;
3348#line 223
3349extern void ldv_check_return_value(int  ) ;
3350#line 226
3351extern void ldv_initialize(void) ;
3352#line 229
3353extern int __VERIFIER_nondet_int(void) ;
3354#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3355int LDV_IN_INTERRUPT  ;
3356#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3357void main(void) 
3358{ struct platform_device *var_group1 ;
3359  int res_gpio_mouse_probe_1 ;
3360  int ldv_s_gpio_mouse_device_driver_platform_driver ;
3361  int tmp ;
3362  int tmp___0 ;
3363
3364  {
3365  {
3366#line 265
3367  ldv_s_gpio_mouse_device_driver_platform_driver = 0;
3368#line 255
3369  LDV_IN_INTERRUPT = 1;
3370#line 264
3371  ldv_initialize();
3372  }
3373#line 268
3374  goto ldv_19535;
3375  ldv_19534: 
3376  {
3377#line 272
3378  tmp = __VERIFIER_nondet_int();
3379  }
3380#line 274
3381  if (tmp == 0) {
3382#line 274
3383    goto case_0;
3384  } else {
3385    {
3386#line 293
3387    goto switch_default;
3388#line 272
3389    if (0) {
3390      case_0: /* CIL Label */ ;
3391#line 277
3392      if (ldv_s_gpio_mouse_device_driver_platform_driver == 0) {
3393        {
3394#line 282
3395        res_gpio_mouse_probe_1 = gpio_mouse_probe(var_group1);
3396#line 283
3397        ldv_check_return_value(res_gpio_mouse_probe_1);
3398        }
3399#line 284
3400        if (res_gpio_mouse_probe_1 != 0) {
3401#line 285
3402          goto ldv_module_exit;
3403        } else {
3404
3405        }
3406#line 286
3407        ldv_s_gpio_mouse_device_driver_platform_driver = 0;
3408      } else {
3409
3410      }
3411#line 292
3412      goto ldv_19532;
3413      switch_default: /* CIL Label */ ;
3414#line 293
3415      goto ldv_19532;
3416    } else {
3417      switch_break: /* CIL Label */ ;
3418    }
3419    }
3420  }
3421  ldv_19532: ;
3422  ldv_19535: 
3423  {
3424#line 268
3425  tmp___0 = __VERIFIER_nondet_int();
3426  }
3427#line 268
3428  if (tmp___0 != 0) {
3429#line 270
3430    goto ldv_19534;
3431  } else
3432#line 268
3433  if (ldv_s_gpio_mouse_device_driver_platform_driver != 0) {
3434#line 270
3435    goto ldv_19534;
3436  } else {
3437#line 272
3438    goto ldv_19536;
3439  }
3440  ldv_19536: ;
3441  ldv_module_exit: ;
3442  {
3443#line 302
3444  ldv_check_final_state();
3445  }
3446#line 305
3447  return;
3448}
3449}
3450#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3451void ldv_blast_assert(void) 
3452{ 
3453
3454  {
3455  ERROR: ;
3456#line 6
3457  goto ERROR;
3458}
3459}
3460#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3461extern int __VERIFIER_nondet_int(void) ;
3462#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3463int ldv_spin  =    0;
3464#line 330 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3465void ldv_check_alloc_flags(gfp_t flags ) 
3466{ 
3467
3468  {
3469#line 333
3470  if (ldv_spin != 0) {
3471#line 333
3472    if (flags != 32U) {
3473      {
3474#line 333
3475      ldv_blast_assert();
3476      }
3477    } else {
3478
3479    }
3480  } else {
3481
3482  }
3483#line 336
3484  return;
3485}
3486}
3487#line 336
3488extern struct page *ldv_some_page(void) ;
3489#line 339 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3490struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3491{ struct page *tmp ;
3492
3493  {
3494#line 342
3495  if (ldv_spin != 0) {
3496#line 342
3497    if (flags != 32U) {
3498      {
3499#line 342
3500      ldv_blast_assert();
3501      }
3502    } else {
3503
3504    }
3505  } else {
3506
3507  }
3508  {
3509#line 344
3510  tmp = ldv_some_page();
3511  }
3512#line 344
3513  return (tmp);
3514}
3515}
3516#line 348 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3517void ldv_check_alloc_nonatomic(void) 
3518{ 
3519
3520  {
3521#line 351
3522  if (ldv_spin != 0) {
3523    {
3524#line 351
3525    ldv_blast_assert();
3526    }
3527  } else {
3528
3529  }
3530#line 354
3531  return;
3532}
3533}
3534#line 355 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3535void ldv_spin_lock(void) 
3536{ 
3537
3538  {
3539#line 358
3540  ldv_spin = 1;
3541#line 359
3542  return;
3543}
3544}
3545#line 362 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3546void ldv_spin_unlock(void) 
3547{ 
3548
3549  {
3550#line 365
3551  ldv_spin = 0;
3552#line 366
3553  return;
3554}
3555}
3556#line 369 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3557int ldv_spin_trylock(void) 
3558{ int is_lock ;
3559
3560  {
3561  {
3562#line 374
3563  is_lock = __VERIFIER_nondet_int();
3564  }
3565#line 376
3566  if (is_lock != 0) {
3567#line 379
3568    return (0);
3569  } else {
3570#line 384
3571    ldv_spin = 1;
3572#line 386
3573    return (1);
3574  }
3575}
3576}
3577#line 553 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2953/dscv_tempdir/dscv/ri/43_1a/drivers/input/mouse/gpio_mouse.c.p"
3578void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3579{ 
3580
3581  {
3582  {
3583#line 559
3584  ldv_check_alloc_flags(ldv_func_arg2);
3585#line 561
3586  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3587  }
3588#line 562
3589  return ((void *)0);
3590}
3591}