Showing error 199

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--gpio--gpio-wm831x.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2780
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 23 "include/asm-generic/int-ll64.h"
   5typedef unsigned short __u16;
   6#line 26 "include/asm-generic/int-ll64.h"
   7typedef unsigned int __u32;
   8#line 30 "include/asm-generic/int-ll64.h"
   9typedef unsigned long long __u64;
  10#line 45 "include/asm-generic/int-ll64.h"
  11typedef short s16;
  12#line 46 "include/asm-generic/int-ll64.h"
  13typedef unsigned short u16;
  14#line 49 "include/asm-generic/int-ll64.h"
  15typedef unsigned int u32;
  16#line 51 "include/asm-generic/int-ll64.h"
  17typedef long long s64;
  18#line 52 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long u64;
  20#line 14 "include/asm-generic/posix_types.h"
  21typedef long __kernel_long_t;
  22#line 15 "include/asm-generic/posix_types.h"
  23typedef unsigned long __kernel_ulong_t;
  24#line 75 "include/asm-generic/posix_types.h"
  25typedef __kernel_ulong_t __kernel_size_t;
  26#line 76 "include/asm-generic/posix_types.h"
  27typedef __kernel_long_t __kernel_ssize_t;
  28#line 91 "include/asm-generic/posix_types.h"
  29typedef long long __kernel_loff_t;
  30#line 21 "include/linux/types.h"
  31typedef __u32 __kernel_dev_t;
  32#line 24 "include/linux/types.h"
  33typedef __kernel_dev_t dev_t;
  34#line 27 "include/linux/types.h"
  35typedef unsigned short umode_t;
  36#line 38 "include/linux/types.h"
  37typedef _Bool bool;
  38#line 54 "include/linux/types.h"
  39typedef __kernel_loff_t loff_t;
  40#line 63 "include/linux/types.h"
  41typedef __kernel_size_t size_t;
  42#line 68 "include/linux/types.h"
  43typedef __kernel_ssize_t ssize_t;
  44#line 202 "include/linux/types.h"
  45typedef unsigned int gfp_t;
  46#line 206 "include/linux/types.h"
  47typedef u64 phys_addr_t;
  48#line 211 "include/linux/types.h"
  49typedef phys_addr_t resource_size_t;
  50#line 219 "include/linux/types.h"
  51struct __anonstruct_atomic_t_7 {
  52   int counter ;
  53};
  54#line 219 "include/linux/types.h"
  55typedef struct __anonstruct_atomic_t_7 atomic_t;
  56#line 224 "include/linux/types.h"
  57struct __anonstruct_atomic64_t_8 {
  58   long counter ;
  59};
  60#line 224 "include/linux/types.h"
  61typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  62#line 229 "include/linux/types.h"
  63struct list_head {
  64   struct list_head *next ;
  65   struct list_head *prev ;
  66};
  67#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  68struct module;
  69#line 56
  70struct module;
  71#line 146 "include/linux/init.h"
  72typedef void (*ctor_fn_t)(void);
  73#line 47 "include/linux/dynamic_debug.h"
  74struct device;
  75#line 47
  76struct device;
  77#line 135 "include/linux/kernel.h"
  78struct completion;
  79#line 135
  80struct completion;
  81#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
  82struct page;
  83#line 18
  84struct page;
  85#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
  86struct task_struct;
  87#line 20
  88struct task_struct;
  89#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  90struct task_struct;
  91#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  92struct file;
  93#line 295
  94struct file;
  95#line 313
  96struct seq_file;
  97#line 313
  98struct seq_file;
  99#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 100struct page;
 101#line 52
 102struct task_struct;
 103#line 329
 104struct arch_spinlock;
 105#line 329
 106struct arch_spinlock;
 107#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 108struct task_struct;
 109#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 110struct task_struct;
 111#line 10 "include/asm-generic/bug.h"
 112struct bug_entry {
 113   int bug_addr_disp ;
 114   int file_disp ;
 115   unsigned short line ;
 116   unsigned short flags ;
 117};
 118#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 119struct static_key;
 120#line 234
 121struct static_key;
 122#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 123struct seq_operations;
 124#line 433
 125struct kmem_cache;
 126#line 23 "include/asm-generic/atomic-long.h"
 127typedef atomic64_t atomic_long_t;
 128#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 129typedef u16 __ticket_t;
 130#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 131typedef u32 __ticketpair_t;
 132#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 133struct __raw_tickets {
 134   __ticket_t head ;
 135   __ticket_t tail ;
 136};
 137#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 138union __anonunion____missing_field_name_36 {
 139   __ticketpair_t head_tail ;
 140   struct __raw_tickets tickets ;
 141};
 142#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 143struct arch_spinlock {
 144   union __anonunion____missing_field_name_36 __annonCompField17 ;
 145};
 146#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 147typedef struct arch_spinlock arch_spinlock_t;
 148#line 12 "include/linux/lockdep.h"
 149struct task_struct;
 150#line 20 "include/linux/spinlock_types.h"
 151struct raw_spinlock {
 152   arch_spinlock_t raw_lock ;
 153   unsigned int magic ;
 154   unsigned int owner_cpu ;
 155   void *owner ;
 156};
 157#line 64 "include/linux/spinlock_types.h"
 158union __anonunion____missing_field_name_39 {
 159   struct raw_spinlock rlock ;
 160};
 161#line 64 "include/linux/spinlock_types.h"
 162struct spinlock {
 163   union __anonunion____missing_field_name_39 __annonCompField19 ;
 164};
 165#line 64 "include/linux/spinlock_types.h"
 166typedef struct spinlock spinlock_t;
 167#line 49 "include/linux/wait.h"
 168struct __wait_queue_head {
 169   spinlock_t lock ;
 170   struct list_head task_list ;
 171};
 172#line 53 "include/linux/wait.h"
 173typedef struct __wait_queue_head wait_queue_head_t;
 174#line 55
 175struct task_struct;
 176#line 60 "include/linux/pageblock-flags.h"
 177struct page;
 178#line 48 "include/linux/mutex.h"
 179struct mutex {
 180   atomic_t count ;
 181   spinlock_t wait_lock ;
 182   struct list_head wait_list ;
 183   struct task_struct *owner ;
 184   char const   *name ;
 185   void *magic ;
 186};
 187#line 25 "include/linux/completion.h"
 188struct completion {
 189   unsigned int done ;
 190   wait_queue_head_t wait ;
 191};
 192#line 9 "include/linux/memory_hotplug.h"
 193struct page;
 194#line 18 "include/linux/ioport.h"
 195struct resource {
 196   resource_size_t start ;
 197   resource_size_t end ;
 198   char const   *name ;
 199   unsigned long flags ;
 200   struct resource *parent ;
 201   struct resource *sibling ;
 202   struct resource *child ;
 203};
 204#line 202
 205struct device;
 206#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 207struct device;
 208#line 46 "include/linux/ktime.h"
 209union ktime {
 210   s64 tv64 ;
 211};
 212#line 59 "include/linux/ktime.h"
 213typedef union ktime ktime_t;
 214#line 10 "include/linux/timer.h"
 215struct tvec_base;
 216#line 10
 217struct tvec_base;
 218#line 12 "include/linux/timer.h"
 219struct timer_list {
 220   struct list_head entry ;
 221   unsigned long expires ;
 222   struct tvec_base *base ;
 223   void (*function)(unsigned long  ) ;
 224   unsigned long data ;
 225   int slack ;
 226   int start_pid ;
 227   void *start_site ;
 228   char start_comm[16] ;
 229};
 230#line 17 "include/linux/workqueue.h"
 231struct work_struct;
 232#line 17
 233struct work_struct;
 234#line 79 "include/linux/workqueue.h"
 235struct work_struct {
 236   atomic_long_t data ;
 237   struct list_head entry ;
 238   void (*func)(struct work_struct *work ) ;
 239};
 240#line 42 "include/linux/pm.h"
 241struct device;
 242#line 50 "include/linux/pm.h"
 243struct pm_message {
 244   int event ;
 245};
 246#line 50 "include/linux/pm.h"
 247typedef struct pm_message pm_message_t;
 248#line 264 "include/linux/pm.h"
 249struct dev_pm_ops {
 250   int (*prepare)(struct device *dev ) ;
 251   void (*complete)(struct device *dev ) ;
 252   int (*suspend)(struct device *dev ) ;
 253   int (*resume)(struct device *dev ) ;
 254   int (*freeze)(struct device *dev ) ;
 255   int (*thaw)(struct device *dev ) ;
 256   int (*poweroff)(struct device *dev ) ;
 257   int (*restore)(struct device *dev ) ;
 258   int (*suspend_late)(struct device *dev ) ;
 259   int (*resume_early)(struct device *dev ) ;
 260   int (*freeze_late)(struct device *dev ) ;
 261   int (*thaw_early)(struct device *dev ) ;
 262   int (*poweroff_late)(struct device *dev ) ;
 263   int (*restore_early)(struct device *dev ) ;
 264   int (*suspend_noirq)(struct device *dev ) ;
 265   int (*resume_noirq)(struct device *dev ) ;
 266   int (*freeze_noirq)(struct device *dev ) ;
 267   int (*thaw_noirq)(struct device *dev ) ;
 268   int (*poweroff_noirq)(struct device *dev ) ;
 269   int (*restore_noirq)(struct device *dev ) ;
 270   int (*runtime_suspend)(struct device *dev ) ;
 271   int (*runtime_resume)(struct device *dev ) ;
 272   int (*runtime_idle)(struct device *dev ) ;
 273};
 274#line 458
 275enum rpm_status {
 276    RPM_ACTIVE = 0,
 277    RPM_RESUMING = 1,
 278    RPM_SUSPENDED = 2,
 279    RPM_SUSPENDING = 3
 280} ;
 281#line 480
 282enum rpm_request {
 283    RPM_REQ_NONE = 0,
 284    RPM_REQ_IDLE = 1,
 285    RPM_REQ_SUSPEND = 2,
 286    RPM_REQ_AUTOSUSPEND = 3,
 287    RPM_REQ_RESUME = 4
 288} ;
 289#line 488
 290struct wakeup_source;
 291#line 488
 292struct wakeup_source;
 293#line 495 "include/linux/pm.h"
 294struct pm_subsys_data {
 295   spinlock_t lock ;
 296   unsigned int refcount ;
 297};
 298#line 506
 299struct dev_pm_qos_request;
 300#line 506
 301struct pm_qos_constraints;
 302#line 506 "include/linux/pm.h"
 303struct dev_pm_info {
 304   pm_message_t power_state ;
 305   unsigned int can_wakeup : 1 ;
 306   unsigned int async_suspend : 1 ;
 307   bool is_prepared : 1 ;
 308   bool is_suspended : 1 ;
 309   bool ignore_children : 1 ;
 310   spinlock_t lock ;
 311   struct list_head entry ;
 312   struct completion completion ;
 313   struct wakeup_source *wakeup ;
 314   bool wakeup_path : 1 ;
 315   struct timer_list suspend_timer ;
 316   unsigned long timer_expires ;
 317   struct work_struct work ;
 318   wait_queue_head_t wait_queue ;
 319   atomic_t usage_count ;
 320   atomic_t child_count ;
 321   unsigned int disable_depth : 3 ;
 322   unsigned int idle_notification : 1 ;
 323   unsigned int request_pending : 1 ;
 324   unsigned int deferred_resume : 1 ;
 325   unsigned int run_wake : 1 ;
 326   unsigned int runtime_auto : 1 ;
 327   unsigned int no_callbacks : 1 ;
 328   unsigned int irq_safe : 1 ;
 329   unsigned int use_autosuspend : 1 ;
 330   unsigned int timer_autosuspends : 1 ;
 331   enum rpm_request request ;
 332   enum rpm_status runtime_status ;
 333   int runtime_error ;
 334   int autosuspend_delay ;
 335   unsigned long last_busy ;
 336   unsigned long active_jiffies ;
 337   unsigned long suspended_jiffies ;
 338   unsigned long accounting_timestamp ;
 339   ktime_t suspend_time ;
 340   s64 max_time_suspended_ns ;
 341   struct dev_pm_qos_request *pq_req ;
 342   struct pm_subsys_data *subsys_data ;
 343   struct pm_qos_constraints *constraints ;
 344};
 345#line 564 "include/linux/pm.h"
 346struct dev_pm_domain {
 347   struct dev_pm_ops ops ;
 348};
 349#line 8 "include/linux/vmalloc.h"
 350struct vm_area_struct;
 351#line 8
 352struct vm_area_struct;
 353#line 994 "include/linux/mmzone.h"
 354struct page;
 355#line 10 "include/linux/gfp.h"
 356struct vm_area_struct;
 357#line 20 "include/linux/kobject_ns.h"
 358struct sock;
 359#line 20
 360struct sock;
 361#line 21
 362struct kobject;
 363#line 21
 364struct kobject;
 365#line 27
 366enum kobj_ns_type {
 367    KOBJ_NS_TYPE_NONE = 0,
 368    KOBJ_NS_TYPE_NET = 1,
 369    KOBJ_NS_TYPES = 2
 370} ;
 371#line 40 "include/linux/kobject_ns.h"
 372struct kobj_ns_type_operations {
 373   enum kobj_ns_type type ;
 374   void *(*grab_current_ns)(void) ;
 375   void const   *(*netlink_ns)(struct sock *sk ) ;
 376   void const   *(*initial_ns)(void) ;
 377   void (*drop_ns)(void * ) ;
 378};
 379#line 22 "include/linux/sysfs.h"
 380struct kobject;
 381#line 23
 382struct module;
 383#line 24
 384enum kobj_ns_type;
 385#line 26 "include/linux/sysfs.h"
 386struct attribute {
 387   char const   *name ;
 388   umode_t mode ;
 389};
 390#line 56 "include/linux/sysfs.h"
 391struct attribute_group {
 392   char const   *name ;
 393   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 394   struct attribute **attrs ;
 395};
 396#line 85
 397struct file;
 398#line 86
 399struct vm_area_struct;
 400#line 88 "include/linux/sysfs.h"
 401struct bin_attribute {
 402   struct attribute attr ;
 403   size_t size ;
 404   void *private ;
 405   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 406                   loff_t  , size_t  ) ;
 407   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 408                    loff_t  , size_t  ) ;
 409   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 410};
 411#line 112 "include/linux/sysfs.h"
 412struct sysfs_ops {
 413   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 414   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 415   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 416};
 417#line 118
 418struct sysfs_dirent;
 419#line 118
 420struct sysfs_dirent;
 421#line 22 "include/linux/kref.h"
 422struct kref {
 423   atomic_t refcount ;
 424};
 425#line 60 "include/linux/kobject.h"
 426struct kset;
 427#line 60
 428struct kobj_type;
 429#line 60 "include/linux/kobject.h"
 430struct kobject {
 431   char const   *name ;
 432   struct list_head entry ;
 433   struct kobject *parent ;
 434   struct kset *kset ;
 435   struct kobj_type *ktype ;
 436   struct sysfs_dirent *sd ;
 437   struct kref kref ;
 438   unsigned int state_initialized : 1 ;
 439   unsigned int state_in_sysfs : 1 ;
 440   unsigned int state_add_uevent_sent : 1 ;
 441   unsigned int state_remove_uevent_sent : 1 ;
 442   unsigned int uevent_suppress : 1 ;
 443};
 444#line 108 "include/linux/kobject.h"
 445struct kobj_type {
 446   void (*release)(struct kobject *kobj ) ;
 447   struct sysfs_ops  const  *sysfs_ops ;
 448   struct attribute **default_attrs ;
 449   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 450   void const   *(*namespace)(struct kobject *kobj ) ;
 451};
 452#line 116 "include/linux/kobject.h"
 453struct kobj_uevent_env {
 454   char *envp[32] ;
 455   int envp_idx ;
 456   char buf[2048] ;
 457   int buflen ;
 458};
 459#line 123 "include/linux/kobject.h"
 460struct kset_uevent_ops {
 461   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 462   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 463   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 464};
 465#line 140
 466struct sock;
 467#line 159 "include/linux/kobject.h"
 468struct kset {
 469   struct list_head list ;
 470   spinlock_t list_lock ;
 471   struct kobject kobj ;
 472   struct kset_uevent_ops  const  *uevent_ops ;
 473};
 474#line 46 "include/linux/slub_def.h"
 475struct kmem_cache_cpu {
 476   void **freelist ;
 477   unsigned long tid ;
 478   struct page *page ;
 479   struct page *partial ;
 480   int node ;
 481   unsigned int stat[26] ;
 482};
 483#line 57 "include/linux/slub_def.h"
 484struct kmem_cache_node {
 485   spinlock_t list_lock ;
 486   unsigned long nr_partial ;
 487   struct list_head partial ;
 488   atomic_long_t nr_slabs ;
 489   atomic_long_t total_objects ;
 490   struct list_head full ;
 491};
 492#line 73 "include/linux/slub_def.h"
 493struct kmem_cache_order_objects {
 494   unsigned long x ;
 495};
 496#line 80 "include/linux/slub_def.h"
 497struct kmem_cache {
 498   struct kmem_cache_cpu *cpu_slab ;
 499   unsigned long flags ;
 500   unsigned long min_partial ;
 501   int size ;
 502   int objsize ;
 503   int offset ;
 504   int cpu_partial ;
 505   struct kmem_cache_order_objects oo ;
 506   struct kmem_cache_order_objects max ;
 507   struct kmem_cache_order_objects min ;
 508   gfp_t allocflags ;
 509   int refcount ;
 510   void (*ctor)(void * ) ;
 511   int inuse ;
 512   int align ;
 513   int reserved ;
 514   char const   *name ;
 515   struct list_head list ;
 516   struct kobject kobj ;
 517   int remote_node_defrag_ratio ;
 518   struct kmem_cache_node *node[1 << 10] ;
 519};
 520#line 29 "include/linux/sysctl.h"
 521struct completion;
 522#line 49 "include/linux/kmod.h"
 523struct file;
 524#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 525struct task_struct;
 526#line 18 "include/linux/elf.h"
 527typedef __u64 Elf64_Addr;
 528#line 19 "include/linux/elf.h"
 529typedef __u16 Elf64_Half;
 530#line 23 "include/linux/elf.h"
 531typedef __u32 Elf64_Word;
 532#line 24 "include/linux/elf.h"
 533typedef __u64 Elf64_Xword;
 534#line 194 "include/linux/elf.h"
 535struct elf64_sym {
 536   Elf64_Word st_name ;
 537   unsigned char st_info ;
 538   unsigned char st_other ;
 539   Elf64_Half st_shndx ;
 540   Elf64_Addr st_value ;
 541   Elf64_Xword st_size ;
 542};
 543#line 194 "include/linux/elf.h"
 544typedef struct elf64_sym Elf64_Sym;
 545#line 438
 546struct file;
 547#line 39 "include/linux/moduleparam.h"
 548struct kernel_param;
 549#line 39
 550struct kernel_param;
 551#line 41 "include/linux/moduleparam.h"
 552struct kernel_param_ops {
 553   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 554   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 555   void (*free)(void *arg ) ;
 556};
 557#line 50
 558struct kparam_string;
 559#line 50
 560struct kparam_array;
 561#line 50 "include/linux/moduleparam.h"
 562union __anonunion____missing_field_name_199 {
 563   void *arg ;
 564   struct kparam_string  const  *str ;
 565   struct kparam_array  const  *arr ;
 566};
 567#line 50 "include/linux/moduleparam.h"
 568struct kernel_param {
 569   char const   *name ;
 570   struct kernel_param_ops  const  *ops ;
 571   u16 perm ;
 572   s16 level ;
 573   union __anonunion____missing_field_name_199 __annonCompField32 ;
 574};
 575#line 63 "include/linux/moduleparam.h"
 576struct kparam_string {
 577   unsigned int maxlen ;
 578   char *string ;
 579};
 580#line 69 "include/linux/moduleparam.h"
 581struct kparam_array {
 582   unsigned int max ;
 583   unsigned int elemsize ;
 584   unsigned int *num ;
 585   struct kernel_param_ops  const  *ops ;
 586   void *elem ;
 587};
 588#line 445
 589struct module;
 590#line 80 "include/linux/jump_label.h"
 591struct module;
 592#line 143 "include/linux/jump_label.h"
 593struct static_key {
 594   atomic_t enabled ;
 595};
 596#line 22 "include/linux/tracepoint.h"
 597struct module;
 598#line 23
 599struct tracepoint;
 600#line 23
 601struct tracepoint;
 602#line 25 "include/linux/tracepoint.h"
 603struct tracepoint_func {
 604   void *func ;
 605   void *data ;
 606};
 607#line 30 "include/linux/tracepoint.h"
 608struct tracepoint {
 609   char const   *name ;
 610   struct static_key key ;
 611   void (*regfunc)(void) ;
 612   void (*unregfunc)(void) ;
 613   struct tracepoint_func *funcs ;
 614};
 615#line 19 "include/linux/export.h"
 616struct kernel_symbol {
 617   unsigned long value ;
 618   char const   *name ;
 619};
 620#line 8 "include/asm-generic/module.h"
 621struct mod_arch_specific {
 622
 623};
 624#line 35 "include/linux/module.h"
 625struct module;
 626#line 37
 627struct module_param_attrs;
 628#line 37 "include/linux/module.h"
 629struct module_kobject {
 630   struct kobject kobj ;
 631   struct module *mod ;
 632   struct kobject *drivers_dir ;
 633   struct module_param_attrs *mp ;
 634};
 635#line 44 "include/linux/module.h"
 636struct module_attribute {
 637   struct attribute attr ;
 638   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 639   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 640                    size_t count ) ;
 641   void (*setup)(struct module * , char const   * ) ;
 642   int (*test)(struct module * ) ;
 643   void (*free)(struct module * ) ;
 644};
 645#line 71
 646struct exception_table_entry;
 647#line 71
 648struct exception_table_entry;
 649#line 199
 650enum module_state {
 651    MODULE_STATE_LIVE = 0,
 652    MODULE_STATE_COMING = 1,
 653    MODULE_STATE_GOING = 2
 654} ;
 655#line 215 "include/linux/module.h"
 656struct module_ref {
 657   unsigned long incs ;
 658   unsigned long decs ;
 659} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 660#line 220
 661struct module_sect_attrs;
 662#line 220
 663struct module_notes_attrs;
 664#line 220
 665struct ftrace_event_call;
 666#line 220 "include/linux/module.h"
 667struct module {
 668   enum module_state state ;
 669   struct list_head list ;
 670   char name[64UL - sizeof(unsigned long )] ;
 671   struct module_kobject mkobj ;
 672   struct module_attribute *modinfo_attrs ;
 673   char const   *version ;
 674   char const   *srcversion ;
 675   struct kobject *holders_dir ;
 676   struct kernel_symbol  const  *syms ;
 677   unsigned long const   *crcs ;
 678   unsigned int num_syms ;
 679   struct kernel_param *kp ;
 680   unsigned int num_kp ;
 681   unsigned int num_gpl_syms ;
 682   struct kernel_symbol  const  *gpl_syms ;
 683   unsigned long const   *gpl_crcs ;
 684   struct kernel_symbol  const  *unused_syms ;
 685   unsigned long const   *unused_crcs ;
 686   unsigned int num_unused_syms ;
 687   unsigned int num_unused_gpl_syms ;
 688   struct kernel_symbol  const  *unused_gpl_syms ;
 689   unsigned long const   *unused_gpl_crcs ;
 690   struct kernel_symbol  const  *gpl_future_syms ;
 691   unsigned long const   *gpl_future_crcs ;
 692   unsigned int num_gpl_future_syms ;
 693   unsigned int num_exentries ;
 694   struct exception_table_entry *extable ;
 695   int (*init)(void) ;
 696   void *module_init ;
 697   void *module_core ;
 698   unsigned int init_size ;
 699   unsigned int core_size ;
 700   unsigned int init_text_size ;
 701   unsigned int core_text_size ;
 702   unsigned int init_ro_size ;
 703   unsigned int core_ro_size ;
 704   struct mod_arch_specific arch ;
 705   unsigned int taints ;
 706   unsigned int num_bugs ;
 707   struct list_head bug_list ;
 708   struct bug_entry *bug_table ;
 709   Elf64_Sym *symtab ;
 710   Elf64_Sym *core_symtab ;
 711   unsigned int num_symtab ;
 712   unsigned int core_num_syms ;
 713   char *strtab ;
 714   char *core_strtab ;
 715   struct module_sect_attrs *sect_attrs ;
 716   struct module_notes_attrs *notes_attrs ;
 717   char *args ;
 718   void *percpu ;
 719   unsigned int percpu_size ;
 720   unsigned int num_tracepoints ;
 721   struct tracepoint * const  *tracepoints_ptrs ;
 722   unsigned int num_trace_bprintk_fmt ;
 723   char const   **trace_bprintk_fmt_start ;
 724   struct ftrace_event_call **trace_events ;
 725   unsigned int num_trace_events ;
 726   struct list_head source_list ;
 727   struct list_head target_list ;
 728   struct task_struct *waiter ;
 729   void (*exit)(void) ;
 730   struct module_ref *refptr ;
 731   ctor_fn_t *ctors ;
 732   unsigned int num_ctors ;
 733};
 734#line 12 "include/linux/mod_devicetable.h"
 735typedef unsigned long kernel_ulong_t;
 736#line 219 "include/linux/mod_devicetable.h"
 737struct of_device_id {
 738   char name[32] ;
 739   char type[32] ;
 740   char compatible[128] ;
 741   void *data ;
 742};
 743#line 506 "include/linux/mod_devicetable.h"
 744struct platform_device_id {
 745   char name[20] ;
 746   kernel_ulong_t driver_data  __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
 747};
 748#line 28 "include/linux/of.h"
 749typedef u32 phandle;
 750#line 31 "include/linux/of.h"
 751struct property {
 752   char *name ;
 753   int length ;
 754   void *value ;
 755   struct property *next ;
 756   unsigned long _flags ;
 757   unsigned int unique_id ;
 758};
 759#line 44
 760struct proc_dir_entry;
 761#line 44 "include/linux/of.h"
 762struct device_node {
 763   char const   *name ;
 764   char const   *type ;
 765   phandle phandle ;
 766   char *full_name ;
 767   struct property *properties ;
 768   struct property *deadprops ;
 769   struct device_node *parent ;
 770   struct device_node *child ;
 771   struct device_node *sibling ;
 772   struct device_node *next ;
 773   struct device_node *allnext ;
 774   struct proc_dir_entry *pde ;
 775   struct kref kref ;
 776   unsigned long _flags ;
 777   void *data ;
 778};
 779#line 44 "include/asm-generic/gpio.h"
 780struct device;
 781#line 46
 782struct seq_file;
 783#line 47
 784struct module;
 785#line 48
 786struct device_node;
 787#line 92 "include/asm-generic/gpio.h"
 788struct gpio_chip {
 789   char const   *label ;
 790   struct device *dev ;
 791   struct module *owner ;
 792   int (*request)(struct gpio_chip *chip , unsigned int offset ) ;
 793   void (*free)(struct gpio_chip *chip , unsigned int offset ) ;
 794   int (*direction_input)(struct gpio_chip *chip , unsigned int offset ) ;
 795   int (*get)(struct gpio_chip *chip , unsigned int offset ) ;
 796   int (*direction_output)(struct gpio_chip *chip , unsigned int offset , int value ) ;
 797   int (*set_debounce)(struct gpio_chip *chip , unsigned int offset , unsigned int debounce ) ;
 798   void (*set)(struct gpio_chip *chip , unsigned int offset , int value ) ;
 799   int (*to_irq)(struct gpio_chip *chip , unsigned int offset ) ;
 800   void (*dbg_show)(struct seq_file *s , struct gpio_chip *chip ) ;
 801   int base ;
 802   u16 ngpio ;
 803   char const   * const  *names ;
 804   unsigned int can_sleep : 1 ;
 805   unsigned int exported : 1 ;
 806};
 807#line 19 "include/linux/klist.h"
 808struct klist_node;
 809#line 19
 810struct klist_node;
 811#line 39 "include/linux/klist.h"
 812struct klist_node {
 813   void *n_klist ;
 814   struct list_head n_node ;
 815   struct kref n_ref ;
 816};
 817#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 818struct dma_map_ops;
 819#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 820struct dev_archdata {
 821   void *acpi_handle ;
 822   struct dma_map_ops *dma_ops ;
 823   void *iommu ;
 824};
 825#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 826struct pdev_archdata {
 827
 828};
 829#line 28 "include/linux/device.h"
 830struct device;
 831#line 29
 832struct device_private;
 833#line 29
 834struct device_private;
 835#line 30
 836struct device_driver;
 837#line 30
 838struct device_driver;
 839#line 31
 840struct driver_private;
 841#line 31
 842struct driver_private;
 843#line 32
 844struct module;
 845#line 33
 846struct class;
 847#line 33
 848struct class;
 849#line 34
 850struct subsys_private;
 851#line 34
 852struct subsys_private;
 853#line 35
 854struct bus_type;
 855#line 35
 856struct bus_type;
 857#line 36
 858struct device_node;
 859#line 37
 860struct iommu_ops;
 861#line 37
 862struct iommu_ops;
 863#line 39 "include/linux/device.h"
 864struct bus_attribute {
 865   struct attribute attr ;
 866   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 867   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
 868};
 869#line 89
 870struct device_attribute;
 871#line 89
 872struct driver_attribute;
 873#line 89 "include/linux/device.h"
 874struct bus_type {
 875   char const   *name ;
 876   char const   *dev_name ;
 877   struct device *dev_root ;
 878   struct bus_attribute *bus_attrs ;
 879   struct device_attribute *dev_attrs ;
 880   struct driver_attribute *drv_attrs ;
 881   int (*match)(struct device *dev , struct device_driver *drv ) ;
 882   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 883   int (*probe)(struct device *dev ) ;
 884   int (*remove)(struct device *dev ) ;
 885   void (*shutdown)(struct device *dev ) ;
 886   int (*suspend)(struct device *dev , pm_message_t state ) ;
 887   int (*resume)(struct device *dev ) ;
 888   struct dev_pm_ops  const  *pm ;
 889   struct iommu_ops *iommu_ops ;
 890   struct subsys_private *p ;
 891};
 892#line 127
 893struct device_type;
 894#line 214 "include/linux/device.h"
 895struct device_driver {
 896   char const   *name ;
 897   struct bus_type *bus ;
 898   struct module *owner ;
 899   char const   *mod_name ;
 900   bool suppress_bind_attrs ;
 901   struct of_device_id  const  *of_match_table ;
 902   int (*probe)(struct device *dev ) ;
 903   int (*remove)(struct device *dev ) ;
 904   void (*shutdown)(struct device *dev ) ;
 905   int (*suspend)(struct device *dev , pm_message_t state ) ;
 906   int (*resume)(struct device *dev ) ;
 907   struct attribute_group  const  **groups ;
 908   struct dev_pm_ops  const  *pm ;
 909   struct driver_private *p ;
 910};
 911#line 249 "include/linux/device.h"
 912struct driver_attribute {
 913   struct attribute attr ;
 914   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 915   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
 916};
 917#line 330
 918struct class_attribute;
 919#line 330 "include/linux/device.h"
 920struct class {
 921   char const   *name ;
 922   struct module *owner ;
 923   struct class_attribute *class_attrs ;
 924   struct device_attribute *dev_attrs ;
 925   struct bin_attribute *dev_bin_attrs ;
 926   struct kobject *dev_kobj ;
 927   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 928   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 929   void (*class_release)(struct class *class ) ;
 930   void (*dev_release)(struct device *dev ) ;
 931   int (*suspend)(struct device *dev , pm_message_t state ) ;
 932   int (*resume)(struct device *dev ) ;
 933   struct kobj_ns_type_operations  const  *ns_type ;
 934   void const   *(*namespace)(struct device *dev ) ;
 935   struct dev_pm_ops  const  *pm ;
 936   struct subsys_private *p ;
 937};
 938#line 397 "include/linux/device.h"
 939struct class_attribute {
 940   struct attribute attr ;
 941   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 942   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
 943                    size_t count ) ;
 944   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
 945};
 946#line 465 "include/linux/device.h"
 947struct device_type {
 948   char const   *name ;
 949   struct attribute_group  const  **groups ;
 950   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 951   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 952   void (*release)(struct device *dev ) ;
 953   struct dev_pm_ops  const  *pm ;
 954};
 955#line 476 "include/linux/device.h"
 956struct device_attribute {
 957   struct attribute attr ;
 958   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 959   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
 960                    size_t count ) ;
 961};
 962#line 559 "include/linux/device.h"
 963struct device_dma_parameters {
 964   unsigned int max_segment_size ;
 965   unsigned long segment_boundary_mask ;
 966};
 967#line 627
 968struct dma_coherent_mem;
 969#line 627 "include/linux/device.h"
 970struct device {
 971   struct device *parent ;
 972   struct device_private *p ;
 973   struct kobject kobj ;
 974   char const   *init_name ;
 975   struct device_type  const  *type ;
 976   struct mutex mutex ;
 977   struct bus_type *bus ;
 978   struct device_driver *driver ;
 979   void *platform_data ;
 980   struct dev_pm_info power ;
 981   struct dev_pm_domain *pm_domain ;
 982   int numa_node ;
 983   u64 *dma_mask ;
 984   u64 coherent_dma_mask ;
 985   struct device_dma_parameters *dma_parms ;
 986   struct list_head dma_pools ;
 987   struct dma_coherent_mem *dma_mem ;
 988   struct dev_archdata archdata ;
 989   struct device_node *of_node ;
 990   dev_t devt ;
 991   u32 id ;
 992   spinlock_t devres_lock ;
 993   struct list_head devres_head ;
 994   struct klist_node knode_class ;
 995   struct class *class ;
 996   struct attribute_group  const  **groups ;
 997   void (*release)(struct device *dev ) ;
 998};
 999#line 43 "include/linux/pm_wakeup.h"
1000struct wakeup_source {
1001   char const   *name ;
1002   struct list_head entry ;
1003   spinlock_t lock ;
1004   struct timer_list timer ;
1005   unsigned long timer_expires ;
1006   ktime_t total_time ;
1007   ktime_t max_time ;
1008   ktime_t last_time ;
1009   unsigned long event_count ;
1010   unsigned long active_count ;
1011   unsigned long relax_count ;
1012   unsigned long hit_count ;
1013   unsigned int active : 1 ;
1014};
1015#line 17 "include/linux/platform_device.h"
1016struct mfd_cell;
1017#line 17
1018struct mfd_cell;
1019#line 19 "include/linux/platform_device.h"
1020struct platform_device {
1021   char const   *name ;
1022   int id ;
1023   struct device dev ;
1024   u32 num_resources ;
1025   struct resource *resource ;
1026   struct platform_device_id  const  *id_entry ;
1027   struct mfd_cell *mfd_cell ;
1028   struct pdev_archdata archdata ;
1029};
1030#line 164 "include/linux/platform_device.h"
1031struct platform_driver {
1032   int (*probe)(struct platform_device * ) ;
1033   int (*remove)(struct platform_device * ) ;
1034   void (*shutdown)(struct platform_device * ) ;
1035   int (*suspend)(struct platform_device * , pm_message_t state ) ;
1036   int (*resume)(struct platform_device * ) ;
1037   struct device_driver driver ;
1038   struct platform_device_id  const  *id_table ;
1039};
1040#line 24 "include/linux/mfd/core.h"
1041struct mfd_cell {
1042   char const   *name ;
1043   int id ;
1044   atomic_t *usage_count ;
1045   int (*enable)(struct platform_device *dev ) ;
1046   int (*disable)(struct platform_device *dev ) ;
1047   int (*suspend)(struct platform_device *dev ) ;
1048   int (*resume)(struct platform_device *dev ) ;
1049   void *platform_data ;
1050   size_t pdata_size ;
1051   int num_resources ;
1052   struct resource  const  *resources ;
1053   bool ignore_resource_conflicts ;
1054   bool pm_runtime_no_callbacks ;
1055};
1056#line 11 "include/linux/seq_file.h"
1057struct seq_operations;
1058#line 12
1059struct file;
1060#line 17 "include/linux/seq_file.h"
1061struct seq_file {
1062   char *buf ;
1063   size_t size ;
1064   size_t from ;
1065   size_t count ;
1066   loff_t index ;
1067   loff_t read_pos ;
1068   u64 version ;
1069   struct mutex lock ;
1070   struct seq_operations  const  *op ;
1071   int poll_event ;
1072   void *private ;
1073};
1074#line 31 "include/linux/seq_file.h"
1075struct seq_operations {
1076   void *(*start)(struct seq_file *m , loff_t *pos ) ;
1077   void (*stop)(struct seq_file *m , void *v ) ;
1078   void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
1079   int (*show)(struct seq_file *m , void *v ) ;
1080};
1081#line 31 "include/linux/irq.h"
1082struct seq_file;
1083#line 32
1084struct module;
1085#line 12 "include/linux/irqdesc.h"
1086struct proc_dir_entry;
1087#line 14
1088struct module;
1089#line 16 "include/linux/profile.h"
1090struct proc_dir_entry;
1091#line 65
1092struct task_struct;
1093#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1094struct exception_table_entry {
1095   unsigned long insn ;
1096   unsigned long fixup ;
1097};
1098#line 132 "include/linux/hardirq.h"
1099struct task_struct;
1100#line 187 "include/linux/interrupt.h"
1101struct device;
1102#line 695
1103struct seq_file;
1104#line 18 "include/linux/regmap.h"
1105struct module;
1106#line 19
1107struct device;
1108#line 22
1109struct regmap;
1110#line 22
1111struct regmap;
1112#line 355 "include/linux/mfd/wm831x/core.h"
1113struct wm831x;
1114#line 355
1115struct wm831x;
1116#line 356
1117enum wm831x_auxadc;
1118#line 356
1119enum wm831x_auxadc;
1120#line 361 "include/linux/mfd/wm831x/core.h"
1121struct wm831x {
1122   struct mutex io_lock ;
1123   struct device *dev ;
1124   struct regmap *regmap ;
1125   int irq ;
1126   struct mutex irq_lock ;
1127   int irq_base ;
1128   int irq_masks_cur[5] ;
1129   int irq_masks_cache[5] ;
1130   bool soft_shutdown ;
1131   unsigned int has_gpio_ena : 1 ;
1132   unsigned int has_cs_sts : 1 ;
1133   unsigned int charger_irq_wake : 1 ;
1134   int num_gpio ;
1135   int gpio_update[16] ;
1136   bool gpio_level[16] ;
1137   struct mutex auxadc_lock ;
1138   struct list_head auxadc_pending ;
1139   u16 auxadc_active ;
1140   int (*auxadc_read)(struct wm831x *wm831x , enum wm831x_auxadc input ) ;
1141   struct mutex key_lock ;
1142   unsigned int locked : 1 ;
1143};
1144#line 18 "include/linux/mfd/wm831x/pdata.h"
1145struct wm831x;
1146#line 19
1147struct regulator_init_data;
1148#line 19
1149struct regulator_init_data;
1150#line 21 "include/linux/mfd/wm831x/pdata.h"
1151struct wm831x_backlight_pdata {
1152   int isink ;
1153   int max_uA ;
1154};
1155#line 26 "include/linux/mfd/wm831x/pdata.h"
1156struct wm831x_backup_pdata {
1157   int charger_enable ;
1158   int no_constant_voltage ;
1159   int vlim ;
1160   int ilim ;
1161};
1162#line 33 "include/linux/mfd/wm831x/pdata.h"
1163struct wm831x_battery_pdata {
1164   int enable ;
1165   int fast_enable ;
1166   int off_mask ;
1167   int trickle_ilim ;
1168   int vsel ;
1169   int eoc_iterm ;
1170   int fast_ilim ;
1171   int timeout ;
1172};
1173#line 64
1174enum wm831x_status_src {
1175    WM831X_STATUS_PRESERVE = 0,
1176    WM831X_STATUS_OTP = 1,
1177    WM831X_STATUS_POWER = 2,
1178    WM831X_STATUS_CHARGER = 3,
1179    WM831X_STATUS_MANUAL = 4
1180} ;
1181#line 72 "include/linux/mfd/wm831x/pdata.h"
1182struct wm831x_status_pdata {
1183   enum wm831x_status_src default_src ;
1184   char const   *name ;
1185   char const   *default_trigger ;
1186};
1187#line 78 "include/linux/mfd/wm831x/pdata.h"
1188struct wm831x_touch_pdata {
1189   int fivewire ;
1190   int isel ;
1191   int rpu ;
1192   int pressure ;
1193   unsigned int data_irq ;
1194   int data_irqf ;
1195   unsigned int pd_irq ;
1196   int pd_irqf ;
1197};
1198#line 89
1199enum wm831x_watchdog_action {
1200    WM831X_WDOG_NONE = 0,
1201    WM831X_WDOG_INTERRUPT = 1,
1202    WM831X_WDOG_RESET = 2,
1203    WM831X_WDOG_WAKE = 3
1204} ;
1205#line 96 "include/linux/mfd/wm831x/pdata.h"
1206struct wm831x_watchdog_pdata {
1207   enum wm831x_watchdog_action primary ;
1208   enum wm831x_watchdog_action secondary ;
1209   int update_gpio ;
1210   unsigned int software : 1 ;
1211};
1212#line 111 "include/linux/mfd/wm831x/pdata.h"
1213struct wm831x_pdata {
1214   int wm831x_num ;
1215   int (*pre_init)(struct wm831x *wm831x ) ;
1216   int (*post_init)(struct wm831x *wm831x ) ;
1217   bool irq_cmos ;
1218   bool disable_touch ;
1219   bool soft_shutdown ;
1220   int irq_base ;
1221   int gpio_base ;
1222   int gpio_defaults[16] ;
1223   struct wm831x_backlight_pdata *backlight ;
1224   struct wm831x_backup_pdata *backup ;
1225   struct wm831x_battery_pdata *battery ;
1226   struct wm831x_touch_pdata *touch ;
1227   struct wm831x_watchdog_pdata *watchdog ;
1228   struct wm831x_status_pdata *status[2] ;
1229   struct regulator_init_data *dcdc[4] ;
1230   struct regulator_init_data *epe[2] ;
1231   struct regulator_init_data *ldo[11] ;
1232   struct regulator_init_data *isink[2] ;
1233};
1234#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1235struct wm831x_gpio {
1236   struct wm831x *wm831x ;
1237   struct gpio_chip gpio_chip ;
1238};
1239#line 1 "<compiler builtins>"
1240long __builtin_expect(long val , long res ) ;
1241#line 152 "include/linux/mutex.h"
1242void mutex_lock(struct mutex *lock ) ;
1243#line 153
1244int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
1245#line 154
1246int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
1247#line 168
1248int mutex_trylock(struct mutex *lock ) ;
1249#line 169
1250void mutex_unlock(struct mutex *lock ) ;
1251#line 170
1252int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1253#line 161 "include/linux/slab.h"
1254extern void kfree(void const   * ) ;
1255#line 221 "include/linux/slub_def.h"
1256extern void *__kmalloc(size_t size , gfp_t flags ) ;
1257#line 268
1258__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1259                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1260#line 268 "include/linux/slub_def.h"
1261__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1262                                                                    gfp_t flags ) 
1263{ void *tmp___2 ;
1264
1265  {
1266  {
1267#line 283
1268  tmp___2 = __kmalloc(size, flags);
1269  }
1270#line 283
1271  return (tmp___2);
1272}
1273}
1274#line 349 "include/linux/slab.h"
1275__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1276#line 349 "include/linux/slab.h"
1277__inline static void *kzalloc(size_t size , gfp_t flags ) 
1278{ void *tmp ;
1279  unsigned int __cil_tmp4 ;
1280
1281  {
1282  {
1283#line 351
1284  __cil_tmp4 = flags | 32768U;
1285#line 351
1286  tmp = kmalloc(size, __cil_tmp4);
1287  }
1288#line 351
1289  return (tmp);
1290}
1291}
1292#line 26 "include/linux/export.h"
1293extern struct module __this_module ;
1294#line 67 "include/linux/module.h"
1295int init_module(void) ;
1296#line 68
1297void cleanup_module(void) ;
1298#line 137 "include/asm-generic/gpio.h"
1299extern char const   *gpiochip_is_requested(struct gpio_chip *chip , unsigned int offset ) ;
1300#line 143
1301extern int gpiochip_add(struct gpio_chip *chip ) ;
1302#line 144
1303extern int __attribute__((__warn_unused_result__))  gpiochip_remove(struct gpio_chip *chip ) ;
1304#line 792 "include/linux/device.h"
1305extern void *dev_get_drvdata(struct device  const  *dev ) ;
1306#line 793
1307extern int dev_set_drvdata(struct device *dev , void *data ) ;
1308#line 891
1309extern int ( /* format attribute */  dev_err)(struct device  const  *dev , char const   *fmt 
1310                                              , ...) ;
1311#line 174 "include/linux/platform_device.h"
1312extern int platform_driver_register(struct platform_driver * ) ;
1313#line 175
1314extern void platform_driver_unregister(struct platform_driver * ) ;
1315#line 183
1316__inline static void *platform_get_drvdata(struct platform_device  const  *pdev )  __attribute__((__no_instrument_function__)) ;
1317#line 183 "include/linux/platform_device.h"
1318__inline static void *platform_get_drvdata(struct platform_device  const  *pdev ) 
1319{ void *tmp ;
1320  unsigned long __cil_tmp3 ;
1321  unsigned long __cil_tmp4 ;
1322  struct device  const  *__cil_tmp5 ;
1323
1324  {
1325  {
1326#line 185
1327  __cil_tmp3 = (unsigned long )pdev;
1328#line 185
1329  __cil_tmp4 = __cil_tmp3 + 16;
1330#line 185
1331  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
1332#line 185
1333  tmp = dev_get_drvdata(__cil_tmp5);
1334  }
1335#line 185
1336  return (tmp);
1337}
1338}
1339#line 188
1340__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )  __attribute__((__no_instrument_function__)) ;
1341#line 188 "include/linux/platform_device.h"
1342__inline static void platform_set_drvdata(struct platform_device *pdev , void *data ) 
1343{ unsigned long __cil_tmp3 ;
1344  unsigned long __cil_tmp4 ;
1345  struct device *__cil_tmp5 ;
1346
1347  {
1348  {
1349#line 190
1350  __cil_tmp3 = (unsigned long )pdev;
1351#line 190
1352  __cil_tmp4 = __cil_tmp3 + 16;
1353#line 190
1354  __cil_tmp5 = (struct device *)__cil_tmp4;
1355#line 190
1356  dev_set_drvdata(__cil_tmp5, data);
1357  }
1358#line 191
1359  return;
1360}
1361}
1362#line 88 "include/linux/seq_file.h"
1363extern int ( /* format attribute */  seq_printf)(struct seq_file * , char const   * 
1364                                                 , ...) ;
1365#line 402 "include/linux/mfd/wm831x/core.h"
1366extern int wm831x_reg_read(struct wm831x *wm831x , unsigned short reg ) ;
1367#line 407
1368extern int wm831x_set_bits(struct wm831x *wm831x , unsigned short reg , unsigned short mask ,
1369                           unsigned short val ) ;
1370#line 34 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1371__inline static struct wm831x_gpio *to_wm831x_gpio(struct gpio_chip *chip )  __attribute__((__no_instrument_function__)) ;
1372#line 34 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1373__inline static struct wm831x_gpio *to_wm831x_gpio(struct gpio_chip *chip ) 
1374{ struct gpio_chip  const  *__mptr ;
1375  struct wm831x_gpio *__cil_tmp3 ;
1376  unsigned long __cil_tmp4 ;
1377  unsigned long __cil_tmp5 ;
1378  struct gpio_chip *__cil_tmp6 ;
1379  unsigned int __cil_tmp7 ;
1380  char *__cil_tmp8 ;
1381  char *__cil_tmp9 ;
1382
1383  {
1384#line 36
1385  __mptr = (struct gpio_chip  const  *)chip;
1386  {
1387#line 36
1388  __cil_tmp3 = (struct wm831x_gpio *)0;
1389#line 36
1390  __cil_tmp4 = (unsigned long )__cil_tmp3;
1391#line 36
1392  __cil_tmp5 = __cil_tmp4 + 8;
1393#line 36
1394  __cil_tmp6 = (struct gpio_chip *)__cil_tmp5;
1395#line 36
1396  __cil_tmp7 = (unsigned int )__cil_tmp6;
1397#line 36
1398  __cil_tmp8 = (char *)__mptr;
1399#line 36
1400  __cil_tmp9 = __cil_tmp8 - __cil_tmp7;
1401#line 36
1402  return ((struct wm831x_gpio *)__cil_tmp9);
1403  }
1404}
1405}
1406#line 39 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1407static int wm831x_gpio_direction_in(struct gpio_chip *chip , unsigned int offset ) 
1408{ struct wm831x_gpio *wm831x_gpio ;
1409  struct wm831x_gpio *tmp ;
1410  struct wm831x *wm831x ;
1411  int val ;
1412  int tmp___0 ;
1413  unsigned long __cil_tmp8 ;
1414  unsigned long __cil_tmp9 ;
1415  unsigned int __cil_tmp10 ;
1416  unsigned short __cil_tmp11 ;
1417  unsigned short __cil_tmp12 ;
1418
1419  {
1420  {
1421#line 41
1422  tmp = to_wm831x_gpio(chip);
1423#line 41
1424  wm831x_gpio = tmp;
1425#line 42
1426  wm831x = *((struct wm831x **)wm831x_gpio);
1427#line 43
1428  val = 32768;
1429  }
1430  {
1431#line 45
1432  __cil_tmp8 = (unsigned long )wm831x;
1433#line 45
1434  __cil_tmp9 = __cil_tmp8 + 213;
1435#line 45
1436  if (*((unsigned int *)__cil_tmp9)) {
1437#line 46
1438    val = val | 128;
1439  } else {
1440
1441  }
1442  }
1443  {
1444#line 48
1445  __cil_tmp10 = 16440U + offset;
1446#line 48
1447  __cil_tmp11 = (unsigned short )__cil_tmp10;
1448#line 48
1449  __cil_tmp12 = (unsigned short )val;
1450#line 48
1451  tmp___0 = wm831x_set_bits(wm831x, __cil_tmp11, (unsigned short)32911, __cil_tmp12);
1452  }
1453#line 48
1454  return (tmp___0);
1455}
1456}
1457#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1458static int wm831x_gpio_get(struct gpio_chip *chip , unsigned int offset ) 
1459{ struct wm831x_gpio *wm831x_gpio ;
1460  struct wm831x_gpio *tmp ;
1461  struct wm831x *wm831x ;
1462  int ret ;
1463  int __cil_tmp7 ;
1464
1465  {
1466  {
1467#line 55
1468  tmp = to_wm831x_gpio(chip);
1469#line 55
1470  wm831x_gpio = tmp;
1471#line 56
1472  wm831x = *((struct wm831x **)wm831x_gpio);
1473#line 59
1474  ret = wm831x_reg_read(wm831x, (unsigned short)16396);
1475  }
1476#line 60
1477  if (ret < 0) {
1478#line 61
1479    return (ret);
1480  } else {
1481
1482  }
1483  {
1484#line 63
1485  __cil_tmp7 = 1 << offset;
1486#line 63
1487  if (ret & __cil_tmp7) {
1488#line 64
1489    return (1);
1490  } else {
1491#line 66
1492    return (0);
1493  }
1494  }
1495}
1496}
1497#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1498static void wm831x_gpio_set(struct gpio_chip *chip , unsigned int offset , int value ) 
1499{ struct wm831x_gpio *wm831x_gpio ;
1500  struct wm831x_gpio *tmp ;
1501  struct wm831x *wm831x ;
1502  int __cil_tmp7 ;
1503  unsigned short __cil_tmp8 ;
1504  int __cil_tmp9 ;
1505  unsigned short __cil_tmp10 ;
1506
1507  {
1508  {
1509#line 71
1510  tmp = to_wm831x_gpio(chip);
1511#line 71
1512  wm831x_gpio = tmp;
1513#line 72
1514  wm831x = *((struct wm831x **)wm831x_gpio);
1515#line 74
1516  __cil_tmp7 = 1 << offset;
1517#line 74
1518  __cil_tmp8 = (unsigned short )__cil_tmp7;
1519#line 74
1520  __cil_tmp9 = value << offset;
1521#line 74
1522  __cil_tmp10 = (unsigned short )__cil_tmp9;
1523#line 74
1524  wm831x_set_bits(wm831x, (unsigned short)16396, __cil_tmp8, __cil_tmp10);
1525  }
1526#line 76
1527  return;
1528}
1529}
1530#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1531static int wm831x_gpio_direction_out(struct gpio_chip *chip , unsigned int offset ,
1532                                     int value ) 
1533{ struct wm831x_gpio *wm831x_gpio ;
1534  struct wm831x_gpio *tmp ;
1535  struct wm831x *wm831x ;
1536  int val ;
1537  int ret ;
1538  unsigned long __cil_tmp9 ;
1539  unsigned long __cil_tmp10 ;
1540  unsigned int __cil_tmp11 ;
1541  unsigned short __cil_tmp12 ;
1542  unsigned short __cil_tmp13 ;
1543
1544  {
1545  {
1546#line 81
1547  tmp = to_wm831x_gpio(chip);
1548#line 81
1549  wm831x_gpio = tmp;
1550#line 82
1551  wm831x = *((struct wm831x **)wm831x_gpio);
1552#line 83
1553  val = 0;
1554  }
1555  {
1556#line 86
1557  __cil_tmp9 = (unsigned long )wm831x;
1558#line 86
1559  __cil_tmp10 = __cil_tmp9 + 213;
1560#line 86
1561  if (*((unsigned int *)__cil_tmp10)) {
1562#line 87
1563    val = val | 128;
1564  } else {
1565
1566  }
1567  }
1568  {
1569#line 89
1570  __cil_tmp11 = 16440U + offset;
1571#line 89
1572  __cil_tmp12 = (unsigned short )__cil_tmp11;
1573#line 89
1574  __cil_tmp13 = (unsigned short )val;
1575#line 89
1576  ret = wm831x_set_bits(wm831x, __cil_tmp12, (unsigned short)32911, __cil_tmp13);
1577  }
1578#line 92
1579  if (ret < 0) {
1580#line 93
1581    return (ret);
1582  } else {
1583
1584  }
1585  {
1586#line 96
1587  wm831x_gpio_set(chip, offset, value);
1588  }
1589#line 98
1590  return (0);
1591}
1592}
1593#line 101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1594static int wm831x_gpio_to_irq(struct gpio_chip *chip , unsigned int offset ) 
1595{ struct wm831x_gpio *wm831x_gpio ;
1596  struct wm831x_gpio *tmp ;
1597  struct wm831x *wm831x ;
1598  unsigned long __cil_tmp6 ;
1599  unsigned long __cil_tmp7 ;
1600  int __cil_tmp8 ;
1601  unsigned long __cil_tmp9 ;
1602  unsigned long __cil_tmp10 ;
1603  int __cil_tmp11 ;
1604  int __cil_tmp12 ;
1605  unsigned int __cil_tmp13 ;
1606  unsigned int __cil_tmp14 ;
1607
1608  {
1609  {
1610#line 103
1611  tmp = to_wm831x_gpio(chip);
1612#line 103
1613  wm831x_gpio = tmp;
1614#line 104
1615  wm831x = *((struct wm831x **)wm831x_gpio);
1616  }
1617  {
1618#line 106
1619  __cil_tmp6 = (unsigned long )wm831x;
1620#line 106
1621  __cil_tmp7 = __cil_tmp6 + 168;
1622#line 106
1623  __cil_tmp8 = *((int *)__cil_tmp7);
1624#line 106
1625  if (! __cil_tmp8) {
1626#line 107
1627    return (-22);
1628  } else {
1629
1630  }
1631  }
1632  {
1633#line 109
1634  __cil_tmp9 = (unsigned long )wm831x;
1635#line 109
1636  __cil_tmp10 = __cil_tmp9 + 168;
1637#line 109
1638  __cil_tmp11 = *((int *)__cil_tmp10);
1639#line 109
1640  __cil_tmp12 = __cil_tmp11 + 1;
1641#line 109
1642  __cil_tmp13 = (unsigned int )__cil_tmp12;
1643#line 109
1644  __cil_tmp14 = __cil_tmp13 + offset;
1645#line 109
1646  return ((int )__cil_tmp14);
1647  }
1648}
1649}
1650#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1651static int wm831x_gpio_set_debounce(struct gpio_chip *chip , unsigned int offset ,
1652                                    unsigned int debounce ) 
1653{ struct wm831x_gpio *wm831x_gpio ;
1654  struct wm831x_gpio *tmp ;
1655  struct wm831x *wm831x ;
1656  int reg ;
1657  int ret ;
1658  int fn ;
1659  int tmp___0 ;
1660  unsigned int __cil_tmp11 ;
1661  unsigned short __cil_tmp12 ;
1662  unsigned short __cil_tmp13 ;
1663  unsigned short __cil_tmp14 ;
1664
1665  {
1666  {
1667#line 115
1668  tmp = to_wm831x_gpio(chip);
1669#line 115
1670  wm831x_gpio = tmp;
1671#line 116
1672  wm831x = *((struct wm831x **)wm831x_gpio);
1673#line 117
1674  __cil_tmp11 = 16440U + offset;
1675#line 117
1676  reg = (int )__cil_tmp11;
1677#line 120
1678  __cil_tmp12 = (unsigned short )reg;
1679#line 120
1680  ret = wm831x_reg_read(wm831x, __cil_tmp12);
1681  }
1682#line 121
1683  if (ret < 0) {
1684#line 122
1685    return (ret);
1686  } else {
1687
1688  }
1689#line 125
1690  if ((ret & 15) == 0) {
1691#line 125
1692    goto case_0;
1693  } else
1694#line 126
1695  if ((ret & 15) == 1) {
1696#line 126
1697    goto case_0;
1698  } else {
1699    {
1700#line 128
1701    goto switch_default;
1702#line 124
1703    if (0) {
1704      case_0: /* CIL Label */ 
1705      case_1: /* CIL Label */ 
1706#line 127
1707      goto switch_break;
1708      switch_default: /* CIL Label */ 
1709#line 130
1710      return (-16);
1711    } else {
1712      switch_break: /* CIL Label */ ;
1713    }
1714    }
1715  }
1716#line 133
1717  if (debounce >= 32U) {
1718#line 133
1719    if (debounce <= 64U) {
1720#line 134
1721      fn = 0;
1722    } else {
1723#line 133
1724      goto _L;
1725    }
1726  } else
1727  _L: /* CIL Label */ 
1728#line 135
1729  if (debounce >= 4000U) {
1730#line 135
1731    if (debounce <= 8000U) {
1732#line 136
1733      fn = 1;
1734    } else {
1735#line 138
1736      return (-22);
1737    }
1738  } else {
1739#line 138
1740    return (-22);
1741  }
1742  {
1743#line 140
1744  __cil_tmp13 = (unsigned short )reg;
1745#line 140
1746  __cil_tmp14 = (unsigned short )fn;
1747#line 140
1748  tmp___0 = wm831x_set_bits(wm831x, __cil_tmp13, (unsigned short)15, __cil_tmp14);
1749  }
1750#line 140
1751  return (tmp___0);
1752}
1753}
1754#line 144 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
1755static void wm831x_gpio_dbg_show(struct seq_file *s , struct gpio_chip *chip ) 
1756{ struct wm831x_gpio *wm831x_gpio ;
1757  struct wm831x_gpio *tmp ;
1758  struct wm831x *wm831x ;
1759  int i ;
1760  int tristated ;
1761  int gpio ;
1762  int reg ;
1763  char const   *label ;
1764  char const   *pull ;
1765  char const   *powerdomain ;
1766  char const   *tmp___0 ;
1767  char const   *tmp___1 ;
1768  char const   *tmp___2 ;
1769  char const   *tmp___4 ;
1770  int tmp___5 ;
1771  char const   *tmp___6 ;
1772  unsigned long __cil_tmp20 ;
1773  unsigned long __cil_tmp21 ;
1774  u16 __cil_tmp22 ;
1775  int __cil_tmp23 ;
1776  unsigned long __cil_tmp24 ;
1777  unsigned long __cil_tmp25 ;
1778  int __cil_tmp26 ;
1779  unsigned int __cil_tmp27 ;
1780  int __cil_tmp28 ;
1781  unsigned short __cil_tmp29 ;
1782  unsigned long __cil_tmp30 ;
1783  unsigned long __cil_tmp31 ;
1784  struct device *__cil_tmp32 ;
1785  struct device  const  *__cil_tmp33 ;
1786  unsigned long __cil_tmp34 ;
1787  unsigned long __cil_tmp35 ;
1788  unsigned int __cil_tmp36 ;
1789
1790  {
1791  {
1792#line 146
1793  tmp = to_wm831x_gpio(chip);
1794#line 146
1795  wm831x_gpio = tmp;
1796#line 147
1797  wm831x = *((struct wm831x **)wm831x_gpio);
1798#line 150
1799  i = 0;
1800  }
1801  {
1802#line 150
1803  while (1) {
1804    while_continue: /* CIL Label */ ;
1805    {
1806#line 150
1807    __cil_tmp20 = (unsigned long )chip;
1808#line 150
1809    __cil_tmp21 = __cil_tmp20 + 100;
1810#line 150
1811    __cil_tmp22 = *((u16 *)__cil_tmp21);
1812#line 150
1813    __cil_tmp23 = (int )__cil_tmp22;
1814#line 150
1815    if (i < __cil_tmp23) {
1816
1817    } else {
1818#line 150
1819      goto while_break;
1820    }
1821    }
1822    {
1823#line 151
1824    __cil_tmp24 = (unsigned long )chip;
1825#line 151
1826    __cil_tmp25 = __cil_tmp24 + 96;
1827#line 151
1828    __cil_tmp26 = *((int *)__cil_tmp25);
1829#line 151
1830    gpio = i + __cil_tmp26;
1831#line 160
1832    __cil_tmp27 = (unsigned int )i;
1833#line 160
1834    label = gpiochip_is_requested(chip, __cil_tmp27);
1835    }
1836#line 161
1837    if (! label) {
1838#line 162
1839      label = "Unrequested";
1840    } else {
1841
1842    }
1843    {
1844#line 164
1845    seq_printf(s, " gpio-%-3d (%-20.20s) ", gpio, label);
1846#line 166
1847    __cil_tmp28 = 16440 + i;
1848#line 166
1849    __cil_tmp29 = (unsigned short )__cil_tmp28;
1850#line 166
1851    reg = wm831x_reg_read(wm831x, __cil_tmp29);
1852    }
1853#line 167
1854    if (reg < 0) {
1855      {
1856#line 168
1857      __cil_tmp30 = (unsigned long )wm831x;
1858#line 168
1859      __cil_tmp31 = __cil_tmp30 + 72;
1860#line 168
1861      __cil_tmp32 = *((struct device **)__cil_tmp31);
1862#line 168
1863      __cil_tmp33 = (struct device  const  *)__cil_tmp32;
1864#line 168
1865      dev_err(__cil_tmp33, "GPIO control %d read failed: %d\n", gpio, reg);
1866#line 171
1867      seq_printf(s, "\n");
1868      }
1869#line 172
1870      goto __Cont;
1871    } else {
1872
1873    }
1874#line 176
1875    if ((reg & 24576) == 0) {
1876#line 176
1877      goto case_0;
1878    } else
1879#line 179
1880    if ((reg & 24576) == 1 << 13) {
1881#line 179
1882      goto case_exp;
1883    } else
1884#line 182
1885    if ((reg & 24576) == 2 << 13) {
1886#line 182
1887      goto case_exp___0;
1888    } else {
1889      {
1890#line 185
1891      goto switch_default;
1892#line 175
1893      if (0) {
1894        case_0: /* CIL Label */ 
1895#line 177
1896        pull = "nopull";
1897#line 178
1898        goto switch_break;
1899        case_exp: /* CIL Label */ 
1900#line 180
1901        pull = "pulldown";
1902#line 181
1903        goto switch_break;
1904        case_exp___0: /* CIL Label */ 
1905#line 183
1906        pull = "pullup";
1907#line 184
1908        goto switch_break;
1909        switch_default: /* CIL Label */ 
1910#line 186
1911        pull = "INVALID PULL";
1912#line 187
1913        goto switch_break;
1914      } else {
1915        switch_break: /* CIL Label */ ;
1916      }
1917      }
1918    }
1919#line 191
1920    if (i + 1 == 1) {
1921#line 191
1922      goto case_1;
1923    } else
1924#line 191
1925    if (i + 1 == 2) {
1926#line 191
1927      goto case_1;
1928    } else
1929#line 191
1930    if (i + 1 == 3) {
1931#line 191
1932      goto case_1;
1933    } else
1934#line 192
1935    if (i + 1 == 7) {
1936#line 192
1937      goto case_1;
1938    } else
1939#line 192
1940    if (i + 1 == 8) {
1941#line 192
1942      goto case_1;
1943    } else
1944#line 192
1945    if (i + 1 == 9) {
1946#line 192
1947      goto case_1;
1948    } else
1949#line 199
1950    if (i + 1 == 4) {
1951#line 199
1952      goto case_4;
1953    } else
1954#line 199
1955    if (i + 1 == 5) {
1956#line 199
1957      goto case_4;
1958    } else
1959#line 199
1960    if (i + 1 == 6) {
1961#line 199
1962      goto case_4;
1963    } else
1964#line 200
1965    if (i + 1 == 10) {
1966#line 200
1967      goto case_4;
1968    } else
1969#line 200
1970    if (i + 1 == 11) {
1971#line 200
1972      goto case_4;
1973    } else
1974#line 200
1975    if (i + 1 == 12) {
1976#line 200
1977      goto case_4;
1978    } else
1979#line 207
1980    if (i + 1 == 13) {
1981#line 207
1982      goto case_13;
1983    } else
1984#line 207
1985    if (i + 1 == 14) {
1986#line 207
1987      goto case_13;
1988    } else
1989#line 207
1990    if (i + 1 == 15) {
1991#line 207
1992      goto case_13;
1993    } else
1994#line 207
1995    if (i + 1 == 16) {
1996#line 207
1997      goto case_13;
1998    } else {
1999      {
2000#line 211
2001      goto switch_default___0;
2002#line 190
2003      if (0) {
2004        case_1: /* CIL Label */ 
2005        case_2: /* CIL Label */ 
2006        case_3: /* CIL Label */ 
2007        case_7: /* CIL Label */ 
2008        case_8: /* CIL Label */ 
2009        case_9: /* CIL Label */ 
2010#line 193
2011        if (reg & 2048) {
2012#line 194
2013          powerdomain = "VPMIC";
2014        } else {
2015#line 196
2016          powerdomain = "DBVDD";
2017        }
2018#line 197
2019        goto switch_break___0;
2020        case_4: /* CIL Label */ 
2021        case_5: /* CIL Label */ 
2022        case_6: /* CIL Label */ 
2023        case_10: /* CIL Label */ 
2024        case_11: /* CIL Label */ 
2025        case_12: /* CIL Label */ 
2026#line 201
2027        if (reg & 2048) {
2028#line 202
2029          powerdomain = "SYSVDD";
2030        } else {
2031#line 204
2032          powerdomain = "DBVDD";
2033        }
2034#line 205
2035        goto switch_break___0;
2036        case_13: /* CIL Label */ 
2037        case_14: /* CIL Label */ 
2038        case_15: /* CIL Label */ 
2039        case_16: /* CIL Label */ 
2040#line 208
2041        powerdomain = "TPVDD";
2042#line 209
2043        goto switch_break___0;
2044        switch_default___0: /* CIL Label */ 
2045        {
2046#line 212
2047        while (1) {
2048          while_continue___0: /* CIL Label */ ;
2049#line 212
2050          __asm__  volatile   ("1:\tud2\n"
2051                               ".pushsection __bug_table,\"a\"\n"
2052                               "2:\t.long 1b - 2b, %c0 - 2b\n"
2053                               "\t.word %c1, 0\n"
2054                               "\t.org 2b+%c2\n"
2055                               ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"),
2056                               "i" (212), "i" (12UL));
2057          {
2058#line 212
2059          while (1) {
2060            while_continue___1: /* CIL Label */ ;
2061          }
2062          while_break___1: /* CIL Label */ ;
2063          }
2064#line 212
2065          goto while_break___0;
2066        }
2067        while_break___0: /* CIL Label */ ;
2068        }
2069#line 213
2070        goto switch_break___0;
2071      } else {
2072        switch_break___0: /* CIL Label */ ;
2073      }
2074      }
2075    }
2076#line 216
2077    tristated = reg & 128;
2078    {
2079#line 217
2080    __cil_tmp34 = (unsigned long )wm831x;
2081#line 217
2082    __cil_tmp35 = __cil_tmp34 + 213;
2083#line 217
2084    if (*((unsigned int *)__cil_tmp35)) {
2085#line 218
2086      tristated = ! tristated;
2087    } else {
2088
2089    }
2090    }
2091#line 220
2092    if (tristated) {
2093#line 220
2094      tmp___0 = " tristated";
2095    } else {
2096#line 220
2097      tmp___0 = "";
2098    }
2099#line 220
2100    if (reg & 512) {
2101#line 220
2102      tmp___1 = "open-drain";
2103    } else {
2104#line 220
2105      tmp___1 = "CMOS";
2106    }
2107#line 220
2108    if (reg & 1024) {
2109#line 220
2110      tmp___2 = "";
2111    } else {
2112#line 220
2113      tmp___2 = " inverted";
2114    }
2115    {
2116#line 220
2117    __cil_tmp36 = (unsigned int )i;
2118#line 220
2119    tmp___5 = wm831x_gpio_get(chip, __cil_tmp36);
2120    }
2121#line 220
2122    if (tmp___5) {
2123#line 220
2124      tmp___4 = "high";
2125    } else {
2126#line 220
2127      tmp___4 = "low";
2128    }
2129#line 220
2130    if (reg & 32768) {
2131#line 220
2132      tmp___6 = "in";
2133    } else {
2134#line 220
2135      tmp___6 = "out";
2136    }
2137    {
2138#line 220
2139    seq_printf(s, " %s %s %s %s%s\n                                  %s%s (0x%4x)\n",
2140               tmp___6, tmp___4, pull, powerdomain, tmp___2, tmp___1, tmp___0, reg);
2141    }
2142    __Cont: /* CIL Label */ 
2143#line 150
2144    i = i + 1;
2145  }
2146  while_break: /* CIL Label */ ;
2147  }
2148#line 231
2149  return;
2150}
2151}
2152#line 236 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2153static struct gpio_chip template_chip  = 
2154#line 236
2155     {"wm831x", (struct device *)0, & __this_module, (int (*)(struct gpio_chip *chip ,
2156                                                            unsigned int offset ))0,
2157    (void (*)(struct gpio_chip *chip , unsigned int offset ))0, & wm831x_gpio_direction_in,
2158    & wm831x_gpio_get, & wm831x_gpio_direction_out, & wm831x_gpio_set_debounce, & wm831x_gpio_set,
2159    & wm831x_gpio_to_irq, & wm831x_gpio_dbg_show, 0, (unsigned short)0, (char const   * const  *)0,
2160    1U, 0U};
2161#line 249
2162static int wm831x_gpio_probe(struct platform_device *pdev )  __attribute__((__section__(".devinit.text"),
2163__no_instrument_function__)) ;
2164#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2165static int wm831x_gpio_probe(struct platform_device *pdev ) 
2166{ struct wm831x *wm831x ;
2167  void *tmp ;
2168  struct wm831x_pdata *pdata ;
2169  struct wm831x_gpio *wm831x_gpio ;
2170  int ret ;
2171  void *tmp___0 ;
2172  unsigned long __cil_tmp8 ;
2173  unsigned long __cil_tmp9 ;
2174  struct device *__cil_tmp10 ;
2175  struct device  const  *__cil_tmp11 ;
2176  unsigned long __cil_tmp12 ;
2177  unsigned long __cil_tmp13 ;
2178  struct device *__cil_tmp14 ;
2179  unsigned long __cil_tmp15 ;
2180  unsigned long __cil_tmp16 ;
2181  void *__cil_tmp17 ;
2182  void *__cil_tmp18 ;
2183  unsigned long __cil_tmp19 ;
2184  unsigned long __cil_tmp20 ;
2185  unsigned long __cil_tmp21 ;
2186  unsigned long __cil_tmp22 ;
2187  unsigned long __cil_tmp23 ;
2188  unsigned long __cil_tmp24 ;
2189  unsigned long __cil_tmp25 ;
2190  unsigned long __cil_tmp26 ;
2191  unsigned long __cil_tmp27 ;
2192  int __cil_tmp28 ;
2193  unsigned long __cil_tmp29 ;
2194  unsigned long __cil_tmp30 ;
2195  unsigned long __cil_tmp31 ;
2196  unsigned long __cil_tmp32 ;
2197  unsigned long __cil_tmp33 ;
2198  unsigned long __cil_tmp34 ;
2199  unsigned long __cil_tmp35 ;
2200  unsigned long __cil_tmp36 ;
2201  unsigned long __cil_tmp37 ;
2202  unsigned long __cil_tmp38 ;
2203  unsigned long __cil_tmp39 ;
2204  unsigned long __cil_tmp40 ;
2205  unsigned long __cil_tmp41 ;
2206  unsigned long __cil_tmp42 ;
2207  unsigned long __cil_tmp43 ;
2208  unsigned long __cil_tmp44 ;
2209  unsigned long __cil_tmp45 ;
2210  unsigned long __cil_tmp46 ;
2211  unsigned long __cil_tmp47 ;
2212  unsigned long __cil_tmp48 ;
2213  struct gpio_chip *__cil_tmp49 ;
2214  unsigned long __cil_tmp50 ;
2215  unsigned long __cil_tmp51 ;
2216  struct device *__cil_tmp52 ;
2217  struct device  const  *__cil_tmp53 ;
2218  void *__cil_tmp54 ;
2219  void const   *__cil_tmp55 ;
2220
2221  {
2222  {
2223#line 251
2224  __cil_tmp8 = (unsigned long )pdev;
2225#line 251
2226  __cil_tmp9 = __cil_tmp8 + 16;
2227#line 251
2228  __cil_tmp10 = *((struct device **)__cil_tmp9);
2229#line 251
2230  __cil_tmp11 = (struct device  const  *)__cil_tmp10;
2231#line 251
2232  tmp = dev_get_drvdata(__cil_tmp11);
2233#line 251
2234  wm831x = (struct wm831x *)tmp;
2235#line 252
2236  __cil_tmp12 = (unsigned long )wm831x;
2237#line 252
2238  __cil_tmp13 = __cil_tmp12 + 72;
2239#line 252
2240  __cil_tmp14 = *((struct device **)__cil_tmp13);
2241#line 252
2242  __cil_tmp15 = (unsigned long )__cil_tmp14;
2243#line 252
2244  __cil_tmp16 = __cil_tmp15 + 184;
2245#line 252
2246  __cil_tmp17 = *((void **)__cil_tmp16);
2247#line 252
2248  pdata = (struct wm831x_pdata *)__cil_tmp17;
2249#line 256
2250  tmp___0 = kzalloc(128UL, 208U);
2251#line 256
2252  wm831x_gpio = (struct wm831x_gpio *)tmp___0;
2253  }
2254  {
2255#line 257
2256  __cil_tmp18 = (void *)0;
2257#line 257
2258  __cil_tmp19 = (unsigned long )__cil_tmp18;
2259#line 257
2260  __cil_tmp20 = (unsigned long )wm831x_gpio;
2261#line 257
2262  if (__cil_tmp20 == __cil_tmp19) {
2263#line 258
2264    return (-12);
2265  } else {
2266
2267  }
2268  }
2269#line 260
2270  *((struct wm831x **)wm831x_gpio) = wm831x;
2271#line 261
2272  __cil_tmp21 = (unsigned long )wm831x_gpio;
2273#line 261
2274  __cil_tmp22 = __cil_tmp21 + 8;
2275#line 261
2276  *((struct gpio_chip *)__cil_tmp22) = template_chip;
2277#line 262
2278  __cil_tmp23 = 8 + 100;
2279#line 262
2280  __cil_tmp24 = (unsigned long )wm831x_gpio;
2281#line 262
2282  __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
2283#line 262
2284  __cil_tmp26 = (unsigned long )wm831x;
2285#line 262
2286  __cil_tmp27 = __cil_tmp26 + 216;
2287#line 262
2288  __cil_tmp28 = *((int *)__cil_tmp27);
2289#line 262
2290  *((u16 *)__cil_tmp25) = (u16 )__cil_tmp28;
2291#line 263
2292  __cil_tmp29 = 8 + 8;
2293#line 263
2294  __cil_tmp30 = (unsigned long )wm831x_gpio;
2295#line 263
2296  __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
2297#line 263
2298  __cil_tmp32 = (unsigned long )pdev;
2299#line 263
2300  __cil_tmp33 = __cil_tmp32 + 16;
2301#line 263
2302  *((struct device **)__cil_tmp31) = (struct device *)__cil_tmp33;
2303#line 264
2304  if (pdata) {
2305    {
2306#line 264
2307    __cil_tmp34 = (unsigned long )pdata;
2308#line 264
2309    __cil_tmp35 = __cil_tmp34 + 32;
2310#line 264
2311    if (*((int *)__cil_tmp35)) {
2312#line 265
2313      __cil_tmp36 = 8 + 96;
2314#line 265
2315      __cil_tmp37 = (unsigned long )wm831x_gpio;
2316#line 265
2317      __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
2318#line 265
2319      __cil_tmp39 = (unsigned long )pdata;
2320#line 265
2321      __cil_tmp40 = __cil_tmp39 + 32;
2322#line 265
2323      *((int *)__cil_tmp38) = *((int *)__cil_tmp40);
2324    } else {
2325#line 267
2326      __cil_tmp41 = 8 + 96;
2327#line 267
2328      __cil_tmp42 = (unsigned long )wm831x_gpio;
2329#line 267
2330      __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
2331#line 267
2332      *((int *)__cil_tmp43) = -1;
2333    }
2334    }
2335  } else {
2336#line 267
2337    __cil_tmp44 = 8 + 96;
2338#line 267
2339    __cil_tmp45 = (unsigned long )wm831x_gpio;
2340#line 267
2341    __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
2342#line 267
2343    *((int *)__cil_tmp46) = -1;
2344  }
2345  {
2346#line 269
2347  __cil_tmp47 = (unsigned long )wm831x_gpio;
2348#line 269
2349  __cil_tmp48 = __cil_tmp47 + 8;
2350#line 269
2351  __cil_tmp49 = (struct gpio_chip *)__cil_tmp48;
2352#line 269
2353  ret = gpiochip_add(__cil_tmp49);
2354  }
2355#line 270
2356  if (ret < 0) {
2357    {
2358#line 271
2359    __cil_tmp50 = (unsigned long )pdev;
2360#line 271
2361    __cil_tmp51 = __cil_tmp50 + 16;
2362#line 271
2363    __cil_tmp52 = (struct device *)__cil_tmp51;
2364#line 271
2365    __cil_tmp53 = (struct device  const  *)__cil_tmp52;
2366#line 271
2367    dev_err(__cil_tmp53, "Could not register gpiochip, %d\n", ret);
2368    }
2369#line 273
2370    goto err;
2371  } else {
2372
2373  }
2374  {
2375#line 276
2376  __cil_tmp54 = (void *)wm831x_gpio;
2377#line 276
2378  platform_set_drvdata(pdev, __cil_tmp54);
2379  }
2380#line 278
2381  return (ret);
2382  err: 
2383  {
2384#line 281
2385  __cil_tmp55 = (void const   *)wm831x_gpio;
2386#line 281
2387  kfree(__cil_tmp55);
2388  }
2389#line 282
2390  return (ret);
2391}
2392}
2393#line 285
2394static int wm831x_gpio_remove(struct platform_device *pdev )  __attribute__((__section__(".devexit.text"),
2395__no_instrument_function__)) ;
2396#line 285 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2397static int wm831x_gpio_remove(struct platform_device *pdev ) 
2398{ struct wm831x_gpio *wm831x_gpio ;
2399  void *tmp ;
2400  int ret ;
2401  struct platform_device  const  *__cil_tmp5 ;
2402  unsigned long __cil_tmp6 ;
2403  unsigned long __cil_tmp7 ;
2404  struct gpio_chip *__cil_tmp8 ;
2405  void const   *__cil_tmp9 ;
2406
2407  {
2408  {
2409#line 287
2410  __cil_tmp5 = (struct platform_device  const  *)pdev;
2411#line 287
2412  tmp = platform_get_drvdata(__cil_tmp5);
2413#line 287
2414  wm831x_gpio = (struct wm831x_gpio *)tmp;
2415#line 290
2416  __cil_tmp6 = (unsigned long )wm831x_gpio;
2417#line 290
2418  __cil_tmp7 = __cil_tmp6 + 8;
2419#line 290
2420  __cil_tmp8 = (struct gpio_chip *)__cil_tmp7;
2421#line 290
2422  ret = (int )gpiochip_remove(__cil_tmp8);
2423  }
2424#line 291
2425  if (ret == 0) {
2426    {
2427#line 292
2428    __cil_tmp9 = (void const   *)wm831x_gpio;
2429#line 292
2430    kfree(__cil_tmp9);
2431    }
2432  } else {
2433
2434  }
2435#line 294
2436  return (ret);
2437}
2438}
2439#line 297 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2440static struct platform_driver wm831x_gpio_driver  =    {& wm831x_gpio_probe, & wm831x_gpio_remove, (void (*)(struct platform_device * ))0,
2441    (int (*)(struct platform_device * , pm_message_t state ))0, (int (*)(struct platform_device * ))0,
2442    {"wm831x-gpio", (struct bus_type *)0, & __this_module, (char const   *)0, (_Bool)0,
2443     (struct of_device_id  const  *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
2444     (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
2445     (int (*)(struct device *dev ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
2446     (struct driver_private *)0}, (struct platform_device_id  const  *)0};
2447#line 304
2448static int wm831x_gpio_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2449#line 304 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2450static int wm831x_gpio_init(void) 
2451{ int tmp ;
2452
2453  {
2454  {
2455#line 306
2456  tmp = platform_driver_register(& wm831x_gpio_driver);
2457  }
2458#line 306
2459  return (tmp);
2460}
2461}
2462#line 308 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2463int init_module(void) 
2464{ int tmp ;
2465
2466  {
2467  {
2468#line 308
2469  tmp = wm831x_gpio_init();
2470  }
2471#line 308
2472  return (tmp);
2473}
2474}
2475#line 310
2476static void wm831x_gpio_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
2477#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2478static void wm831x_gpio_exit(void) 
2479{ 
2480
2481  {
2482  {
2483#line 312
2484  platform_driver_unregister(& wm831x_gpio_driver);
2485  }
2486#line 313
2487  return;
2488}
2489}
2490#line 314 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2491void cleanup_module(void) 
2492{ 
2493
2494  {
2495  {
2496#line 314
2497  wm831x_gpio_exit();
2498  }
2499#line 314
2500  return;
2501}
2502}
2503#line 316 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2504static char const   __mod_author316[56]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2505__aligned__(1)))  = 
2506#line 316
2507  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
2508        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'M', 
2509        (char const   )'a',      (char const   )'r',      (char const   )'k',      (char const   )' ', 
2510        (char const   )'B',      (char const   )'r',      (char const   )'o',      (char const   )'w', 
2511        (char const   )'n',      (char const   )' ',      (char const   )'<',      (char const   )'b', 
2512        (char const   )'r',      (char const   )'o',      (char const   )'o',      (char const   )'n', 
2513        (char const   )'i',      (char const   )'e',      (char const   )'@',      (char const   )'o', 
2514        (char const   )'p',      (char const   )'e',      (char const   )'n',      (char const   )'s', 
2515        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )'c', 
2516        (char const   )'e',      (char const   )'.',      (char const   )'w',      (char const   )'o', 
2517        (char const   )'l',      (char const   )'f',      (char const   )'s',      (char const   )'o', 
2518        (char const   )'n',      (char const   )'m',      (char const   )'i',      (char const   )'c', 
2519        (char const   )'r',      (char const   )'o',      (char const   )'.',      (char const   )'c', 
2520        (char const   )'o',      (char const   )'m',      (char const   )'>',      (char const   )'\000'};
2521#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2522static char const   __mod_description317[44]  __attribute__((__used__, __unused__,
2523__section__(".modinfo"), __aligned__(1)))  = 
2524#line 317
2525  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
2526        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
2527        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
2528        (char const   )'G',      (char const   )'P',      (char const   )'I',      (char const   )'O', 
2529        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'t', 
2530        (char const   )'e',      (char const   )'r',      (char const   )'f',      (char const   )'a', 
2531        (char const   )'c',      (char const   )'e',      (char const   )' ',      (char const   )'f', 
2532        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'W', 
2533        (char const   )'M',      (char const   )'8',      (char const   )'3',      (char const   )'1', 
2534        (char const   )'x',      (char const   )' ',      (char const   )'P',      (char const   )'M', 
2535        (char const   )'I',      (char const   )'C',      (char const   )'s',      (char const   )'\000'};
2536#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2537static char const   __mod_license318[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2538__aligned__(1)))  = 
2539#line 318
2540  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2541        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
2542        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
2543#line 319 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2544static char const   __mod_alias319[27]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2545__aligned__(1)))  = 
2546#line 319
2547  {      (char const   )'a',      (char const   )'l',      (char const   )'i',      (char const   )'a', 
2548        (char const   )'s',      (char const   )'=',      (char const   )'p',      (char const   )'l', 
2549        (char const   )'a',      (char const   )'t',      (char const   )'f',      (char const   )'o', 
2550        (char const   )'r',      (char const   )'m',      (char const   )':',      (char const   )'w', 
2551        (char const   )'m',      (char const   )'8',      (char const   )'3',      (char const   )'1', 
2552        (char const   )'x',      (char const   )'-',      (char const   )'g',      (char const   )'p', 
2553        (char const   )'i',      (char const   )'o',      (char const   )'\000'};
2554#line 337
2555void ldv_check_final_state(void) ;
2556#line 340
2557extern void ldv_check_return_value(int res ) ;
2558#line 343
2559extern void ldv_initialize(void) ;
2560#line 346
2561extern int __VERIFIER_nondet_int(void) ;
2562#line 349 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2563int LDV_IN_INTERRUPT  ;
2564#line 450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2565static int res_wm831x_gpio_probe_8  ;
2566#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2567void main(void) 
2568{ struct gpio_chip *var_group1 ;
2569  unsigned int var_wm831x_gpio_direction_in_1_p1 ;
2570  unsigned int var_wm831x_gpio_get_2_p1 ;
2571  unsigned int var_wm831x_gpio_direction_out_4_p1 ;
2572  int var_wm831x_gpio_direction_out_4_p2 ;
2573  unsigned int var_wm831x_gpio_set_3_p1 ;
2574  int var_wm831x_gpio_set_3_p2 ;
2575  unsigned int var_wm831x_gpio_to_irq_5_p1 ;
2576  unsigned int var_wm831x_gpio_set_debounce_6_p1 ;
2577  unsigned int var_wm831x_gpio_set_debounce_6_p2 ;
2578  struct seq_file *var_group2 ;
2579  struct platform_device *var_group3 ;
2580  int tmp ;
2581  int ldv_s_wm831x_gpio_driver_platform_driver ;
2582  int tmp___0 ;
2583  int tmp___1 ;
2584  int __cil_tmp17 ;
2585
2586  {
2587  {
2588#line 458
2589  LDV_IN_INTERRUPT = 1;
2590#line 467
2591  ldv_initialize();
2592#line 478
2593  tmp = wm831x_gpio_init();
2594  }
2595#line 478
2596  if (tmp) {
2597#line 479
2598    goto ldv_final;
2599  } else {
2600
2601  }
2602#line 482
2603  ldv_s_wm831x_gpio_driver_platform_driver = 0;
2604  {
2605#line 485
2606  while (1) {
2607    while_continue: /* CIL Label */ ;
2608    {
2609#line 485
2610    tmp___1 = __VERIFIER_nondet_int();
2611    }
2612#line 485
2613    if (tmp___1) {
2614
2615    } else {
2616      {
2617#line 485
2618      __cil_tmp17 = ldv_s_wm831x_gpio_driver_platform_driver == 0;
2619#line 485
2620      if (! __cil_tmp17) {
2621
2622      } else {
2623#line 485
2624        goto while_break;
2625      }
2626      }
2627    }
2628    {
2629#line 489
2630    tmp___0 = __VERIFIER_nondet_int();
2631    }
2632#line 491
2633    if (tmp___0 == 0) {
2634#line 491
2635      goto case_0;
2636    } else
2637#line 513
2638    if (tmp___0 == 1) {
2639#line 513
2640      goto case_1;
2641    } else
2642#line 535
2643    if (tmp___0 == 2) {
2644#line 535
2645      goto case_2;
2646    } else
2647#line 557
2648    if (tmp___0 == 3) {
2649#line 557
2650      goto case_3;
2651    } else
2652#line 579
2653    if (tmp___0 == 4) {
2654#line 579
2655      goto case_4;
2656    } else
2657#line 601
2658    if (tmp___0 == 5) {
2659#line 601
2660      goto case_5;
2661    } else
2662#line 623
2663    if (tmp___0 == 6) {
2664#line 623
2665      goto case_6;
2666    } else
2667#line 646
2668    if (tmp___0 == 7) {
2669#line 646
2670      goto case_7;
2671    } else {
2672      {
2673#line 670
2674      goto switch_default;
2675#line 489
2676      if (0) {
2677        case_0: /* CIL Label */ 
2678        {
2679#line 499
2680        wm831x_gpio_direction_in(var_group1, var_wm831x_gpio_direction_in_1_p1);
2681        }
2682#line 512
2683        goto switch_break;
2684        case_1: /* CIL Label */ 
2685        {
2686#line 521
2687        wm831x_gpio_get(var_group1, var_wm831x_gpio_get_2_p1);
2688        }
2689#line 534
2690        goto switch_break;
2691        case_2: /* CIL Label */ 
2692        {
2693#line 543
2694        wm831x_gpio_direction_out(var_group1, var_wm831x_gpio_direction_out_4_p1,
2695                                  var_wm831x_gpio_direction_out_4_p2);
2696        }
2697#line 556
2698        goto switch_break;
2699        case_3: /* CIL Label */ 
2700        {
2701#line 565
2702        wm831x_gpio_set(var_group1, var_wm831x_gpio_set_3_p1, var_wm831x_gpio_set_3_p2);
2703        }
2704#line 578
2705        goto switch_break;
2706        case_4: /* CIL Label */ 
2707        {
2708#line 587
2709        wm831x_gpio_to_irq(var_group1, var_wm831x_gpio_to_irq_5_p1);
2710        }
2711#line 600
2712        goto switch_break;
2713        case_5: /* CIL Label */ 
2714        {
2715#line 609
2716        wm831x_gpio_set_debounce(var_group1, var_wm831x_gpio_set_debounce_6_p1, var_wm831x_gpio_set_debounce_6_p2);
2717        }
2718#line 622
2719        goto switch_break;
2720        case_6: /* CIL Label */ 
2721        {
2722#line 633
2723        wm831x_gpio_dbg_show(var_group2, var_group1);
2724        }
2725#line 645
2726        goto switch_break;
2727        case_7: /* CIL Label */ 
2728#line 649
2729        if (ldv_s_wm831x_gpio_driver_platform_driver == 0) {
2730          {
2731#line 659
2732          res_wm831x_gpio_probe_8 = wm831x_gpio_probe(var_group3);
2733#line 660
2734          ldv_check_return_value(res_wm831x_gpio_probe_8);
2735          }
2736#line 661
2737          if (res_wm831x_gpio_probe_8) {
2738#line 662
2739            goto ldv_module_exit;
2740          } else {
2741
2742          }
2743#line 663
2744          ldv_s_wm831x_gpio_driver_platform_driver = 0;
2745        } else {
2746
2747        }
2748#line 669
2749        goto switch_break;
2750        switch_default: /* CIL Label */ 
2751#line 670
2752        goto switch_break;
2753      } else {
2754        switch_break: /* CIL Label */ ;
2755      }
2756      }
2757    }
2758  }
2759  while_break: /* CIL Label */ ;
2760  }
2761  ldv_module_exit: 
2762  {
2763#line 687
2764  wm831x_gpio_exit();
2765  }
2766  ldv_final: 
2767  {
2768#line 690
2769  ldv_check_final_state();
2770  }
2771#line 693
2772  return;
2773}
2774}
2775#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2776void ldv_blast_assert(void) 
2777{ 
2778
2779  {
2780  ERROR: 
2781#line 6
2782  goto ERROR;
2783}
2784}
2785#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2786extern int __VERIFIER_nondet_int(void) ;
2787#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2788int ldv_mutex  =    1;
2789#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2790int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
2791{ int nondetermined ;
2792
2793  {
2794#line 29
2795  if (ldv_mutex == 1) {
2796
2797  } else {
2798    {
2799#line 29
2800    ldv_blast_assert();
2801    }
2802  }
2803  {
2804#line 32
2805  nondetermined = __VERIFIER_nondet_int();
2806  }
2807#line 35
2808  if (nondetermined) {
2809#line 38
2810    ldv_mutex = 2;
2811#line 40
2812    return (0);
2813  } else {
2814#line 45
2815    return (-4);
2816  }
2817}
2818}
2819#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2820int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
2821{ int nondetermined ;
2822
2823  {
2824#line 57
2825  if (ldv_mutex == 1) {
2826
2827  } else {
2828    {
2829#line 57
2830    ldv_blast_assert();
2831    }
2832  }
2833  {
2834#line 60
2835  nondetermined = __VERIFIER_nondet_int();
2836  }
2837#line 63
2838  if (nondetermined) {
2839#line 66
2840    ldv_mutex = 2;
2841#line 68
2842    return (0);
2843  } else {
2844#line 73
2845    return (-4);
2846  }
2847}
2848}
2849#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2850int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
2851{ int atomic_value_after_dec ;
2852
2853  {
2854#line 83
2855  if (ldv_mutex == 1) {
2856
2857  } else {
2858    {
2859#line 83
2860    ldv_blast_assert();
2861    }
2862  }
2863  {
2864#line 86
2865  atomic_value_after_dec = __VERIFIER_nondet_int();
2866  }
2867#line 89
2868  if (atomic_value_after_dec == 0) {
2869#line 92
2870    ldv_mutex = 2;
2871#line 94
2872    return (1);
2873  } else {
2874
2875  }
2876#line 98
2877  return (0);
2878}
2879}
2880#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2881void mutex_lock(struct mutex *lock ) 
2882{ 
2883
2884  {
2885#line 108
2886  if (ldv_mutex == 1) {
2887
2888  } else {
2889    {
2890#line 108
2891    ldv_blast_assert();
2892    }
2893  }
2894#line 110
2895  ldv_mutex = 2;
2896#line 111
2897  return;
2898}
2899}
2900#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2901int mutex_trylock(struct mutex *lock ) 
2902{ int nondetermined ;
2903
2904  {
2905#line 121
2906  if (ldv_mutex == 1) {
2907
2908  } else {
2909    {
2910#line 121
2911    ldv_blast_assert();
2912    }
2913  }
2914  {
2915#line 124
2916  nondetermined = __VERIFIER_nondet_int();
2917  }
2918#line 127
2919  if (nondetermined) {
2920#line 130
2921    ldv_mutex = 2;
2922#line 132
2923    return (1);
2924  } else {
2925#line 137
2926    return (0);
2927  }
2928}
2929}
2930#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2931void mutex_unlock(struct mutex *lock ) 
2932{ 
2933
2934  {
2935#line 147
2936  if (ldv_mutex == 2) {
2937
2938  } else {
2939    {
2940#line 147
2941    ldv_blast_assert();
2942    }
2943  }
2944#line 149
2945  ldv_mutex = 1;
2946#line 150
2947  return;
2948}
2949}
2950#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2951void ldv_check_final_state(void) 
2952{ 
2953
2954  {
2955#line 156
2956  if (ldv_mutex == 1) {
2957
2958  } else {
2959    {
2960#line 156
2961    ldv_blast_assert();
2962    }
2963  }
2964#line 157
2965  return;
2966}
2967}
2968#line 702 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5860/dscv_tempdir/dscv/ri/32_1/drivers/gpio/gpio-wm831x.c.common.c"
2969long s__builtin_expect(long val , long res ) 
2970{ 
2971
2972  {
2973#line 703
2974  return (val);
2975}
2976}