Showing error 837

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


Source:

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