Showing error 278

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--dynapro.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3404
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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