Showing error 483

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--mfd--janz-cmodio.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3074
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 43 "include/asm-generic/int-ll64.h"
  11typedef unsigned char u8;
  12#line 45 "include/asm-generic/int-ll64.h"
  13typedef short s16;
  14#line 46 "include/asm-generic/int-ll64.h"
  15typedef unsigned short u16;
  16#line 49 "include/asm-generic/int-ll64.h"
  17typedef unsigned int u32;
  18#line 51 "include/asm-generic/int-ll64.h"
  19typedef long long s64;
  20#line 52 "include/asm-generic/int-ll64.h"
  21typedef unsigned long long u64;
  22#line 14 "include/asm-generic/posix_types.h"
  23typedef long __kernel_long_t;
  24#line 15 "include/asm-generic/posix_types.h"
  25typedef unsigned long __kernel_ulong_t;
  26#line 75 "include/asm-generic/posix_types.h"
  27typedef __kernel_ulong_t __kernel_size_t;
  28#line 76 "include/asm-generic/posix_types.h"
  29typedef __kernel_long_t __kernel_ssize_t;
  30#line 91 "include/asm-generic/posix_types.h"
  31typedef long long __kernel_loff_t;
  32#line 21 "include/linux/types.h"
  33typedef __u32 __kernel_dev_t;
  34#line 24 "include/linux/types.h"
  35typedef __kernel_dev_t dev_t;
  36#line 27 "include/linux/types.h"
  37typedef unsigned short umode_t;
  38#line 38 "include/linux/types.h"
  39typedef _Bool bool;
  40#line 54 "include/linux/types.h"
  41typedef __kernel_loff_t loff_t;
  42#line 63 "include/linux/types.h"
  43typedef __kernel_size_t size_t;
  44#line 68 "include/linux/types.h"
  45typedef __kernel_ssize_t ssize_t;
  46#line 155 "include/linux/types.h"
  47typedef u64 dma_addr_t;
  48#line 202 "include/linux/types.h"
  49typedef unsigned int gfp_t;
  50#line 206 "include/linux/types.h"
  51typedef u64 phys_addr_t;
  52#line 211 "include/linux/types.h"
  53typedef phys_addr_t resource_size_t;
  54#line 219 "include/linux/types.h"
  55struct __anonstruct_atomic_t_7 {
  56   int counter ;
  57};
  58#line 219 "include/linux/types.h"
  59typedef struct __anonstruct_atomic_t_7 atomic_t;
  60#line 224 "include/linux/types.h"
  61struct __anonstruct_atomic64_t_8 {
  62   long counter ;
  63};
  64#line 224 "include/linux/types.h"
  65typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  66#line 229 "include/linux/types.h"
  67struct list_head {
  68   struct list_head *next ;
  69   struct list_head *prev ;
  70};
  71#line 233
  72struct hlist_node;
  73#line 233 "include/linux/types.h"
  74struct hlist_head {
  75   struct hlist_node *first ;
  76};
  77#line 237 "include/linux/types.h"
  78struct hlist_node {
  79   struct hlist_node *next ;
  80   struct hlist_node **pprev ;
  81};
  82#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  83struct module;
  84#line 56
  85struct module;
  86#line 146 "include/linux/init.h"
  87typedef void (*ctor_fn_t)(void);
  88#line 9 "include/linux/dynamic_debug.h"
  89struct _ddebug {
  90   char const   *modname ;
  91   char const   *function ;
  92   char const   *filename ;
  93   char const   *format ;
  94   unsigned int lineno : 18 ;
  95   unsigned int flags : 8 ;
  96} __attribute__((__aligned__(8))) ;
  97#line 47
  98struct device;
  99#line 47
 100struct device;
 101#line 135 "include/linux/kernel.h"
 102struct completion;
 103#line 135
 104struct completion;
 105#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 106struct page;
 107#line 18
 108struct page;
 109#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 110struct task_struct;
 111#line 20
 112struct task_struct;
 113#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 114struct task_struct;
 115#line 8
 116struct mm_struct;
 117#line 8
 118struct mm_struct;
 119#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 120typedef unsigned long pgdval_t;
 121#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 122typedef unsigned long pgprotval_t;
 123#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 124struct pgprot {
 125   pgprotval_t pgprot ;
 126};
 127#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 128typedef struct pgprot pgprot_t;
 129#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 130struct __anonstruct_pgd_t_20 {
 131   pgdval_t pgd ;
 132};
 133#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 134typedef struct __anonstruct_pgd_t_20 pgd_t;
 135#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 136typedef struct page *pgtable_t;
 137#line 295
 138struct file;
 139#line 295
 140struct file;
 141#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 142struct page;
 143#line 50
 144struct mm_struct;
 145#line 52
 146struct task_struct;
 147#line 53
 148struct cpumask;
 149#line 53
 150struct cpumask;
 151#line 329
 152struct arch_spinlock;
 153#line 329
 154struct arch_spinlock;
 155#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 156struct task_struct;
 157#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 158struct task_struct;
 159#line 10 "include/asm-generic/bug.h"
 160struct bug_entry {
 161   int bug_addr_disp ;
 162   int file_disp ;
 163   unsigned short line ;
 164   unsigned short flags ;
 165};
 166#line 14 "include/linux/cpumask.h"
 167struct cpumask {
 168   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 169};
 170#line 637 "include/linux/cpumask.h"
 171typedef struct cpumask *cpumask_var_t;
 172#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 173struct static_key;
 174#line 234
 175struct static_key;
 176#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 177struct kmem_cache;
 178#line 23 "include/asm-generic/atomic-long.h"
 179typedef atomic64_t atomic_long_t;
 180#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 181typedef u16 __ticket_t;
 182#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 183typedef u32 __ticketpair_t;
 184#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 185struct __raw_tickets {
 186   __ticket_t head ;
 187   __ticket_t tail ;
 188};
 189#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 190union __anonunion____missing_field_name_36 {
 191   __ticketpair_t head_tail ;
 192   struct __raw_tickets tickets ;
 193};
 194#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 195struct arch_spinlock {
 196   union __anonunion____missing_field_name_36 __annonCompField17 ;
 197};
 198#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 199typedef struct arch_spinlock arch_spinlock_t;
 200#line 12 "include/linux/lockdep.h"
 201struct task_struct;
 202#line 20 "include/linux/spinlock_types.h"
 203struct raw_spinlock {
 204   arch_spinlock_t raw_lock ;
 205   unsigned int magic ;
 206   unsigned int owner_cpu ;
 207   void *owner ;
 208};
 209#line 20 "include/linux/spinlock_types.h"
 210typedef struct raw_spinlock raw_spinlock_t;
 211#line 64 "include/linux/spinlock_types.h"
 212union __anonunion____missing_field_name_39 {
 213   struct raw_spinlock rlock ;
 214};
 215#line 64 "include/linux/spinlock_types.h"
 216struct spinlock {
 217   union __anonunion____missing_field_name_39 __annonCompField19 ;
 218};
 219#line 64 "include/linux/spinlock_types.h"
 220typedef struct spinlock spinlock_t;
 221#line 49 "include/linux/wait.h"
 222struct __wait_queue_head {
 223   spinlock_t lock ;
 224   struct list_head task_list ;
 225};
 226#line 53 "include/linux/wait.h"
 227typedef struct __wait_queue_head wait_queue_head_t;
 228#line 55
 229struct task_struct;
 230#line 98 "include/linux/nodemask.h"
 231struct __anonstruct_nodemask_t_42 {
 232   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 233};
 234#line 98 "include/linux/nodemask.h"
 235typedef struct __anonstruct_nodemask_t_42 nodemask_t;
 236#line 60 "include/linux/pageblock-flags.h"
 237struct page;
 238#line 48 "include/linux/mutex.h"
 239struct mutex {
 240   atomic_t count ;
 241   spinlock_t wait_lock ;
 242   struct list_head wait_list ;
 243   struct task_struct *owner ;
 244   char const   *name ;
 245   void *magic ;
 246};
 247#line 19 "include/linux/rwsem.h"
 248struct rw_semaphore;
 249#line 19
 250struct rw_semaphore;
 251#line 25 "include/linux/rwsem.h"
 252struct rw_semaphore {
 253   long count ;
 254   raw_spinlock_t wait_lock ;
 255   struct list_head wait_list ;
 256};
 257#line 25 "include/linux/completion.h"
 258struct completion {
 259   unsigned int done ;
 260   wait_queue_head_t wait ;
 261};
 262#line 9 "include/linux/memory_hotplug.h"
 263struct page;
 264#line 18 "include/linux/ioport.h"
 265struct resource {
 266   resource_size_t start ;
 267   resource_size_t end ;
 268   char const   *name ;
 269   unsigned long flags ;
 270   struct resource *parent ;
 271   struct resource *sibling ;
 272   struct resource *child ;
 273};
 274#line 202
 275struct device;
 276#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 277struct pci_dev;
 278#line 182
 279struct pci_dev;
 280#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 281struct device;
 282#line 46 "include/linux/ktime.h"
 283union ktime {
 284   s64 tv64 ;
 285};
 286#line 59 "include/linux/ktime.h"
 287typedef union ktime ktime_t;
 288#line 10 "include/linux/timer.h"
 289struct tvec_base;
 290#line 10
 291struct tvec_base;
 292#line 12 "include/linux/timer.h"
 293struct timer_list {
 294   struct list_head entry ;
 295   unsigned long expires ;
 296   struct tvec_base *base ;
 297   void (*function)(unsigned long  ) ;
 298   unsigned long data ;
 299   int slack ;
 300   int start_pid ;
 301   void *start_site ;
 302   char start_comm[16] ;
 303};
 304#line 17 "include/linux/workqueue.h"
 305struct work_struct;
 306#line 17
 307struct work_struct;
 308#line 79 "include/linux/workqueue.h"
 309struct work_struct {
 310   atomic_long_t data ;
 311   struct list_head entry ;
 312   void (*func)(struct work_struct *work ) ;
 313};
 314#line 42 "include/linux/pm.h"
 315struct device;
 316#line 50 "include/linux/pm.h"
 317struct pm_message {
 318   int event ;
 319};
 320#line 50 "include/linux/pm.h"
 321typedef struct pm_message pm_message_t;
 322#line 264 "include/linux/pm.h"
 323struct dev_pm_ops {
 324   int (*prepare)(struct device *dev ) ;
 325   void (*complete)(struct device *dev ) ;
 326   int (*suspend)(struct device *dev ) ;
 327   int (*resume)(struct device *dev ) ;
 328   int (*freeze)(struct device *dev ) ;
 329   int (*thaw)(struct device *dev ) ;
 330   int (*poweroff)(struct device *dev ) ;
 331   int (*restore)(struct device *dev ) ;
 332   int (*suspend_late)(struct device *dev ) ;
 333   int (*resume_early)(struct device *dev ) ;
 334   int (*freeze_late)(struct device *dev ) ;
 335   int (*thaw_early)(struct device *dev ) ;
 336   int (*poweroff_late)(struct device *dev ) ;
 337   int (*restore_early)(struct device *dev ) ;
 338   int (*suspend_noirq)(struct device *dev ) ;
 339   int (*resume_noirq)(struct device *dev ) ;
 340   int (*freeze_noirq)(struct device *dev ) ;
 341   int (*thaw_noirq)(struct device *dev ) ;
 342   int (*poweroff_noirq)(struct device *dev ) ;
 343   int (*restore_noirq)(struct device *dev ) ;
 344   int (*runtime_suspend)(struct device *dev ) ;
 345   int (*runtime_resume)(struct device *dev ) ;
 346   int (*runtime_idle)(struct device *dev ) ;
 347};
 348#line 458
 349enum rpm_status {
 350    RPM_ACTIVE = 0,
 351    RPM_RESUMING = 1,
 352    RPM_SUSPENDED = 2,
 353    RPM_SUSPENDING = 3
 354} ;
 355#line 480
 356enum rpm_request {
 357    RPM_REQ_NONE = 0,
 358    RPM_REQ_IDLE = 1,
 359    RPM_REQ_SUSPEND = 2,
 360    RPM_REQ_AUTOSUSPEND = 3,
 361    RPM_REQ_RESUME = 4
 362} ;
 363#line 488
 364struct wakeup_source;
 365#line 488
 366struct wakeup_source;
 367#line 495 "include/linux/pm.h"
 368struct pm_subsys_data {
 369   spinlock_t lock ;
 370   unsigned int refcount ;
 371};
 372#line 506
 373struct dev_pm_qos_request;
 374#line 506
 375struct pm_qos_constraints;
 376#line 506 "include/linux/pm.h"
 377struct dev_pm_info {
 378   pm_message_t power_state ;
 379   unsigned int can_wakeup : 1 ;
 380   unsigned int async_suspend : 1 ;
 381   bool is_prepared : 1 ;
 382   bool is_suspended : 1 ;
 383   bool ignore_children : 1 ;
 384   spinlock_t lock ;
 385   struct list_head entry ;
 386   struct completion completion ;
 387   struct wakeup_source *wakeup ;
 388   bool wakeup_path : 1 ;
 389   struct timer_list suspend_timer ;
 390   unsigned long timer_expires ;
 391   struct work_struct work ;
 392   wait_queue_head_t wait_queue ;
 393   atomic_t usage_count ;
 394   atomic_t child_count ;
 395   unsigned int disable_depth : 3 ;
 396   unsigned int idle_notification : 1 ;
 397   unsigned int request_pending : 1 ;
 398   unsigned int deferred_resume : 1 ;
 399   unsigned int run_wake : 1 ;
 400   unsigned int runtime_auto : 1 ;
 401   unsigned int no_callbacks : 1 ;
 402   unsigned int irq_safe : 1 ;
 403   unsigned int use_autosuspend : 1 ;
 404   unsigned int timer_autosuspends : 1 ;
 405   enum rpm_request request ;
 406   enum rpm_status runtime_status ;
 407   int runtime_error ;
 408   int autosuspend_delay ;
 409   unsigned long last_busy ;
 410   unsigned long active_jiffies ;
 411   unsigned long suspended_jiffies ;
 412   unsigned long accounting_timestamp ;
 413   ktime_t suspend_time ;
 414   s64 max_time_suspended_ns ;
 415   struct dev_pm_qos_request *pq_req ;
 416   struct pm_subsys_data *subsys_data ;
 417   struct pm_qos_constraints *constraints ;
 418};
 419#line 564 "include/linux/pm.h"
 420struct dev_pm_domain {
 421   struct dev_pm_ops ops ;
 422};
 423#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 424struct pci_bus;
 425#line 174
 426struct pci_bus;
 427#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 428struct __anonstruct_mm_context_t_112 {
 429   void *ldt ;
 430   int size ;
 431   unsigned short ia32_compat ;
 432   struct mutex lock ;
 433   void *vdso ;
 434};
 435#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 436typedef struct __anonstruct_mm_context_t_112 mm_context_t;
 437#line 71 "include/asm-generic/iomap.h"
 438struct pci_dev;
 439#line 14 "include/asm-generic/pci_iomap.h"
 440struct pci_dev;
 441#line 8 "include/linux/vmalloc.h"
 442struct vm_area_struct;
 443#line 8
 444struct vm_area_struct;
 445#line 994 "include/linux/mmzone.h"
 446struct page;
 447#line 10 "include/linux/gfp.h"
 448struct vm_area_struct;
 449#line 29 "include/linux/sysctl.h"
 450struct completion;
 451#line 100 "include/linux/rbtree.h"
 452struct rb_node {
 453   unsigned long rb_parent_color ;
 454   struct rb_node *rb_right ;
 455   struct rb_node *rb_left ;
 456} __attribute__((__aligned__(sizeof(long )))) ;
 457#line 110 "include/linux/rbtree.h"
 458struct rb_root {
 459   struct rb_node *rb_node ;
 460};
 461#line 49 "include/linux/kmod.h"
 462struct file;
 463#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 464struct task_struct;
 465#line 18 "include/linux/elf.h"
 466typedef __u64 Elf64_Addr;
 467#line 19 "include/linux/elf.h"
 468typedef __u16 Elf64_Half;
 469#line 23 "include/linux/elf.h"
 470typedef __u32 Elf64_Word;
 471#line 24 "include/linux/elf.h"
 472typedef __u64 Elf64_Xword;
 473#line 194 "include/linux/elf.h"
 474struct elf64_sym {
 475   Elf64_Word st_name ;
 476   unsigned char st_info ;
 477   unsigned char st_other ;
 478   Elf64_Half st_shndx ;
 479   Elf64_Addr st_value ;
 480   Elf64_Xword st_size ;
 481};
 482#line 194 "include/linux/elf.h"
 483typedef struct elf64_sym Elf64_Sym;
 484#line 438
 485struct file;
 486#line 20 "include/linux/kobject_ns.h"
 487struct sock;
 488#line 20
 489struct sock;
 490#line 21
 491struct kobject;
 492#line 21
 493struct kobject;
 494#line 27
 495enum kobj_ns_type {
 496    KOBJ_NS_TYPE_NONE = 0,
 497    KOBJ_NS_TYPE_NET = 1,
 498    KOBJ_NS_TYPES = 2
 499} ;
 500#line 40 "include/linux/kobject_ns.h"
 501struct kobj_ns_type_operations {
 502   enum kobj_ns_type type ;
 503   void *(*grab_current_ns)(void) ;
 504   void const   *(*netlink_ns)(struct sock *sk ) ;
 505   void const   *(*initial_ns)(void) ;
 506   void (*drop_ns)(void * ) ;
 507};
 508#line 22 "include/linux/sysfs.h"
 509struct kobject;
 510#line 23
 511struct module;
 512#line 24
 513enum kobj_ns_type;
 514#line 26 "include/linux/sysfs.h"
 515struct attribute {
 516   char const   *name ;
 517   umode_t mode ;
 518};
 519#line 56 "include/linux/sysfs.h"
 520struct attribute_group {
 521   char const   *name ;
 522   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 523   struct attribute **attrs ;
 524};
 525#line 85
 526struct file;
 527#line 86
 528struct vm_area_struct;
 529#line 88 "include/linux/sysfs.h"
 530struct bin_attribute {
 531   struct attribute attr ;
 532   size_t size ;
 533   void *private ;
 534   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 535                   loff_t  , size_t  ) ;
 536   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 537                    loff_t  , size_t  ) ;
 538   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 539};
 540#line 112 "include/linux/sysfs.h"
 541struct sysfs_ops {
 542   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 543   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 544   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 545};
 546#line 118
 547struct sysfs_dirent;
 548#line 118
 549struct sysfs_dirent;
 550#line 22 "include/linux/kref.h"
 551struct kref {
 552   atomic_t refcount ;
 553};
 554#line 60 "include/linux/kobject.h"
 555struct kset;
 556#line 60
 557struct kobj_type;
 558#line 60 "include/linux/kobject.h"
 559struct kobject {
 560   char const   *name ;
 561   struct list_head entry ;
 562   struct kobject *parent ;
 563   struct kset *kset ;
 564   struct kobj_type *ktype ;
 565   struct sysfs_dirent *sd ;
 566   struct kref kref ;
 567   unsigned int state_initialized : 1 ;
 568   unsigned int state_in_sysfs : 1 ;
 569   unsigned int state_add_uevent_sent : 1 ;
 570   unsigned int state_remove_uevent_sent : 1 ;
 571   unsigned int uevent_suppress : 1 ;
 572};
 573#line 108 "include/linux/kobject.h"
 574struct kobj_type {
 575   void (*release)(struct kobject *kobj ) ;
 576   struct sysfs_ops  const  *sysfs_ops ;
 577   struct attribute **default_attrs ;
 578   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 579   void const   *(*namespace)(struct kobject *kobj ) ;
 580};
 581#line 116 "include/linux/kobject.h"
 582struct kobj_uevent_env {
 583   char *envp[32] ;
 584   int envp_idx ;
 585   char buf[2048] ;
 586   int buflen ;
 587};
 588#line 123 "include/linux/kobject.h"
 589struct kset_uevent_ops {
 590   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 591   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 592   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 593};
 594#line 140
 595struct sock;
 596#line 159 "include/linux/kobject.h"
 597struct kset {
 598   struct list_head list ;
 599   spinlock_t list_lock ;
 600   struct kobject kobj ;
 601   struct kset_uevent_ops  const  *uevent_ops ;
 602};
 603#line 39 "include/linux/moduleparam.h"
 604struct kernel_param;
 605#line 39
 606struct kernel_param;
 607#line 41 "include/linux/moduleparam.h"
 608struct kernel_param_ops {
 609   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 610   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 611   void (*free)(void *arg ) ;
 612};
 613#line 50
 614struct kparam_string;
 615#line 50
 616struct kparam_array;
 617#line 50 "include/linux/moduleparam.h"
 618union __anonunion____missing_field_name_199 {
 619   void *arg ;
 620   struct kparam_string  const  *str ;
 621   struct kparam_array  const  *arr ;
 622};
 623#line 50 "include/linux/moduleparam.h"
 624struct kernel_param {
 625   char const   *name ;
 626   struct kernel_param_ops  const  *ops ;
 627   u16 perm ;
 628   s16 level ;
 629   union __anonunion____missing_field_name_199 __annonCompField32 ;
 630};
 631#line 63 "include/linux/moduleparam.h"
 632struct kparam_string {
 633   unsigned int maxlen ;
 634   char *string ;
 635};
 636#line 69 "include/linux/moduleparam.h"
 637struct kparam_array {
 638   unsigned int max ;
 639   unsigned int elemsize ;
 640   unsigned int *num ;
 641   struct kernel_param_ops  const  *ops ;
 642   void *elem ;
 643};
 644#line 445
 645struct module;
 646#line 80 "include/linux/jump_label.h"
 647struct module;
 648#line 143 "include/linux/jump_label.h"
 649struct static_key {
 650   atomic_t enabled ;
 651};
 652#line 22 "include/linux/tracepoint.h"
 653struct module;
 654#line 23
 655struct tracepoint;
 656#line 23
 657struct tracepoint;
 658#line 25 "include/linux/tracepoint.h"
 659struct tracepoint_func {
 660   void *func ;
 661   void *data ;
 662};
 663#line 30 "include/linux/tracepoint.h"
 664struct tracepoint {
 665   char const   *name ;
 666   struct static_key key ;
 667   void (*regfunc)(void) ;
 668   void (*unregfunc)(void) ;
 669   struct tracepoint_func *funcs ;
 670};
 671#line 19 "include/linux/export.h"
 672struct kernel_symbol {
 673   unsigned long value ;
 674   char const   *name ;
 675};
 676#line 8 "include/asm-generic/module.h"
 677struct mod_arch_specific {
 678
 679};
 680#line 35 "include/linux/module.h"
 681struct module;
 682#line 37
 683struct module_param_attrs;
 684#line 37 "include/linux/module.h"
 685struct module_kobject {
 686   struct kobject kobj ;
 687   struct module *mod ;
 688   struct kobject *drivers_dir ;
 689   struct module_param_attrs *mp ;
 690};
 691#line 44 "include/linux/module.h"
 692struct module_attribute {
 693   struct attribute attr ;
 694   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 695   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 696                    size_t count ) ;
 697   void (*setup)(struct module * , char const   * ) ;
 698   int (*test)(struct module * ) ;
 699   void (*free)(struct module * ) ;
 700};
 701#line 71
 702struct exception_table_entry;
 703#line 71
 704struct exception_table_entry;
 705#line 199
 706enum module_state {
 707    MODULE_STATE_LIVE = 0,
 708    MODULE_STATE_COMING = 1,
 709    MODULE_STATE_GOING = 2
 710} ;
 711#line 215 "include/linux/module.h"
 712struct module_ref {
 713   unsigned long incs ;
 714   unsigned long decs ;
 715} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 716#line 220
 717struct module_sect_attrs;
 718#line 220
 719struct module_notes_attrs;
 720#line 220
 721struct ftrace_event_call;
 722#line 220 "include/linux/module.h"
 723struct module {
 724   enum module_state state ;
 725   struct list_head list ;
 726   char name[64UL - sizeof(unsigned long )] ;
 727   struct module_kobject mkobj ;
 728   struct module_attribute *modinfo_attrs ;
 729   char const   *version ;
 730   char const   *srcversion ;
 731   struct kobject *holders_dir ;
 732   struct kernel_symbol  const  *syms ;
 733   unsigned long const   *crcs ;
 734   unsigned int num_syms ;
 735   struct kernel_param *kp ;
 736   unsigned int num_kp ;
 737   unsigned int num_gpl_syms ;
 738   struct kernel_symbol  const  *gpl_syms ;
 739   unsigned long const   *gpl_crcs ;
 740   struct kernel_symbol  const  *unused_syms ;
 741   unsigned long const   *unused_crcs ;
 742   unsigned int num_unused_syms ;
 743   unsigned int num_unused_gpl_syms ;
 744   struct kernel_symbol  const  *unused_gpl_syms ;
 745   unsigned long const   *unused_gpl_crcs ;
 746   struct kernel_symbol  const  *gpl_future_syms ;
 747   unsigned long const   *gpl_future_crcs ;
 748   unsigned int num_gpl_future_syms ;
 749   unsigned int num_exentries ;
 750   struct exception_table_entry *extable ;
 751   int (*init)(void) ;
 752   void *module_init ;
 753   void *module_core ;
 754   unsigned int init_size ;
 755   unsigned int core_size ;
 756   unsigned int init_text_size ;
 757   unsigned int core_text_size ;
 758   unsigned int init_ro_size ;
 759   unsigned int core_ro_size ;
 760   struct mod_arch_specific arch ;
 761   unsigned int taints ;
 762   unsigned int num_bugs ;
 763   struct list_head bug_list ;
 764   struct bug_entry *bug_table ;
 765   Elf64_Sym *symtab ;
 766   Elf64_Sym *core_symtab ;
 767   unsigned int num_symtab ;
 768   unsigned int core_num_syms ;
 769   char *strtab ;
 770   char *core_strtab ;
 771   struct module_sect_attrs *sect_attrs ;
 772   struct module_notes_attrs *notes_attrs ;
 773   char *args ;
 774   void *percpu ;
 775   unsigned int percpu_size ;
 776   unsigned int num_tracepoints ;
 777   struct tracepoint * const  *tracepoints_ptrs ;
 778   unsigned int num_trace_bprintk_fmt ;
 779   char const   **trace_bprintk_fmt_start ;
 780   struct ftrace_event_call **trace_events ;
 781   unsigned int num_trace_events ;
 782   struct list_head source_list ;
 783   struct list_head target_list ;
 784   struct task_struct *waiter ;
 785   void (*exit)(void) ;
 786   struct module_ref *refptr ;
 787   ctor_fn_t *ctors ;
 788   unsigned int num_ctors ;
 789};
 790#line 12 "include/linux/mod_devicetable.h"
 791typedef unsigned long kernel_ulong_t;
 792#line 17 "include/linux/mod_devicetable.h"
 793struct pci_device_id {
 794   __u32 vendor ;
 795   __u32 device ;
 796   __u32 subvendor ;
 797   __u32 subdevice ;
 798   __u32 class ;
 799   __u32 class_mask ;
 800   kernel_ulong_t driver_data ;
 801};
 802#line 219 "include/linux/mod_devicetable.h"
 803struct of_device_id {
 804   char name[32] ;
 805   char type[32] ;
 806   char compatible[128] ;
 807   void *data ;
 808};
 809#line 506 "include/linux/mod_devicetable.h"
 810struct platform_device_id {
 811   char name[20] ;
 812   kernel_ulong_t driver_data  __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
 813};
 814#line 19 "include/linux/klist.h"
 815struct klist_node;
 816#line 19
 817struct klist_node;
 818#line 39 "include/linux/klist.h"
 819struct klist_node {
 820   void *n_klist ;
 821   struct list_head n_node ;
 822   struct kref n_ref ;
 823};
 824#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 825struct dma_map_ops;
 826#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 827struct dev_archdata {
 828   void *acpi_handle ;
 829   struct dma_map_ops *dma_ops ;
 830   void *iommu ;
 831};
 832#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 833struct pdev_archdata {
 834
 835};
 836#line 28 "include/linux/device.h"
 837struct device;
 838#line 29
 839struct device_private;
 840#line 29
 841struct device_private;
 842#line 30
 843struct device_driver;
 844#line 30
 845struct device_driver;
 846#line 31
 847struct driver_private;
 848#line 31
 849struct driver_private;
 850#line 32
 851struct module;
 852#line 33
 853struct class;
 854#line 33
 855struct class;
 856#line 34
 857struct subsys_private;
 858#line 34
 859struct subsys_private;
 860#line 35
 861struct bus_type;
 862#line 35
 863struct bus_type;
 864#line 36
 865struct device_node;
 866#line 36
 867struct device_node;
 868#line 37
 869struct iommu_ops;
 870#line 37
 871struct iommu_ops;
 872#line 39 "include/linux/device.h"
 873struct bus_attribute {
 874   struct attribute attr ;
 875   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 876   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
 877};
 878#line 89
 879struct device_attribute;
 880#line 89
 881struct driver_attribute;
 882#line 89 "include/linux/device.h"
 883struct bus_type {
 884   char const   *name ;
 885   char const   *dev_name ;
 886   struct device *dev_root ;
 887   struct bus_attribute *bus_attrs ;
 888   struct device_attribute *dev_attrs ;
 889   struct driver_attribute *drv_attrs ;
 890   int (*match)(struct device *dev , struct device_driver *drv ) ;
 891   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 892   int (*probe)(struct device *dev ) ;
 893   int (*remove)(struct device *dev ) ;
 894   void (*shutdown)(struct device *dev ) ;
 895   int (*suspend)(struct device *dev , pm_message_t state ) ;
 896   int (*resume)(struct device *dev ) ;
 897   struct dev_pm_ops  const  *pm ;
 898   struct iommu_ops *iommu_ops ;
 899   struct subsys_private *p ;
 900};
 901#line 127
 902struct device_type;
 903#line 214 "include/linux/device.h"
 904struct device_driver {
 905   char const   *name ;
 906   struct bus_type *bus ;
 907   struct module *owner ;
 908   char const   *mod_name ;
 909   bool suppress_bind_attrs ;
 910   struct of_device_id  const  *of_match_table ;
 911   int (*probe)(struct device *dev ) ;
 912   int (*remove)(struct device *dev ) ;
 913   void (*shutdown)(struct device *dev ) ;
 914   int (*suspend)(struct device *dev , pm_message_t state ) ;
 915   int (*resume)(struct device *dev ) ;
 916   struct attribute_group  const  **groups ;
 917   struct dev_pm_ops  const  *pm ;
 918   struct driver_private *p ;
 919};
 920#line 249 "include/linux/device.h"
 921struct driver_attribute {
 922   struct attribute attr ;
 923   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 924   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
 925};
 926#line 330
 927struct class_attribute;
 928#line 330 "include/linux/device.h"
 929struct class {
 930   char const   *name ;
 931   struct module *owner ;
 932   struct class_attribute *class_attrs ;
 933   struct device_attribute *dev_attrs ;
 934   struct bin_attribute *dev_bin_attrs ;
 935   struct kobject *dev_kobj ;
 936   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 937   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 938   void (*class_release)(struct class *class ) ;
 939   void (*dev_release)(struct device *dev ) ;
 940   int (*suspend)(struct device *dev , pm_message_t state ) ;
 941   int (*resume)(struct device *dev ) ;
 942   struct kobj_ns_type_operations  const  *ns_type ;
 943   void const   *(*namespace)(struct device *dev ) ;
 944   struct dev_pm_ops  const  *pm ;
 945   struct subsys_private *p ;
 946};
 947#line 397 "include/linux/device.h"
 948struct class_attribute {
 949   struct attribute attr ;
 950   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 951   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
 952                    size_t count ) ;
 953   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
 954};
 955#line 465 "include/linux/device.h"
 956struct device_type {
 957   char const   *name ;
 958   struct attribute_group  const  **groups ;
 959   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 960   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 961   void (*release)(struct device *dev ) ;
 962   struct dev_pm_ops  const  *pm ;
 963};
 964#line 476 "include/linux/device.h"
 965struct device_attribute {
 966   struct attribute attr ;
 967   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 968   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
 969                    size_t count ) ;
 970};
 971#line 559 "include/linux/device.h"
 972struct device_dma_parameters {
 973   unsigned int max_segment_size ;
 974   unsigned long segment_boundary_mask ;
 975};
 976#line 627
 977struct dma_coherent_mem;
 978#line 627 "include/linux/device.h"
 979struct device {
 980   struct device *parent ;
 981   struct device_private *p ;
 982   struct kobject kobj ;
 983   char const   *init_name ;
 984   struct device_type  const  *type ;
 985   struct mutex mutex ;
 986   struct bus_type *bus ;
 987   struct device_driver *driver ;
 988   void *platform_data ;
 989   struct dev_pm_info power ;
 990   struct dev_pm_domain *pm_domain ;
 991   int numa_node ;
 992   u64 *dma_mask ;
 993   u64 coherent_dma_mask ;
 994   struct device_dma_parameters *dma_parms ;
 995   struct list_head dma_pools ;
 996   struct dma_coherent_mem *dma_mem ;
 997   struct dev_archdata archdata ;
 998   struct device_node *of_node ;
 999   dev_t devt ;
1000   u32 id ;
1001   spinlock_t devres_lock ;
1002   struct list_head devres_head ;
1003   struct klist_node knode_class ;
1004   struct class *class ;
1005   struct attribute_group  const  **groups ;
1006   void (*release)(struct device *dev ) ;
1007};
1008#line 43 "include/linux/pm_wakeup.h"
1009struct wakeup_source {
1010   char const   *name ;
1011   struct list_head entry ;
1012   spinlock_t lock ;
1013   struct timer_list timer ;
1014   unsigned long timer_expires ;
1015   ktime_t total_time ;
1016   ktime_t max_time ;
1017   ktime_t last_time ;
1018   unsigned long event_count ;
1019   unsigned long active_count ;
1020   unsigned long relax_count ;
1021   unsigned long hit_count ;
1022   unsigned int active : 1 ;
1023};
1024#line 25 "include/linux/io.h"
1025struct device;
1026#line 61 "include/linux/pci.h"
1027struct hotplug_slot;
1028#line 61 "include/linux/pci.h"
1029struct pci_slot {
1030   struct pci_bus *bus ;
1031   struct list_head list ;
1032   struct hotplug_slot *hotplug ;
1033   unsigned char number ;
1034   struct kobject kobj ;
1035};
1036#line 117 "include/linux/pci.h"
1037typedef int pci_power_t;
1038#line 143 "include/linux/pci.h"
1039typedef unsigned int pci_channel_state_t;
1040#line 145
1041enum pci_channel_state {
1042    pci_channel_io_normal = 1,
1043    pci_channel_io_frozen = 2,
1044    pci_channel_io_perm_failure = 3
1045} ;
1046#line 169 "include/linux/pci.h"
1047typedef unsigned short pci_dev_flags_t;
1048#line 186 "include/linux/pci.h"
1049typedef unsigned short pci_bus_flags_t;
1050#line 230
1051struct pcie_link_state;
1052#line 230
1053struct pcie_link_state;
1054#line 231
1055struct pci_vpd;
1056#line 231
1057struct pci_vpd;
1058#line 232
1059struct pci_sriov;
1060#line 232
1061struct pci_sriov;
1062#line 233
1063struct pci_ats;
1064#line 233
1065struct pci_ats;
1066#line 238
1067struct proc_dir_entry;
1068#line 238
1069struct pci_driver;
1070#line 238 "include/linux/pci.h"
1071union __anonunion____missing_field_name_203 {
1072   struct pci_sriov *sriov ;
1073   struct pci_dev *physfn ;
1074};
1075#line 238 "include/linux/pci.h"
1076struct pci_dev {
1077   struct list_head bus_list ;
1078   struct pci_bus *bus ;
1079   struct pci_bus *subordinate ;
1080   void *sysdata ;
1081   struct proc_dir_entry *procent ;
1082   struct pci_slot *slot ;
1083   unsigned int devfn ;
1084   unsigned short vendor ;
1085   unsigned short device ;
1086   unsigned short subsystem_vendor ;
1087   unsigned short subsystem_device ;
1088   unsigned int class ;
1089   u8 revision ;
1090   u8 hdr_type ;
1091   u8 pcie_cap ;
1092   u8 pcie_type : 4 ;
1093   u8 pcie_mpss : 3 ;
1094   u8 rom_base_reg ;
1095   u8 pin ;
1096   struct pci_driver *driver ;
1097   u64 dma_mask ;
1098   struct device_dma_parameters dma_parms ;
1099   pci_power_t current_state ;
1100   int pm_cap ;
1101   unsigned int pme_support : 5 ;
1102   unsigned int pme_interrupt : 1 ;
1103   unsigned int pme_poll : 1 ;
1104   unsigned int d1_support : 1 ;
1105   unsigned int d2_support : 1 ;
1106   unsigned int no_d1d2 : 1 ;
1107   unsigned int mmio_always_on : 1 ;
1108   unsigned int wakeup_prepared : 1 ;
1109   unsigned int d3_delay ;
1110   struct pcie_link_state *link_state ;
1111   pci_channel_state_t error_state ;
1112   struct device dev ;
1113   int cfg_size ;
1114   unsigned int irq ;
1115   struct resource resource[17] ;
1116   unsigned int transparent : 1 ;
1117   unsigned int multifunction : 1 ;
1118   unsigned int is_added : 1 ;
1119   unsigned int is_busmaster : 1 ;
1120   unsigned int no_msi : 1 ;
1121   unsigned int block_cfg_access : 1 ;
1122   unsigned int broken_parity_status : 1 ;
1123   unsigned int irq_reroute_variant : 2 ;
1124   unsigned int msi_enabled : 1 ;
1125   unsigned int msix_enabled : 1 ;
1126   unsigned int ari_enabled : 1 ;
1127   unsigned int is_managed : 1 ;
1128   unsigned int is_pcie : 1 ;
1129   unsigned int needs_freset : 1 ;
1130   unsigned int state_saved : 1 ;
1131   unsigned int is_physfn : 1 ;
1132   unsigned int is_virtfn : 1 ;
1133   unsigned int reset_fn : 1 ;
1134   unsigned int is_hotplug_bridge : 1 ;
1135   unsigned int __aer_firmware_first_valid : 1 ;
1136   unsigned int __aer_firmware_first : 1 ;
1137   pci_dev_flags_t dev_flags ;
1138   atomic_t enable_cnt ;
1139   u32 saved_config_space[16] ;
1140   struct hlist_head saved_cap_space ;
1141   struct bin_attribute *rom_attr ;
1142   int rom_attr_enabled ;
1143   struct bin_attribute *res_attr[17] ;
1144   struct bin_attribute *res_attr_wc[17] ;
1145   struct list_head msi_list ;
1146   struct kset *msi_kset ;
1147   struct pci_vpd *vpd ;
1148   union __anonunion____missing_field_name_203 __annonCompField33 ;
1149   struct pci_ats *ats ;
1150};
1151#line 406
1152struct pci_ops;
1153#line 406 "include/linux/pci.h"
1154struct pci_bus {
1155   struct list_head node ;
1156   struct pci_bus *parent ;
1157   struct list_head children ;
1158   struct list_head devices ;
1159   struct pci_dev *self ;
1160   struct list_head slots ;
1161   struct resource *resource[4] ;
1162   struct list_head resources ;
1163   struct pci_ops *ops ;
1164   void *sysdata ;
1165   struct proc_dir_entry *procdir ;
1166   unsigned char number ;
1167   unsigned char primary ;
1168   unsigned char secondary ;
1169   unsigned char subordinate ;
1170   unsigned char max_bus_speed ;
1171   unsigned char cur_bus_speed ;
1172   char name[48] ;
1173   unsigned short bridge_ctl ;
1174   pci_bus_flags_t bus_flags ;
1175   struct device *bridge ;
1176   struct device dev ;
1177   struct bin_attribute *legacy_io ;
1178   struct bin_attribute *legacy_mem ;
1179   unsigned int is_added : 1 ;
1180};
1181#line 472 "include/linux/pci.h"
1182struct pci_ops {
1183   int (*read)(struct pci_bus *bus , unsigned int devfn , int where , int size , u32 *val ) ;
1184   int (*write)(struct pci_bus *bus , unsigned int devfn , int where , int size ,
1185                u32 val ) ;
1186};
1187#line 491 "include/linux/pci.h"
1188struct pci_dynids {
1189   spinlock_t lock ;
1190   struct list_head list ;
1191};
1192#line 503 "include/linux/pci.h"
1193typedef unsigned int pci_ers_result_t;
1194#line 523 "include/linux/pci.h"
1195struct pci_error_handlers {
1196   pci_ers_result_t (*error_detected)(struct pci_dev *dev , enum pci_channel_state error ) ;
1197   pci_ers_result_t (*mmio_enabled)(struct pci_dev *dev ) ;
1198   pci_ers_result_t (*link_reset)(struct pci_dev *dev ) ;
1199   pci_ers_result_t (*slot_reset)(struct pci_dev *dev ) ;
1200   void (*resume)(struct pci_dev *dev ) ;
1201};
1202#line 543
1203struct module;
1204#line 544 "include/linux/pci.h"
1205struct pci_driver {
1206   struct list_head node ;
1207   char const   *name ;
1208   struct pci_device_id  const  *id_table ;
1209   int (*probe)(struct pci_dev *dev , struct pci_device_id  const  *id ) ;
1210   void (*remove)(struct pci_dev *dev ) ;
1211   int (*suspend)(struct pci_dev *dev , pm_message_t state ) ;
1212   int (*suspend_late)(struct pci_dev *dev , pm_message_t state ) ;
1213   int (*resume_early)(struct pci_dev *dev ) ;
1214   int (*resume)(struct pci_dev *dev ) ;
1215   void (*shutdown)(struct pci_dev *dev ) ;
1216   struct pci_error_handlers *err_handler ;
1217   struct device_driver driver ;
1218   struct pci_dynids dynids ;
1219};
1220#line 6 "include/asm-generic/scatterlist.h"
1221struct scatterlist {
1222   unsigned long sg_magic ;
1223   unsigned long page_link ;
1224   unsigned int offset ;
1225   unsigned int length ;
1226   dma_addr_t dma_address ;
1227   unsigned int dma_length ;
1228};
1229#line 14 "include/linux/prio_tree.h"
1230struct prio_tree_node;
1231#line 14 "include/linux/prio_tree.h"
1232struct raw_prio_tree_node {
1233   struct prio_tree_node *left ;
1234   struct prio_tree_node *right ;
1235   struct prio_tree_node *parent ;
1236};
1237#line 20 "include/linux/prio_tree.h"
1238struct prio_tree_node {
1239   struct prio_tree_node *left ;
1240   struct prio_tree_node *right ;
1241   struct prio_tree_node *parent ;
1242   unsigned long start ;
1243   unsigned long last ;
1244};
1245#line 8 "include/linux/debug_locks.h"
1246struct task_struct;
1247#line 48
1248struct task_struct;
1249#line 23 "include/linux/mm_types.h"
1250struct address_space;
1251#line 23
1252struct address_space;
1253#line 40 "include/linux/mm_types.h"
1254union __anonunion____missing_field_name_205 {
1255   unsigned long index ;
1256   void *freelist ;
1257};
1258#line 40 "include/linux/mm_types.h"
1259struct __anonstruct____missing_field_name_209 {
1260   unsigned int inuse : 16 ;
1261   unsigned int objects : 15 ;
1262   unsigned int frozen : 1 ;
1263};
1264#line 40 "include/linux/mm_types.h"
1265union __anonunion____missing_field_name_208 {
1266   atomic_t _mapcount ;
1267   struct __anonstruct____missing_field_name_209 __annonCompField35 ;
1268};
1269#line 40 "include/linux/mm_types.h"
1270struct __anonstruct____missing_field_name_207 {
1271   union __anonunion____missing_field_name_208 __annonCompField36 ;
1272   atomic_t _count ;
1273};
1274#line 40 "include/linux/mm_types.h"
1275union __anonunion____missing_field_name_206 {
1276   unsigned long counters ;
1277   struct __anonstruct____missing_field_name_207 __annonCompField37 ;
1278};
1279#line 40 "include/linux/mm_types.h"
1280struct __anonstruct____missing_field_name_204 {
1281   union __anonunion____missing_field_name_205 __annonCompField34 ;
1282   union __anonunion____missing_field_name_206 __annonCompField38 ;
1283};
1284#line 40 "include/linux/mm_types.h"
1285struct __anonstruct____missing_field_name_211 {
1286   struct page *next ;
1287   int pages ;
1288   int pobjects ;
1289};
1290#line 40 "include/linux/mm_types.h"
1291union __anonunion____missing_field_name_210 {
1292   struct list_head lru ;
1293   struct __anonstruct____missing_field_name_211 __annonCompField40 ;
1294};
1295#line 40 "include/linux/mm_types.h"
1296union __anonunion____missing_field_name_212 {
1297   unsigned long private ;
1298   struct kmem_cache *slab ;
1299   struct page *first_page ;
1300};
1301#line 40 "include/linux/mm_types.h"
1302struct page {
1303   unsigned long flags ;
1304   struct address_space *mapping ;
1305   struct __anonstruct____missing_field_name_204 __annonCompField39 ;
1306   union __anonunion____missing_field_name_210 __annonCompField41 ;
1307   union __anonunion____missing_field_name_212 __annonCompField42 ;
1308   unsigned long debug_flags ;
1309} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1310#line 200 "include/linux/mm_types.h"
1311struct __anonstruct_vm_set_214 {
1312   struct list_head list ;
1313   void *parent ;
1314   struct vm_area_struct *head ;
1315};
1316#line 200 "include/linux/mm_types.h"
1317union __anonunion_shared_213 {
1318   struct __anonstruct_vm_set_214 vm_set ;
1319   struct raw_prio_tree_node prio_tree_node ;
1320};
1321#line 200
1322struct anon_vma;
1323#line 200
1324struct vm_operations_struct;
1325#line 200
1326struct mempolicy;
1327#line 200 "include/linux/mm_types.h"
1328struct vm_area_struct {
1329   struct mm_struct *vm_mm ;
1330   unsigned long vm_start ;
1331   unsigned long vm_end ;
1332   struct vm_area_struct *vm_next ;
1333   struct vm_area_struct *vm_prev ;
1334   pgprot_t vm_page_prot ;
1335   unsigned long vm_flags ;
1336   struct rb_node vm_rb ;
1337   union __anonunion_shared_213 shared ;
1338   struct list_head anon_vma_chain ;
1339   struct anon_vma *anon_vma ;
1340   struct vm_operations_struct  const  *vm_ops ;
1341   unsigned long vm_pgoff ;
1342   struct file *vm_file ;
1343   void *vm_private_data ;
1344   struct mempolicy *vm_policy ;
1345};
1346#line 257 "include/linux/mm_types.h"
1347struct core_thread {
1348   struct task_struct *task ;
1349   struct core_thread *next ;
1350};
1351#line 262 "include/linux/mm_types.h"
1352struct core_state {
1353   atomic_t nr_threads ;
1354   struct core_thread dumper ;
1355   struct completion startup ;
1356};
1357#line 284 "include/linux/mm_types.h"
1358struct mm_rss_stat {
1359   atomic_long_t count[3] ;
1360};
1361#line 288
1362struct linux_binfmt;
1363#line 288
1364struct mmu_notifier_mm;
1365#line 288 "include/linux/mm_types.h"
1366struct mm_struct {
1367   struct vm_area_struct *mmap ;
1368   struct rb_root mm_rb ;
1369   struct vm_area_struct *mmap_cache ;
1370   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1371                                      unsigned long pgoff , unsigned long flags ) ;
1372   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1373   unsigned long mmap_base ;
1374   unsigned long task_size ;
1375   unsigned long cached_hole_size ;
1376   unsigned long free_area_cache ;
1377   pgd_t *pgd ;
1378   atomic_t mm_users ;
1379   atomic_t mm_count ;
1380   int map_count ;
1381   spinlock_t page_table_lock ;
1382   struct rw_semaphore mmap_sem ;
1383   struct list_head mmlist ;
1384   unsigned long hiwater_rss ;
1385   unsigned long hiwater_vm ;
1386   unsigned long total_vm ;
1387   unsigned long locked_vm ;
1388   unsigned long pinned_vm ;
1389   unsigned long shared_vm ;
1390   unsigned long exec_vm ;
1391   unsigned long stack_vm ;
1392   unsigned long reserved_vm ;
1393   unsigned long def_flags ;
1394   unsigned long nr_ptes ;
1395   unsigned long start_code ;
1396   unsigned long end_code ;
1397   unsigned long start_data ;
1398   unsigned long end_data ;
1399   unsigned long start_brk ;
1400   unsigned long brk ;
1401   unsigned long start_stack ;
1402   unsigned long arg_start ;
1403   unsigned long arg_end ;
1404   unsigned long env_start ;
1405   unsigned long env_end ;
1406   unsigned long saved_auxv[44] ;
1407   struct mm_rss_stat rss_stat ;
1408   struct linux_binfmt *binfmt ;
1409   cpumask_var_t cpu_vm_mask_var ;
1410   mm_context_t context ;
1411   unsigned int faultstamp ;
1412   unsigned int token_priority ;
1413   unsigned int last_interval ;
1414   unsigned long flags ;
1415   struct core_state *core_state ;
1416   spinlock_t ioctx_lock ;
1417   struct hlist_head ioctx_list ;
1418   struct task_struct *owner ;
1419   struct file *exe_file ;
1420   unsigned long num_exe_file_vmas ;
1421   struct mmu_notifier_mm *mmu_notifier_mm ;
1422   pgtable_t pmd_huge_pte ;
1423   struct cpumask cpumask_allocation ;
1424};
1425#line 22 "include/linux/mm.h"
1426struct mempolicy;
1427#line 23
1428struct anon_vma;
1429#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
1430struct mm_struct;
1431#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
1432struct vm_area_struct;
1433#line 188 "include/linux/mm.h"
1434struct vm_fault {
1435   unsigned int flags ;
1436   unsigned long pgoff ;
1437   void *virtual_address ;
1438   struct page *page ;
1439};
1440#line 205 "include/linux/mm.h"
1441struct vm_operations_struct {
1442   void (*open)(struct vm_area_struct *area ) ;
1443   void (*close)(struct vm_area_struct *area ) ;
1444   int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1445   int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1446   int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
1447                 int write ) ;
1448   int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
1449   struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
1450   int (*migrate)(struct vm_area_struct *vma , nodemask_t const   *from , nodemask_t const   *to ,
1451                  unsigned long flags ) ;
1452};
1453#line 195 "include/linux/page-flags.h"
1454struct page;
1455#line 46 "include/linux/slub_def.h"
1456struct kmem_cache_cpu {
1457   void **freelist ;
1458   unsigned long tid ;
1459   struct page *page ;
1460   struct page *partial ;
1461   int node ;
1462   unsigned int stat[26] ;
1463};
1464#line 57 "include/linux/slub_def.h"
1465struct kmem_cache_node {
1466   spinlock_t list_lock ;
1467   unsigned long nr_partial ;
1468   struct list_head partial ;
1469   atomic_long_t nr_slabs ;
1470   atomic_long_t total_objects ;
1471   struct list_head full ;
1472};
1473#line 73 "include/linux/slub_def.h"
1474struct kmem_cache_order_objects {
1475   unsigned long x ;
1476};
1477#line 80 "include/linux/slub_def.h"
1478struct kmem_cache {
1479   struct kmem_cache_cpu *cpu_slab ;
1480   unsigned long flags ;
1481   unsigned long min_partial ;
1482   int size ;
1483   int objsize ;
1484   int offset ;
1485   int cpu_partial ;
1486   struct kmem_cache_order_objects oo ;
1487   struct kmem_cache_order_objects max ;
1488   struct kmem_cache_order_objects min ;
1489   gfp_t allocflags ;
1490   int refcount ;
1491   void (*ctor)(void * ) ;
1492   int inuse ;
1493   int align ;
1494   int reserved ;
1495   char const   *name ;
1496   struct list_head list ;
1497   struct kobject kobj ;
1498   int remote_node_defrag_ratio ;
1499   struct kmem_cache_node *node[1 << 10] ;
1500};
1501#line 27 "include/linux/dma-attrs.h"
1502struct dma_attrs {
1503   unsigned long flags[((4UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1504};
1505#line 7 "include/linux/dma-direction.h"
1506enum dma_data_direction {
1507    DMA_BIDIRECTIONAL = 0,
1508    DMA_TO_DEVICE = 1,
1509    DMA_FROM_DEVICE = 2,
1510    DMA_NONE = 3
1511} ;
1512#line 11 "include/linux/dma-mapping.h"
1513struct dma_map_ops {
1514   void *(*alloc)(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp ,
1515                  struct dma_attrs *attrs ) ;
1516   void (*free)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ,
1517                struct dma_attrs *attrs ) ;
1518   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
1519               size_t  , struct dma_attrs *attrs ) ;
1520   dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
1521                          size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
1522   void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
1523                      struct dma_attrs *attrs ) ;
1524   int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1525                 struct dma_attrs *attrs ) ;
1526   void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1527                    struct dma_attrs *attrs ) ;
1528   void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1529                               enum dma_data_direction dir ) ;
1530   void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1531                                  enum dma_data_direction dir ) ;
1532   void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
1533                           enum dma_data_direction dir ) ;
1534   void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
1535                              enum dma_data_direction dir ) ;
1536   int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
1537   int (*dma_supported)(struct device *dev , u64 mask ) ;
1538   int (*set_dma_mask)(struct device *dev , u64 mask ) ;
1539   int is_phys ;
1540};
1541#line 25 "include/linux/dma-debug.h"
1542struct device;
1543#line 26
1544struct scatterlist;
1545#line 27
1546struct bus_type;
1547#line 6 "include/linux/swiotlb.h"
1548struct device;
1549#line 7
1550struct dma_attrs;
1551#line 8
1552struct scatterlist;
1553#line 32 "include/linux/irq.h"
1554struct module;
1555#line 12 "include/linux/irqdesc.h"
1556struct proc_dir_entry;
1557#line 14
1558struct module;
1559#line 16 "include/linux/profile.h"
1560struct proc_dir_entry;
1561#line 65
1562struct task_struct;
1563#line 66
1564struct mm_struct;
1565#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1566struct exception_table_entry {
1567   unsigned long insn ;
1568   unsigned long fixup ;
1569};
1570#line 132 "include/linux/hardirq.h"
1571struct task_struct;
1572#line 187 "include/linux/interrupt.h"
1573struct device;
1574#line 17 "include/linux/platform_device.h"
1575struct mfd_cell;
1576#line 17
1577struct mfd_cell;
1578#line 19 "include/linux/platform_device.h"
1579struct platform_device {
1580   char const   *name ;
1581   int id ;
1582   struct device dev ;
1583   u32 num_resources ;
1584   struct resource *resource ;
1585   struct platform_device_id  const  *id_entry ;
1586   struct mfd_cell *mfd_cell ;
1587   struct pdev_archdata archdata ;
1588};
1589#line 24 "include/linux/mfd/core.h"
1590struct mfd_cell {
1591   char const   *name ;
1592   int id ;
1593   atomic_t *usage_count ;
1594   int (*enable)(struct platform_device *dev ) ;
1595   int (*disable)(struct platform_device *dev ) ;
1596   int (*suspend)(struct platform_device *dev ) ;
1597   int (*resume)(struct platform_device *dev ) ;
1598   void *platform_data ;
1599   size_t pdata_size ;
1600   int num_resources ;
1601   struct resource  const  *resources ;
1602   bool ignore_resource_conflicts ;
1603   bool pm_runtime_no_callbacks ;
1604};
1605#line 15 "include/linux/mfd/janz.h"
1606struct janz_platform_data {
1607   unsigned int modno ;
1608};
1609#line 21 "include/linux/mfd/janz.h"
1610struct janz_cmodio_onboard_regs {
1611   u8 unused1 ;
1612   u8 int_disable ;
1613   u8 unused2 ;
1614   u8 int_enable ;
1615   u8 unused3 ;
1616   u8 reset_assert ;
1617   u8 unused4 ;
1618   u8 reset_deassert ;
1619   u8 unused5 ;
1620   u8 eep ;
1621   u8 unused6 ;
1622   u8 enid ;
1623};
1624#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1625struct __anonstruct_224 {
1626   int  : 0 ;
1627};
1628#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1629struct cmodio_device {
1630   struct pci_dev *pdev ;
1631   struct janz_cmodio_onboard_regs *ctrl ;
1632   u8 hex ;
1633   struct mfd_cell cells[4] ;
1634   struct resource resources[12] ;
1635   struct janz_platform_data pdata[4] ;
1636};
1637#line 1 "<compiler builtins>"
1638long __builtin_expect(long val , long res ) ;
1639#line 49 "include/linux/dynamic_debug.h"
1640extern int ( /* format attribute */  __dynamic_dev_dbg)(struct _ddebug *descriptor ,
1641                                                        struct device  const  *dev ,
1642                                                        char const   *fmt  , ...) ;
1643#line 322 "include/linux/kernel.h"
1644extern int ( /* format attribute */  snprintf)(char *buf , size_t size , char const   *fmt 
1645                                               , ...) ;
1646#line 64 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
1647extern int strcmp(char const   *cs , char const   *ct ) ;
1648#line 152 "include/linux/mutex.h"
1649void mutex_lock(struct mutex *lock ) ;
1650#line 153
1651int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
1652#line 154
1653int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
1654#line 168
1655int mutex_trylock(struct mutex *lock ) ;
1656#line 169
1657void mutex_unlock(struct mutex *lock ) ;
1658#line 170
1659int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1660#line 187 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1661extern void iounmap(void volatile   *addr ) ;
1662#line 28 "include/asm-generic/iomap.h"
1663extern unsigned int ioread8(void * ) ;
1664#line 34
1665extern void iowrite8(u8  , void * ) ;
1666#line 158 "include/linux/sysfs.h"
1667extern int __attribute__((__warn_unused_result__))  sysfs_create_group(struct kobject *kobj ,
1668                                                                       struct attribute_group  const  *grp ) ;
1669#line 162
1670extern void sysfs_remove_group(struct kobject *kobj , struct attribute_group  const  *grp ) ;
1671#line 376 "include/linux/moduleparam.h"
1672extern struct kernel_param_ops param_ops_charp ;
1673#line 437
1674extern struct kernel_param_ops param_array_ops ;
1675#line 26 "include/linux/export.h"
1676extern struct module __this_module ;
1677#line 67 "include/linux/module.h"
1678int init_module(void) ;
1679#line 68
1680void cleanup_module(void) ;
1681#line 792 "include/linux/device.h"
1682extern void *dev_get_drvdata(struct device  const  *dev ) ;
1683#line 793
1684extern int dev_set_drvdata(struct device *dev , void *data ) ;
1685#line 891
1686extern int ( /* format attribute */  dev_err)(struct device  const  *dev , char const   *fmt 
1687                                              , ...) ;
1688#line 773 "include/linux/pci.h"
1689extern int __attribute__((__warn_unused_result__))  pci_enable_device(struct pci_dev *dev ) ;
1690#line 790
1691extern void pci_disable_device(struct pci_dev *dev ) ;
1692#line 793
1693extern void pci_set_master(struct pci_dev *dev ) ;
1694#line 904
1695extern int __attribute__((__warn_unused_result__))  pci_request_regions(struct pci_dev * ,
1696                                                                        char const   * ) ;
1697#line 906
1698extern void pci_release_regions(struct pci_dev * ) ;
1699#line 940
1700extern int __attribute__((__warn_unused_result__))  __pci_register_driver(struct pci_driver * ,
1701                                                                          struct module * ,
1702                                                                          char const   *mod_name ) ;
1703#line 949
1704extern void pci_unregister_driver(struct pci_driver *dev ) ;
1705#line 161 "include/linux/slab.h"
1706extern void kfree(void const   * ) ;
1707#line 221 "include/linux/slub_def.h"
1708extern void *__kmalloc(size_t size , gfp_t flags ) ;
1709#line 268
1710__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1711                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1712#line 268 "include/linux/slub_def.h"
1713__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1714                                                                    gfp_t flags ) 
1715{ void *tmp___2 ;
1716
1717  {
1718  {
1719#line 283
1720  tmp___2 = __kmalloc(size, flags);
1721  }
1722#line 283
1723  return (tmp___2);
1724}
1725}
1726#line 349 "include/linux/slab.h"
1727__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1728#line 349 "include/linux/slab.h"
1729__inline static void *kzalloc(size_t size , gfp_t flags ) 
1730{ void *tmp ;
1731  unsigned int __cil_tmp4 ;
1732
1733  {
1734  {
1735#line 351
1736  __cil_tmp4 = flags | 32768U;
1737#line 351
1738  tmp = kmalloc(size, __cil_tmp4);
1739  }
1740#line 351
1741  return (tmp);
1742}
1743}
1744#line 1358 "include/linux/pci.h"
1745__inline static void *pci_get_drvdata(struct pci_dev *pdev )  __attribute__((__no_instrument_function__)) ;
1746#line 1358 "include/linux/pci.h"
1747__inline static void *pci_get_drvdata(struct pci_dev *pdev ) 
1748{ void *tmp ;
1749  unsigned long __cil_tmp3 ;
1750  unsigned long __cil_tmp4 ;
1751  struct device *__cil_tmp5 ;
1752  struct device  const  *__cil_tmp6 ;
1753
1754  {
1755  {
1756#line 1360
1757  __cil_tmp3 = (unsigned long )pdev;
1758#line 1360
1759  __cil_tmp4 = __cil_tmp3 + 144;
1760#line 1360
1761  __cil_tmp5 = (struct device *)__cil_tmp4;
1762#line 1360
1763  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
1764#line 1360
1765  tmp = dev_get_drvdata(__cil_tmp6);
1766  }
1767#line 1360
1768  return (tmp);
1769}
1770}
1771#line 1363
1772__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data )  __attribute__((__no_instrument_function__)) ;
1773#line 1363 "include/linux/pci.h"
1774__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data ) 
1775{ unsigned long __cil_tmp3 ;
1776  unsigned long __cil_tmp4 ;
1777  struct device *__cil_tmp5 ;
1778
1779  {
1780  {
1781#line 1365
1782  __cil_tmp3 = (unsigned long )pdev;
1783#line 1365
1784  __cil_tmp4 = __cil_tmp3 + 144;
1785#line 1365
1786  __cil_tmp5 = (struct device *)__cil_tmp4;
1787#line 1365
1788  dev_set_drvdata(__cil_tmp5, data);
1789  }
1790#line 1366
1791  return;
1792}
1793}
1794#line 1529
1795extern void *pci_ioremap_bar(struct pci_dev *pdev , int bar ) ;
1796#line 93 "include/linux/mfd/core.h"
1797extern int mfd_add_devices(struct device *parent , int id , struct mfd_cell *cells ,
1798                           int n_devs , struct resource *mem_base , int irq_base ) ;
1799#line 98
1800extern void mfd_remove_devices(struct device *parent ) ;
1801#line 36 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1802static unsigned int num_modules  =    4U;
1803#line 37 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1804static char *modules[4]  = {      (char *)"empty",      (char *)"empty",      (char *)"empty",      (char *)"empty"};
1805#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1806static struct kparam_array  const  __param_arr_modules  =    {(unsigned int )(sizeof(modules) / sizeof(modules[0]) + sizeof(struct __anonstruct_224 )),
1807    (unsigned int )sizeof(modules[0]), & num_modules, (struct kernel_param_ops  const  *)(& param_ops_charp),
1808    (void *)(modules)};
1809#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1810static char const   __param_str_modules[8]  = 
1811#line 41
1812  {      (char const   )'m',      (char const   )'o',      (char const   )'d',      (char const   )'u', 
1813        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )'\000'};
1814#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1815static struct kernel_param  const  __param_modules  __attribute__((__used__, __unused__,
1816__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_modules, (struct kernel_param_ops  const  *)(& param_array_ops), (u16 )292,
1817    (s16 )0, {.arr = & __param_arr_modules}};
1818#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1819static char const   __mod_modulestype41[32]  __attribute__((__used__, __unused__,
1820__section__(".modinfo"), __aligned__(1)))  = 
1821#line 41
1822  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
1823        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
1824        (char const   )'=',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
1825        (char const   )'u',      (char const   )'l',      (char const   )'e',      (char const   )'s', 
1826        (char const   )':',      (char const   )'a',      (char const   )'r',      (char const   )'r', 
1827        (char const   )'a',      (char const   )'y',      (char const   )' ',      (char const   )'o', 
1828        (char const   )'f',      (char const   )' ',      (char const   )'c',      (char const   )'h', 
1829        (char const   )'a',      (char const   )'r',      (char const   )'p',      (char const   )'\000'};
1830#line 42 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1831static char const   __mod_modules42[60]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1832__aligned__(1)))  = 
1833#line 42
1834  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
1835        (char const   )'=',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
1836        (char const   )'u',      (char const   )'l',      (char const   )'e',      (char const   )'s', 
1837        (char const   )':',      (char const   )'M',      (char const   )'O',      (char const   )'D', 
1838        (char const   )'U',      (char const   )'L',      (char const   )'b',      (char const   )'u', 
1839        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'o', 
1840        (char const   )'d',      (char const   )'u',      (char const   )'l',      (char const   )'e', 
1841        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'t', 
1842        (char const   )'t',      (char const   )'a',      (char const   )'c',      (char const   )'h', 
1843        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'t', 
1844        (char const   )'o',      (char const   )' ',      (char const   )'t',      (char const   )'h', 
1845        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'a', 
1846        (char const   )'r',      (char const   )'r',      (char const   )'i',      (char const   )'e', 
1847        (char const   )'r',      (char const   )' ',      (char const   )'b',      (char const   )'o', 
1848        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'\000'};
1849#line 45 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1850static unsigned int cmodio_id  ;
1851#line 67
1852static int cmodio_setup_subdevice(struct cmodio_device *priv , char *name , unsigned int devno ,
1853                                  unsigned int modno )  __attribute__((__section__(".devinit.text"),
1854__no_instrument_function__)) ;
1855#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
1856static int cmodio_setup_subdevice(struct cmodio_device *priv , char *name , unsigned int devno ,
1857                                  unsigned int modno ) 
1858{ struct janz_platform_data *pdata ;
1859  struct mfd_cell *cell ;
1860  struct resource *res ;
1861  struct pci_dev *pci ;
1862  unsigned int tmp ;
1863  unsigned long __cil_tmp10 ;
1864  unsigned long __cil_tmp11 ;
1865  unsigned long __cil_tmp12 ;
1866  unsigned long __cil_tmp13 ;
1867  unsigned int __cil_tmp14 ;
1868  unsigned long __cil_tmp15 ;
1869  unsigned long __cil_tmp16 ;
1870  unsigned long __cil_tmp17 ;
1871  unsigned long __cil_tmp18 ;
1872  unsigned long __cil_tmp19 ;
1873  unsigned long __cil_tmp20 ;
1874  unsigned long __cil_tmp21 ;
1875  unsigned long __cil_tmp22 ;
1876  unsigned long __cil_tmp23 ;
1877  unsigned long __cil_tmp24 ;
1878  unsigned long __cil_tmp25 ;
1879  unsigned long __cil_tmp26 ;
1880  unsigned long __cil_tmp27 ;
1881  unsigned long __cil_tmp28 ;
1882  unsigned long __cil_tmp29 ;
1883  unsigned long __cil_tmp30 ;
1884  unsigned long __cil_tmp31 ;
1885  unsigned long __cil_tmp32 ;
1886  unsigned long __cil_tmp33 ;
1887  unsigned long __cil_tmp34 ;
1888  unsigned long __cil_tmp35 ;
1889  unsigned long __cil_tmp36 ;
1890  unsigned long __cil_tmp37 ;
1891  unsigned long __cil_tmp38 ;
1892  unsigned long __cil_tmp39 ;
1893  unsigned long __cil_tmp40 ;
1894  unsigned int __cil_tmp41 ;
1895  resource_size_t __cil_tmp42 ;
1896  unsigned long __cil_tmp43 ;
1897  unsigned long __cil_tmp44 ;
1898  unsigned long __cil_tmp45 ;
1899  unsigned long __cil_tmp46 ;
1900  resource_size_t __cil_tmp47 ;
1901  unsigned long __cil_tmp48 ;
1902  unsigned long __cil_tmp49 ;
1903  resource_size_t __cil_tmp50 ;
1904  resource_size_t __cil_tmp51 ;
1905  unsigned long __cil_tmp52 ;
1906  unsigned long __cil_tmp53 ;
1907  unsigned long __cil_tmp54 ;
1908  unsigned long __cil_tmp55 ;
1909  unsigned long __cil_tmp56 ;
1910  unsigned long __cil_tmp57 ;
1911  unsigned long __cil_tmp58 ;
1912  unsigned long __cil_tmp59 ;
1913  unsigned long __cil_tmp60 ;
1914  unsigned long __cil_tmp61 ;
1915  unsigned long __cil_tmp62 ;
1916  unsigned long __cil_tmp63 ;
1917  unsigned long __cil_tmp64 ;
1918  unsigned long __cil_tmp65 ;
1919  unsigned long __cil_tmp66 ;
1920  unsigned long __cil_tmp67 ;
1921  unsigned long __cil_tmp68 ;
1922  unsigned long __cil_tmp69 ;
1923  unsigned long __cil_tmp70 ;
1924  unsigned long __cil_tmp71 ;
1925  unsigned long __cil_tmp72 ;
1926  unsigned long __cil_tmp73 ;
1927  unsigned long __cil_tmp74 ;
1928  void *__cil_tmp75 ;
1929  unsigned long __cil_tmp76 ;
1930  unsigned long __cil_tmp77 ;
1931
1932  {
1933#line 76
1934  pci = *((struct pci_dev **)priv);
1935#line 77
1936  __cil_tmp10 = devno * 96UL;
1937#line 77
1938  __cil_tmp11 = 24 + __cil_tmp10;
1939#line 77
1940  __cil_tmp12 = (unsigned long )priv;
1941#line 77
1942  __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
1943#line 77
1944  cell = (struct mfd_cell *)__cil_tmp13;
1945#line 78
1946  __cil_tmp14 = devno * 3U;
1947#line 78
1948  __cil_tmp15 = __cil_tmp14 * 56UL;
1949#line 78
1950  __cil_tmp16 = 408 + __cil_tmp15;
1951#line 78
1952  __cil_tmp17 = (unsigned long )priv;
1953#line 78
1954  __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
1955#line 78
1956  res = (struct resource *)__cil_tmp18;
1957#line 79
1958  __cil_tmp19 = devno * 4UL;
1959#line 79
1960  __cil_tmp20 = 1080 + __cil_tmp19;
1961#line 79
1962  __cil_tmp21 = (unsigned long )priv;
1963#line 79
1964  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
1965#line 79
1966  pdata = (struct janz_platform_data *)__cil_tmp22;
1967#line 81
1968  *((char const   **)cell) = (char const   *)name;
1969#line 82
1970  __cil_tmp23 = (unsigned long )cell;
1971#line 82
1972  __cil_tmp24 = __cil_tmp23 + 80;
1973#line 82
1974  *((struct resource  const  **)__cil_tmp24) = (struct resource  const  *)res;
1975#line 83
1976  __cil_tmp25 = (unsigned long )cell;
1977#line 83
1978  __cil_tmp26 = __cil_tmp25 + 72;
1979#line 83
1980  *((int *)__cil_tmp26) = 3;
1981#line 86
1982  tmp = cmodio_id;
1983#line 86
1984  cmodio_id = cmodio_id + 1U;
1985#line 86
1986  __cil_tmp27 = (unsigned long )cell;
1987#line 86
1988  __cil_tmp28 = __cil_tmp27 + 8;
1989#line 86
1990  *((int *)__cil_tmp28) = (int )tmp;
1991#line 89
1992  *((unsigned int *)pdata) = modno;
1993#line 90
1994  __cil_tmp29 = (unsigned long )cell;
1995#line 90
1996  __cil_tmp30 = __cil_tmp29 + 56;
1997#line 90
1998  *((void **)__cil_tmp30) = (void *)pdata;
1999#line 91
2000  __cil_tmp31 = (unsigned long )cell;
2001#line 91
2002  __cil_tmp32 = __cil_tmp31 + 64;
2003#line 91
2004  *((size_t *)__cil_tmp32) = 4UL;
2005#line 94
2006  __cil_tmp33 = (unsigned long )res;
2007#line 94
2008  __cil_tmp34 = __cil_tmp33 + 24;
2009#line 94
2010  *((unsigned long *)__cil_tmp34) = 512UL;
2011#line 95
2012  __cil_tmp35 = (unsigned long )res;
2013#line 95
2014  __cil_tmp36 = __cil_tmp35 + 32;
2015#line 95
2016  __cil_tmp37 = 3 * 56UL;
2017#line 95
2018  __cil_tmp38 = 920 + __cil_tmp37;
2019#line 95
2020  __cil_tmp39 = (unsigned long )pci;
2021#line 95
2022  __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
2023#line 95
2024  *((struct resource **)__cil_tmp36) = (struct resource *)__cil_tmp40;
2025#line 96
2026  __cil_tmp41 = 512U * modno;
2027#line 96
2028  __cil_tmp42 = (resource_size_t )__cil_tmp41;
2029#line 96
2030  __cil_tmp43 = 3 * 56UL;
2031#line 96
2032  __cil_tmp44 = 920 + __cil_tmp43;
2033#line 96
2034  __cil_tmp45 = (unsigned long )pci;
2035#line 96
2036  __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
2037#line 96
2038  __cil_tmp47 = *((resource_size_t *)__cil_tmp46);
2039#line 96
2040  *((resource_size_t *)res) = __cil_tmp47 + __cil_tmp42;
2041#line 97
2042  __cil_tmp48 = (unsigned long )res;
2043#line 97
2044  __cil_tmp49 = __cil_tmp48 + 8;
2045#line 97
2046  __cil_tmp50 = *((resource_size_t *)res);
2047#line 97
2048  __cil_tmp51 = __cil_tmp50 + 512ULL;
2049#line 97
2050  *((resource_size_t *)__cil_tmp49) = __cil_tmp51 - 1ULL;
2051#line 98
2052  res = res + 1;
2053#line 101
2054  __cil_tmp52 = (unsigned long )res;
2055#line 101
2056  __cil_tmp53 = __cil_tmp52 + 24;
2057#line 101
2058  *((unsigned long *)__cil_tmp53) = 512UL;
2059#line 102
2060  __cil_tmp54 = (unsigned long )res;
2061#line 102
2062  __cil_tmp55 = __cil_tmp54 + 32;
2063#line 102
2064  __cil_tmp56 = 4 * 56UL;
2065#line 102
2066  __cil_tmp57 = 920 + __cil_tmp56;
2067#line 102
2068  __cil_tmp58 = (unsigned long )pci;
2069#line 102
2070  __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
2071#line 102
2072  *((struct resource **)__cil_tmp55) = (struct resource *)__cil_tmp59;
2073#line 103
2074  __cil_tmp60 = 4 * 56UL;
2075#line 103
2076  __cil_tmp61 = 920 + __cil_tmp60;
2077#line 103
2078  __cil_tmp62 = (unsigned long )pci;
2079#line 103
2080  __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
2081#line 103
2082  *((resource_size_t *)res) = *((resource_size_t *)__cil_tmp63);
2083#line 104
2084  __cil_tmp64 = (unsigned long )res;
2085#line 104
2086  __cil_tmp65 = __cil_tmp64 + 8;
2087#line 104
2088  __cil_tmp66 = 4 * 56UL;
2089#line 104
2090  __cil_tmp67 = __cil_tmp66 + 8;
2091#line 104
2092  __cil_tmp68 = 920 + __cil_tmp67;
2093#line 104
2094  __cil_tmp69 = (unsigned long )pci;
2095#line 104
2096  __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
2097#line 104
2098  *((resource_size_t *)__cil_tmp65) = *((resource_size_t *)__cil_tmp70);
2099#line 105
2100  res = res + 1;
2101#line 114
2102  __cil_tmp71 = (unsigned long )res;
2103#line 114
2104  __cil_tmp72 = __cil_tmp71 + 24;
2105#line 114
2106  *((unsigned long *)__cil_tmp72) = 1024UL;
2107#line 115
2108  __cil_tmp73 = (unsigned long )res;
2109#line 115
2110  __cil_tmp74 = __cil_tmp73 + 32;
2111#line 115
2112  __cil_tmp75 = (void *)0;
2113#line 115
2114  *((struct resource **)__cil_tmp74) = (struct resource *)__cil_tmp75;
2115#line 116
2116  *((resource_size_t *)res) = (resource_size_t )0;
2117#line 117
2118  __cil_tmp76 = (unsigned long )res;
2119#line 117
2120  __cil_tmp77 = __cil_tmp76 + 8;
2121#line 117
2122  *((resource_size_t *)__cil_tmp77) = (resource_size_t )0;
2123#line 118
2124  res = res + 1;
2125#line 120
2126  return (0);
2127}
2128}
2129#line 136
2130static int cmodio_probe_submodules(struct cmodio_device *priv )  __attribute__((__section__(".devinit.text"),
2131__no_instrument_function__)) ;
2132#line 136 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2133static struct _ddebug  __attribute__((__aligned__(8))) descriptor  __attribute__((__used__,
2134__section__("__verbose")))  =    {"janz_cmodio", "cmodio_probe_submodules", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c",
2135    "MODULbus %d: name %s\n", 136U, 0U};
2136#line 124
2137static int cmodio_probe_submodules(struct cmodio_device *priv )  __attribute__((__section__(".devinit.text"),
2138__no_instrument_function__)) ;
2139#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2140static int cmodio_probe_submodules(struct cmodio_device *priv ) 
2141{ struct pci_dev *pdev ;
2142  unsigned int num_probed ;
2143  char *name ;
2144  int i ;
2145  int tmp ;
2146  int tmp___0 ;
2147  long tmp___1 ;
2148  int tmp___2 ;
2149  unsigned int *__cil_tmp10 ;
2150  unsigned int __cil_tmp11 ;
2151  unsigned int __cil_tmp12 ;
2152  unsigned long __cil_tmp13 ;
2153  unsigned long __cil_tmp14 ;
2154  char const   *__cil_tmp15 ;
2155  char const   *__cil_tmp16 ;
2156  struct _ddebug  __attribute__((__aligned__(8))) *__cil_tmp17 ;
2157  unsigned int __cil_tmp18 ;
2158  unsigned int __cil_tmp19 ;
2159  int __cil_tmp20 ;
2160  int __cil_tmp21 ;
2161  long __cil_tmp22 ;
2162  struct pci_dev *__cil_tmp23 ;
2163  unsigned long __cil_tmp24 ;
2164  unsigned long __cil_tmp25 ;
2165  struct device *__cil_tmp26 ;
2166  struct device  const  *__cil_tmp27 ;
2167  unsigned int __cil_tmp28 ;
2168  struct pci_dev *__cil_tmp29 ;
2169  unsigned long __cil_tmp30 ;
2170  unsigned long __cil_tmp31 ;
2171  struct device *__cil_tmp32 ;
2172  struct device  const  *__cil_tmp33 ;
2173  unsigned long __cil_tmp34 ;
2174  unsigned long __cil_tmp35 ;
2175  struct device *__cil_tmp36 ;
2176  unsigned long __cil_tmp37 ;
2177  unsigned long __cil_tmp38 ;
2178  unsigned long __cil_tmp39 ;
2179  unsigned long __cil_tmp40 ;
2180  struct mfd_cell *__cil_tmp41 ;
2181  int __cil_tmp42 ;
2182  void *__cil_tmp43 ;
2183  struct resource *__cil_tmp44 ;
2184  unsigned long __cil_tmp45 ;
2185  unsigned long __cil_tmp46 ;
2186  unsigned int __cil_tmp47 ;
2187  int __cil_tmp48 ;
2188
2189  {
2190#line 126
2191  pdev = *((struct pci_dev **)priv);
2192#line 127
2193  num_probed = 0U;
2194#line 131
2195  i = 0;
2196  {
2197#line 131
2198  while (1) {
2199    while_continue: /* CIL Label */ ;
2200    {
2201#line 131
2202    __cil_tmp10 = & num_modules;
2203#line 131
2204    __cil_tmp11 = *__cil_tmp10;
2205#line 131
2206    __cil_tmp12 = (unsigned int )i;
2207#line 131
2208    if (__cil_tmp12 < __cil_tmp11) {
2209
2210    } else {
2211#line 131
2212      goto while_break;
2213    }
2214    }
2215    {
2216#line 132
2217    __cil_tmp13 = i * 8UL;
2218#line 132
2219    __cil_tmp14 = (unsigned long )(modules) + __cil_tmp13;
2220#line 132
2221    name = *((char **)__cil_tmp14);
2222#line 133
2223    __cil_tmp15 = (char const   *)name;
2224#line 133
2225    tmp = strcmp(__cil_tmp15, "");
2226    }
2227#line 133
2228    if (tmp) {
2229      {
2230#line 133
2231      __cil_tmp16 = (char const   *)name;
2232#line 133
2233      tmp___0 = strcmp(__cil_tmp16, "empty");
2234      }
2235#line 133
2236      if (tmp___0) {
2237
2238      } else {
2239#line 134
2240        goto __Cont;
2241      }
2242    } else {
2243#line 134
2244      goto __Cont;
2245    }
2246    {
2247#line 136
2248    while (1) {
2249      while_continue___0: /* CIL Label */ ;
2250      {
2251#line 136
2252      while (1) {
2253        while_continue___1: /* CIL Label */ ;
2254        {
2255#line 136
2256        __cil_tmp17 = & descriptor;
2257#line 136
2258        __cil_tmp18 = __cil_tmp17->flags;
2259#line 136
2260        __cil_tmp19 = __cil_tmp18 & 1U;
2261#line 136
2262        __cil_tmp20 = ! __cil_tmp19;
2263#line 136
2264        __cil_tmp21 = ! __cil_tmp20;
2265#line 136
2266        __cil_tmp22 = (long )__cil_tmp21;
2267#line 136
2268        tmp___1 = __builtin_expect(__cil_tmp22, 0L);
2269        }
2270#line 136
2271        if (tmp___1) {
2272          {
2273#line 136
2274          __cil_tmp23 = *((struct pci_dev **)priv);
2275#line 136
2276          __cil_tmp24 = (unsigned long )__cil_tmp23;
2277#line 136
2278          __cil_tmp25 = __cil_tmp24 + 144;
2279#line 136
2280          __cil_tmp26 = (struct device *)__cil_tmp25;
2281#line 136
2282          __cil_tmp27 = (struct device  const  *)__cil_tmp26;
2283#line 136
2284          __dynamic_dev_dbg(& descriptor, __cil_tmp27, "MODULbus %d: name %s\n", i,
2285                            name);
2286          }
2287        } else {
2288
2289        }
2290#line 136
2291        goto while_break___1;
2292      }
2293      while_break___1: /* CIL Label */ ;
2294      }
2295#line 136
2296      goto while_break___0;
2297    }
2298    while_break___0: /* CIL Label */ ;
2299    }
2300    {
2301#line 137
2302    __cil_tmp28 = (unsigned int )i;
2303#line 137
2304    cmodio_setup_subdevice(priv, name, num_probed, __cil_tmp28);
2305#line 138
2306    num_probed = num_probed + 1U;
2307    }
2308    __Cont: /* CIL Label */ 
2309#line 131
2310    i = i + 1;
2311  }
2312  while_break: /* CIL Label */ ;
2313  }
2314#line 142
2315  if (num_probed == 0U) {
2316    {
2317#line 143
2318    __cil_tmp29 = *((struct pci_dev **)priv);
2319#line 143
2320    __cil_tmp30 = (unsigned long )__cil_tmp29;
2321#line 143
2322    __cil_tmp31 = __cil_tmp30 + 144;
2323#line 143
2324    __cil_tmp32 = (struct device *)__cil_tmp31;
2325#line 143
2326    __cil_tmp33 = (struct device  const  *)__cil_tmp32;
2327#line 143
2328    dev_err(__cil_tmp33, "no MODULbus modules specified, please set the ``modules\'\' kernel parameter according to your hardware configuration\n");
2329    }
2330#line 147
2331    return (-19);
2332  } else {
2333
2334  }
2335  {
2336#line 150
2337  __cil_tmp34 = (unsigned long )pdev;
2338#line 150
2339  __cil_tmp35 = __cil_tmp34 + 144;
2340#line 150
2341  __cil_tmp36 = (struct device *)__cil_tmp35;
2342#line 150
2343  __cil_tmp37 = 0 * 96UL;
2344#line 150
2345  __cil_tmp38 = 24 + __cil_tmp37;
2346#line 150
2347  __cil_tmp39 = (unsigned long )priv;
2348#line 150
2349  __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
2350#line 150
2351  __cil_tmp41 = (struct mfd_cell *)__cil_tmp40;
2352#line 150
2353  __cil_tmp42 = (int )num_probed;
2354#line 150
2355  __cil_tmp43 = (void *)0;
2356#line 150
2357  __cil_tmp44 = (struct resource *)__cil_tmp43;
2358#line 150
2359  __cil_tmp45 = (unsigned long )pdev;
2360#line 150
2361  __cil_tmp46 = __cil_tmp45 + 916;
2362#line 150
2363  __cil_tmp47 = *((unsigned int *)__cil_tmp46);
2364#line 150
2365  __cil_tmp48 = (int )__cil_tmp47;
2366#line 150
2367  tmp___2 = mfd_add_devices(__cil_tmp36, 0, __cil_tmp41, __cil_tmp42, __cil_tmp44,
2368                            __cil_tmp48);
2369  }
2370#line 150
2371  return (tmp___2);
2372}
2373}
2374#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2375static ssize_t mbus_show(struct device *dev , struct device_attribute *attr , char *buf ) 
2376{ struct cmodio_device *priv ;
2377  void *tmp ;
2378  int tmp___0 ;
2379  struct device  const  *__cil_tmp7 ;
2380  unsigned long __cil_tmp8 ;
2381  unsigned long __cil_tmp9 ;
2382  unsigned long __cil_tmp10 ;
2383  u8 __cil_tmp11 ;
2384  int __cil_tmp12 ;
2385
2386  {
2387  {
2388#line 161
2389  __cil_tmp7 = (struct device  const  *)dev;
2390#line 161
2391  tmp = dev_get_drvdata(__cil_tmp7);
2392#line 161
2393  priv = (struct cmodio_device *)tmp;
2394#line 163
2395  __cil_tmp8 = 1UL << 12;
2396#line 163
2397  __cil_tmp9 = (unsigned long )priv;
2398#line 163
2399  __cil_tmp10 = __cil_tmp9 + 16;
2400#line 163
2401  __cil_tmp11 = *((u8 *)__cil_tmp10);
2402#line 163
2403  __cil_tmp12 = (int )__cil_tmp11;
2404#line 163
2405  tmp___0 = snprintf(buf, __cil_tmp8, "%x\n", __cil_tmp12);
2406  }
2407#line 163
2408  return ((ssize_t )tmp___0);
2409}
2410}
2411#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2412static struct device_attribute dev_attr_modulbus_number  =    {{"modulbus_number", (umode_t )292}, & mbus_show, (ssize_t (*)(struct device *dev ,
2413                                                                  struct device_attribute *attr ,
2414                                                                  char const   *buf ,
2415                                                                  size_t count ))((void *)0)};
2416#line 168 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2417static struct attribute *cmodio_sysfs_attrs[2]  = {      & dev_attr_modulbus_number.attr,      (struct attribute *)((void *)0)};
2418#line 173 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2419static struct attribute_group  const  cmodio_sysfs_attr_group  =    {(char const   *)0, (umode_t (*)(struct kobject * , struct attribute * , int  ))0,
2420    cmodio_sysfs_attrs};
2421#line 181
2422static int cmodio_pci_probe(struct pci_dev *dev , struct pci_device_id  const  *id )  __attribute__((__section__(".devinit.text"),
2423__no_instrument_function__)) ;
2424#line 181 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2425static int cmodio_pci_probe(struct pci_dev *dev , struct pci_device_id  const  *id ) 
2426{ struct cmodio_device *priv ;
2427  int ret ;
2428  void *tmp ;
2429  void *tmp___0 ;
2430  unsigned int tmp___1 ;
2431  unsigned long __cil_tmp8 ;
2432  unsigned long __cil_tmp9 ;
2433  struct device *__cil_tmp10 ;
2434  struct device  const  *__cil_tmp11 ;
2435  void *__cil_tmp12 ;
2436  unsigned long __cil_tmp13 ;
2437  unsigned long __cil_tmp14 ;
2438  struct device *__cil_tmp15 ;
2439  struct device  const  *__cil_tmp16 ;
2440  unsigned long __cil_tmp17 ;
2441  unsigned long __cil_tmp18 ;
2442  struct device *__cil_tmp19 ;
2443  struct device  const  *__cil_tmp20 ;
2444  unsigned long __cil_tmp21 ;
2445  unsigned long __cil_tmp22 ;
2446  unsigned long __cil_tmp23 ;
2447  unsigned long __cil_tmp24 ;
2448  struct janz_cmodio_onboard_regs *__cil_tmp25 ;
2449  unsigned long __cil_tmp26 ;
2450  unsigned long __cil_tmp27 ;
2451  struct device *__cil_tmp28 ;
2452  struct device  const  *__cil_tmp29 ;
2453  unsigned long __cil_tmp30 ;
2454  unsigned long __cil_tmp31 ;
2455  struct janz_cmodio_onboard_regs *__cil_tmp32 ;
2456  unsigned long __cil_tmp33 ;
2457  unsigned long __cil_tmp34 ;
2458  u8 *__cil_tmp35 ;
2459  void *__cil_tmp36 ;
2460  unsigned long __cil_tmp37 ;
2461  unsigned long __cil_tmp38 ;
2462  unsigned long __cil_tmp39 ;
2463  unsigned long __cil_tmp40 ;
2464  unsigned long __cil_tmp41 ;
2465  struct kobject *__cil_tmp42 ;
2466  unsigned long __cil_tmp43 ;
2467  unsigned long __cil_tmp44 ;
2468  struct device *__cil_tmp45 ;
2469  struct device  const  *__cil_tmp46 ;
2470  u8 __cil_tmp47 ;
2471  unsigned long __cil_tmp48 ;
2472  unsigned long __cil_tmp49 ;
2473  struct janz_cmodio_onboard_regs *__cil_tmp50 ;
2474  unsigned long __cil_tmp51 ;
2475  unsigned long __cil_tmp52 ;
2476  u8 *__cil_tmp53 ;
2477  void *__cil_tmp54 ;
2478  unsigned long __cil_tmp55 ;
2479  unsigned long __cil_tmp56 ;
2480  struct device *__cil_tmp57 ;
2481  struct device  const  *__cil_tmp58 ;
2482  unsigned long __cil_tmp59 ;
2483  unsigned long __cil_tmp60 ;
2484  unsigned long __cil_tmp61 ;
2485  struct kobject *__cil_tmp62 ;
2486  unsigned long __cil_tmp63 ;
2487  unsigned long __cil_tmp64 ;
2488  struct janz_cmodio_onboard_regs *__cil_tmp65 ;
2489  void volatile   *__cil_tmp66 ;
2490  void const   *__cil_tmp67 ;
2491
2492  {
2493  {
2494#line 187
2495  tmp = kzalloc(1096UL, 208U);
2496#line 187
2497  priv = (struct cmodio_device *)tmp;
2498  }
2499#line 188
2500  if (! priv) {
2501    {
2502#line 189
2503    __cil_tmp8 = (unsigned long )dev;
2504#line 189
2505    __cil_tmp9 = __cil_tmp8 + 144;
2506#line 189
2507    __cil_tmp10 = (struct device *)__cil_tmp9;
2508#line 189
2509    __cil_tmp11 = (struct device  const  *)__cil_tmp10;
2510#line 189
2511    dev_err(__cil_tmp11, "unable to allocate private data\n");
2512#line 190
2513    ret = -12;
2514    }
2515#line 191
2516    goto out_return;
2517  } else {
2518
2519  }
2520  {
2521#line 194
2522  __cil_tmp12 = (void *)priv;
2523#line 194
2524  pci_set_drvdata(dev, __cil_tmp12);
2525#line 195
2526  *((struct pci_dev **)priv) = dev;
2527#line 198
2528  ret = (int )pci_enable_device(dev);
2529  }
2530#line 199
2531  if (ret) {
2532    {
2533#line 200
2534    __cil_tmp13 = (unsigned long )dev;
2535#line 200
2536    __cil_tmp14 = __cil_tmp13 + 144;
2537#line 200
2538    __cil_tmp15 = (struct device *)__cil_tmp14;
2539#line 200
2540    __cil_tmp16 = (struct device  const  *)__cil_tmp15;
2541#line 200
2542    dev_err(__cil_tmp16, "unable to enable device\n");
2543    }
2544#line 201
2545    goto out_free_priv;
2546  } else {
2547
2548  }
2549  {
2550#line 204
2551  pci_set_master(dev);
2552#line 205
2553  ret = (int )pci_request_regions(dev, "janz-cmodio");
2554  }
2555#line 206
2556  if (ret) {
2557    {
2558#line 207
2559    __cil_tmp17 = (unsigned long )dev;
2560#line 207
2561    __cil_tmp18 = __cil_tmp17 + 144;
2562#line 207
2563    __cil_tmp19 = (struct device *)__cil_tmp18;
2564#line 207
2565    __cil_tmp20 = (struct device  const  *)__cil_tmp19;
2566#line 207
2567    dev_err(__cil_tmp20, "unable to request regions\n");
2568    }
2569#line 208
2570    goto out_pci_disable_device;
2571  } else {
2572
2573  }
2574  {
2575#line 212
2576  tmp___0 = pci_ioremap_bar(dev, 4);
2577#line 212
2578  __cil_tmp21 = (unsigned long )priv;
2579#line 212
2580  __cil_tmp22 = __cil_tmp21 + 8;
2581#line 212
2582  *((struct janz_cmodio_onboard_regs **)__cil_tmp22) = (struct janz_cmodio_onboard_regs *)tmp___0;
2583  }
2584  {
2585#line 213
2586  __cil_tmp23 = (unsigned long )priv;
2587#line 213
2588  __cil_tmp24 = __cil_tmp23 + 8;
2589#line 213
2590  __cil_tmp25 = *((struct janz_cmodio_onboard_regs **)__cil_tmp24);
2591#line 213
2592  if (! __cil_tmp25) {
2593    {
2594#line 214
2595    __cil_tmp26 = (unsigned long )dev;
2596#line 214
2597    __cil_tmp27 = __cil_tmp26 + 144;
2598#line 214
2599    __cil_tmp28 = (struct device *)__cil_tmp27;
2600#line 214
2601    __cil_tmp29 = (struct device  const  *)__cil_tmp28;
2602#line 214
2603    dev_err(__cil_tmp29, "unable to remap onboard regs\n");
2604#line 215
2605    ret = -12;
2606    }
2607#line 216
2608    goto out_pci_release_regions;
2609  } else {
2610
2611  }
2612  }
2613  {
2614#line 220
2615  __cil_tmp30 = (unsigned long )priv;
2616#line 220
2617  __cil_tmp31 = __cil_tmp30 + 8;
2618#line 220
2619  __cil_tmp32 = *((struct janz_cmodio_onboard_regs **)__cil_tmp31);
2620#line 220
2621  __cil_tmp33 = (unsigned long )__cil_tmp32;
2622#line 220
2623  __cil_tmp34 = __cil_tmp33 + 3;
2624#line 220
2625  __cil_tmp35 = (u8 *)__cil_tmp34;
2626#line 220
2627  __cil_tmp36 = (void *)__cil_tmp35;
2628#line 220
2629  tmp___1 = ioread8(__cil_tmp36);
2630#line 220
2631  __cil_tmp37 = (unsigned long )priv;
2632#line 220
2633  __cil_tmp38 = __cil_tmp37 + 16;
2634#line 220
2635  *((u8 *)__cil_tmp38) = (u8 )tmp___1;
2636#line 223
2637  __cil_tmp39 = 144 + 16;
2638#line 223
2639  __cil_tmp40 = (unsigned long )dev;
2640#line 223
2641  __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
2642#line 223
2643  __cil_tmp42 = (struct kobject *)__cil_tmp41;
2644#line 223
2645  ret = (int )sysfs_create_group(__cil_tmp42, & cmodio_sysfs_attr_group);
2646  }
2647#line 224
2648  if (ret) {
2649    {
2650#line 225
2651    __cil_tmp43 = (unsigned long )dev;
2652#line 225
2653    __cil_tmp44 = __cil_tmp43 + 144;
2654#line 225
2655    __cil_tmp45 = (struct device *)__cil_tmp44;
2656#line 225
2657    __cil_tmp46 = (struct device  const  *)__cil_tmp45;
2658#line 225
2659    dev_err(__cil_tmp46, "unable to create sysfs attributes\n");
2660    }
2661#line 226
2662    goto out_unmap_ctrl;
2663  } else {
2664
2665  }
2666  {
2667#line 233
2668  __cil_tmp47 = (u8 )15;
2669#line 233
2670  __cil_tmp48 = (unsigned long )priv;
2671#line 233
2672  __cil_tmp49 = __cil_tmp48 + 8;
2673#line 233
2674  __cil_tmp50 = *((struct janz_cmodio_onboard_regs **)__cil_tmp49);
2675#line 233
2676  __cil_tmp51 = (unsigned long )__cil_tmp50;
2677#line 233
2678  __cil_tmp52 = __cil_tmp51 + 1;
2679#line 233
2680  __cil_tmp53 = (u8 *)__cil_tmp52;
2681#line 233
2682  __cil_tmp54 = (void *)__cil_tmp53;
2683#line 233
2684  iowrite8(__cil_tmp47, __cil_tmp54);
2685#line 236
2686  ret = cmodio_probe_submodules(priv);
2687  }
2688#line 237
2689  if (ret) {
2690    {
2691#line 238
2692    __cil_tmp55 = (unsigned long )dev;
2693#line 238
2694    __cil_tmp56 = __cil_tmp55 + 144;
2695#line 238
2696    __cil_tmp57 = (struct device *)__cil_tmp56;
2697#line 238
2698    __cil_tmp58 = (struct device  const  *)__cil_tmp57;
2699#line 238
2700    dev_err(__cil_tmp58, "unable to probe submodules\n");
2701    }
2702#line 239
2703    goto out_sysfs_remove_group;
2704  } else {
2705
2706  }
2707#line 242
2708  return (0);
2709  out_sysfs_remove_group: 
2710  {
2711#line 245
2712  __cil_tmp59 = 144 + 16;
2713#line 245
2714  __cil_tmp60 = (unsigned long )dev;
2715#line 245
2716  __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
2717#line 245
2718  __cil_tmp62 = (struct kobject *)__cil_tmp61;
2719#line 245
2720  sysfs_remove_group(__cil_tmp62, & cmodio_sysfs_attr_group);
2721  }
2722  out_unmap_ctrl: 
2723  {
2724#line 247
2725  __cil_tmp63 = (unsigned long )priv;
2726#line 247
2727  __cil_tmp64 = __cil_tmp63 + 8;
2728#line 247
2729  __cil_tmp65 = *((struct janz_cmodio_onboard_regs **)__cil_tmp64);
2730#line 247
2731  __cil_tmp66 = (void volatile   *)__cil_tmp65;
2732#line 247
2733  iounmap(__cil_tmp66);
2734  }
2735  out_pci_release_regions: 
2736  {
2737#line 249
2738  pci_release_regions(dev);
2739  }
2740  out_pci_disable_device: 
2741  {
2742#line 251
2743  pci_disable_device(dev);
2744  }
2745  out_free_priv: 
2746  {
2747#line 253
2748  __cil_tmp67 = (void const   *)priv;
2749#line 253
2750  kfree(__cil_tmp67);
2751  }
2752  out_return: 
2753#line 255
2754  return (ret);
2755}
2756}
2757#line 258
2758static void cmodio_pci_remove(struct pci_dev *dev )  __attribute__((__section__(".devexit.text"),
2759__no_instrument_function__)) ;
2760#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2761static void cmodio_pci_remove(struct pci_dev *dev ) 
2762{ struct cmodio_device *priv ;
2763  void *tmp ;
2764  unsigned long __cil_tmp4 ;
2765  unsigned long __cil_tmp5 ;
2766  struct device *__cil_tmp6 ;
2767  unsigned long __cil_tmp7 ;
2768  unsigned long __cil_tmp8 ;
2769  unsigned long __cil_tmp9 ;
2770  struct kobject *__cil_tmp10 ;
2771  unsigned long __cil_tmp11 ;
2772  unsigned long __cil_tmp12 ;
2773  struct janz_cmodio_onboard_regs *__cil_tmp13 ;
2774  void volatile   *__cil_tmp14 ;
2775  void const   *__cil_tmp15 ;
2776
2777  {
2778  {
2779#line 260
2780  tmp = pci_get_drvdata(dev);
2781#line 260
2782  priv = (struct cmodio_device *)tmp;
2783#line 262
2784  __cil_tmp4 = (unsigned long )dev;
2785#line 262
2786  __cil_tmp5 = __cil_tmp4 + 144;
2787#line 262
2788  __cil_tmp6 = (struct device *)__cil_tmp5;
2789#line 262
2790  mfd_remove_devices(__cil_tmp6);
2791#line 263
2792  __cil_tmp7 = 144 + 16;
2793#line 263
2794  __cil_tmp8 = (unsigned long )dev;
2795#line 263
2796  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
2797#line 263
2798  __cil_tmp10 = (struct kobject *)__cil_tmp9;
2799#line 263
2800  sysfs_remove_group(__cil_tmp10, & cmodio_sysfs_attr_group);
2801#line 264
2802  __cil_tmp11 = (unsigned long )priv;
2803#line 264
2804  __cil_tmp12 = __cil_tmp11 + 8;
2805#line 264
2806  __cil_tmp13 = *((struct janz_cmodio_onboard_regs **)__cil_tmp12);
2807#line 264
2808  __cil_tmp14 = (void volatile   *)__cil_tmp13;
2809#line 264
2810  iounmap(__cil_tmp14);
2811#line 265
2812  pci_release_regions(dev);
2813#line 266
2814  pci_disable_device(dev);
2815#line 267
2816  __cil_tmp15 = (void const   *)priv;
2817#line 267
2818  kfree(__cil_tmp15);
2819  }
2820#line 268
2821  return;
2822}
2823}
2824#line 273 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2825static struct pci_device_id  const  cmodio_pci_ids[3]  __attribute__((__section__(".devinit.rodata")))  = {      {(__u32 )4277,
2826      (__u32 )36912, (__u32 )5059, (__u32 )257, 0U, 0U, 0UL}, 
2827        {(__u32 )4277, (__u32 )36944, (__u32 )5059, (__u32 )256, 0U, 0U, 0UL}, 
2828        {(__u32 )0, 0U, 0U, 0U, 0U, 0U, 0UL}};
2829#line 278
2830extern struct pci_device_id  const  __mod_pci_device_table  __attribute__((__unused__,
2831__alias__("cmodio_pci_ids"))) ;
2832#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2833static struct pci_driver cmodio_pci_driver  = 
2834#line 280
2835     {{(struct list_head *)0, (struct list_head *)0}, "janz-cmodio", cmodio_pci_ids,
2836    & cmodio_pci_probe, & cmodio_pci_remove, (int (*)(struct pci_dev *dev , pm_message_t state ))0,
2837    (int (*)(struct pci_dev *dev , pm_message_t state ))0, (int (*)(struct pci_dev *dev ))0,
2838    (int (*)(struct pci_dev *dev ))0, (void (*)(struct pci_dev *dev ))0, (struct pci_error_handlers *)0,
2839    {(char const   *)0, (struct bus_type *)0, (struct module *)0, (char const   *)0,
2840     (_Bool)0, (struct of_device_id  const  *)0, (int (*)(struct device *dev ))0,
2841     (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
2842                                                                                 pm_message_t state ))0,
2843     (int (*)(struct device *dev ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
2844     (struct driver_private *)0}, {{{{{{0U}}, 0U, 0U, (void *)0}}}, {(struct list_head *)0,
2845                                                                     (struct list_head *)0}}};
2846#line 291
2847static int cmodio_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2848#line 291 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2849static int cmodio_init(void) 
2850{ int tmp ;
2851
2852  {
2853  {
2854#line 293
2855  tmp = (int )__pci_register_driver(& cmodio_pci_driver, & __this_module, "janz_cmodio");
2856  }
2857#line 293
2858  return (tmp);
2859}
2860}
2861#line 296
2862static void cmodio_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
2863#line 296 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2864static void cmodio_exit(void) 
2865{ 
2866
2867  {
2868  {
2869#line 298
2870  pci_unregister_driver(& cmodio_pci_driver);
2871  }
2872#line 299
2873  return;
2874}
2875}
2876#line 301 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2877static char const   __mod_author301[44]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2878__aligned__(1)))  = 
2879#line 301
2880  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
2881        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'I', 
2882        (char const   )'r',      (char const   )'a',      (char const   )' ',      (char const   )'W', 
2883        (char const   )'.',      (char const   )' ',      (char const   )'S',      (char const   )'n', 
2884        (char const   )'y',      (char const   )'d',      (char const   )'e',      (char const   )'r', 
2885        (char const   )' ',      (char const   )'<',      (char const   )'i',      (char const   )'w', 
2886        (char const   )'s',      (char const   )'@',      (char const   )'o',      (char const   )'v', 
2887        (char const   )'r',      (char const   )'o',      (char const   )'.',      (char const   )'c', 
2888        (char const   )'a',      (char const   )'l',      (char const   )'t',      (char const   )'e', 
2889        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'e', 
2890        (char const   )'d',      (char const   )'u',      (char const   )'>',      (char const   )'\000'};
2891#line 302 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2892static char const   __mod_description302[59]  __attribute__((__used__, __unused__,
2893__section__(".modinfo"), __aligned__(1)))  = 
2894#line 302
2895  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
2896        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
2897        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
2898        (char const   )'J',      (char const   )'a',      (char const   )'n',      (char const   )'z', 
2899        (char const   )' ',      (char const   )'C',      (char const   )'M',      (char const   )'O', 
2900        (char const   )'D',      (char const   )'-',      (char const   )'I',      (char const   )'O', 
2901        (char const   )' ',      (char const   )'P',      (char const   )'C',      (char const   )'I', 
2902        (char const   )' ',      (char const   )'M',      (char const   )'O',      (char const   )'D', 
2903        (char const   )'U',      (char const   )'L',      (char const   )'b',      (char const   )'u', 
2904        (char const   )'s',      (char const   )' ',      (char const   )'C',      (char const   )'a', 
2905        (char const   )'r',      (char const   )'r',      (char const   )'i',      (char const   )'e', 
2906        (char const   )'r',      (char const   )' ',      (char const   )'B',      (char const   )'o', 
2907        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )' ', 
2908        (char const   )'D',      (char const   )'r',      (char const   )'i',      (char const   )'v', 
2909        (char const   )'e',      (char const   )'r',      (char const   )'\000'};
2910#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2911static char const   __mod_license303[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2912__aligned__(1)))  = 
2913#line 303
2914  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2915        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
2916        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
2917#line 305 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2918int init_module(void) 
2919{ int tmp ;
2920
2921  {
2922  {
2923#line 305
2924  tmp = cmodio_init();
2925  }
2926#line 305
2927  return (tmp);
2928}
2929}
2930#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2931void cleanup_module(void) 
2932{ 
2933
2934  {
2935  {
2936#line 306
2937  cmodio_exit();
2938  }
2939#line 306
2940  return;
2941}
2942}
2943#line 324
2944void ldv_check_final_state(void) ;
2945#line 327
2946extern void ldv_check_return_value(int res ) ;
2947#line 330
2948extern void ldv_initialize(void) ;
2949#line 333
2950extern int __VERIFIER_nondet_int(void) ;
2951#line 336 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2952int LDV_IN_INTERRUPT  ;
2953#line 357 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2954static int res_cmodio_pci_probe_3  ;
2955#line 339 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
2956void main(void) 
2957{ struct pci_dev *var_group1 ;
2958  struct pci_device_id  const  *var_cmodio_pci_probe_3_p1 ;
2959  int tmp ;
2960  int ldv_s_cmodio_pci_driver_pci_driver ;
2961  int tmp___0 ;
2962  int tmp___1 ;
2963  int __cil_tmp7 ;
2964
2965  {
2966  {
2967#line 368
2968  LDV_IN_INTERRUPT = 1;
2969#line 377
2970  ldv_initialize();
2971#line 388
2972  tmp = cmodio_init();
2973  }
2974#line 388
2975  if (tmp) {
2976#line 389
2977    goto ldv_final;
2978  } else {
2979
2980  }
2981#line 390
2982  ldv_s_cmodio_pci_driver_pci_driver = 0;
2983  {
2984#line 393
2985  while (1) {
2986    while_continue: /* CIL Label */ ;
2987    {
2988#line 393
2989    tmp___1 = __VERIFIER_nondet_int();
2990    }
2991#line 393
2992    if (tmp___1) {
2993
2994    } else {
2995      {
2996#line 393
2997      __cil_tmp7 = ldv_s_cmodio_pci_driver_pci_driver == 0;
2998#line 393
2999      if (! __cil_tmp7) {
3000
3001      } else {
3002#line 393
3003        goto while_break;
3004      }
3005      }
3006    }
3007    {
3008#line 397
3009    tmp___0 = __VERIFIER_nondet_int();
3010    }
3011#line 399
3012    if (tmp___0 == 0) {
3013#line 399
3014      goto case_0;
3015    } else {
3016      {
3017#line 425
3018      goto switch_default;
3019#line 397
3020      if (0) {
3021        case_0: /* CIL Label */ 
3022#line 402
3023        if (ldv_s_cmodio_pci_driver_pci_driver == 0) {
3024          {
3025#line 411
3026          res_cmodio_pci_probe_3 = cmodio_pci_probe(var_group1, var_cmodio_pci_probe_3_p1);
3027#line 412
3028          ldv_check_return_value(res_cmodio_pci_probe_3);
3029          }
3030#line 413
3031          if (res_cmodio_pci_probe_3) {
3032#line 414
3033            goto ldv_module_exit;
3034          } else {
3035
3036          }
3037#line 418
3038          ldv_s_cmodio_pci_driver_pci_driver = 0;
3039        } else {
3040
3041        }
3042#line 424
3043        goto switch_break;
3044        switch_default: /* CIL Label */ 
3045#line 425
3046        goto switch_break;
3047      } else {
3048        switch_break: /* CIL Label */ ;
3049      }
3050      }
3051    }
3052  }
3053  while_break: /* CIL Label */ ;
3054  }
3055  ldv_module_exit: 
3056  {
3057#line 442
3058  cmodio_exit();
3059  }
3060  ldv_final: 
3061  {
3062#line 445
3063  ldv_check_final_state();
3064  }
3065#line 448
3066  return;
3067}
3068}
3069#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
3070void ldv_blast_assert(void) 
3071{ 
3072
3073  {
3074  ERROR: 
3075#line 6
3076  goto ERROR;
3077}
3078}
3079#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
3080extern int __VERIFIER_nondet_int(void) ;
3081#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3082int ldv_mutex  =    1;
3083#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3084int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
3085{ int nondetermined ;
3086
3087  {
3088#line 29
3089  if (ldv_mutex == 1) {
3090
3091  } else {
3092    {
3093#line 29
3094    ldv_blast_assert();
3095    }
3096  }
3097  {
3098#line 32
3099  nondetermined = __VERIFIER_nondet_int();
3100  }
3101#line 35
3102  if (nondetermined) {
3103#line 38
3104    ldv_mutex = 2;
3105#line 40
3106    return (0);
3107  } else {
3108#line 45
3109    return (-4);
3110  }
3111}
3112}
3113#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3114int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
3115{ int nondetermined ;
3116
3117  {
3118#line 57
3119  if (ldv_mutex == 1) {
3120
3121  } else {
3122    {
3123#line 57
3124    ldv_blast_assert();
3125    }
3126  }
3127  {
3128#line 60
3129  nondetermined = __VERIFIER_nondet_int();
3130  }
3131#line 63
3132  if (nondetermined) {
3133#line 66
3134    ldv_mutex = 2;
3135#line 68
3136    return (0);
3137  } else {
3138#line 73
3139    return (-4);
3140  }
3141}
3142}
3143#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3144int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
3145{ int atomic_value_after_dec ;
3146
3147  {
3148#line 83
3149  if (ldv_mutex == 1) {
3150
3151  } else {
3152    {
3153#line 83
3154    ldv_blast_assert();
3155    }
3156  }
3157  {
3158#line 86
3159  atomic_value_after_dec = __VERIFIER_nondet_int();
3160  }
3161#line 89
3162  if (atomic_value_after_dec == 0) {
3163#line 92
3164    ldv_mutex = 2;
3165#line 94
3166    return (1);
3167  } else {
3168
3169  }
3170#line 98
3171  return (0);
3172}
3173}
3174#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3175void mutex_lock(struct mutex *lock ) 
3176{ 
3177
3178  {
3179#line 108
3180  if (ldv_mutex == 1) {
3181
3182  } else {
3183    {
3184#line 108
3185    ldv_blast_assert();
3186    }
3187  }
3188#line 110
3189  ldv_mutex = 2;
3190#line 111
3191  return;
3192}
3193}
3194#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3195int mutex_trylock(struct mutex *lock ) 
3196{ int nondetermined ;
3197
3198  {
3199#line 121
3200  if (ldv_mutex == 1) {
3201
3202  } else {
3203    {
3204#line 121
3205    ldv_blast_assert();
3206    }
3207  }
3208  {
3209#line 124
3210  nondetermined = __VERIFIER_nondet_int();
3211  }
3212#line 127
3213  if (nondetermined) {
3214#line 130
3215    ldv_mutex = 2;
3216#line 132
3217    return (1);
3218  } else {
3219#line 137
3220    return (0);
3221  }
3222}
3223}
3224#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3225void mutex_unlock(struct mutex *lock ) 
3226{ 
3227
3228  {
3229#line 147
3230  if (ldv_mutex == 2) {
3231
3232  } else {
3233    {
3234#line 147
3235    ldv_blast_assert();
3236    }
3237  }
3238#line 149
3239  ldv_mutex = 1;
3240#line 150
3241  return;
3242}
3243}
3244#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3245void ldv_check_final_state(void) 
3246{ 
3247
3248  {
3249#line 156
3250  if (ldv_mutex == 1) {
3251
3252  } else {
3253    {
3254#line 156
3255    ldv_blast_assert();
3256    }
3257  }
3258#line 157
3259  return;
3260}
3261}
3262#line 457 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/8221/dscv_tempdir/dscv/ri/32_1/drivers/mfd/janz-cmodio.c.common.c"
3263long s__builtin_expect(long val , long res ) 
3264{ 
3265
3266  {
3267#line 458
3268  return (val);
3269}
3270}