Showing error 877

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


Source:

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