Showing error 286

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