Showing error 1068

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