Showing error 269

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


Source:

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