Showing error 833

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


Source:

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