Showing error 270

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