Showing error 226

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