Showing error 853

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


Source:

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