Showing error 230

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--hwmon--emc1403.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4485
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 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 48 "include/asm-generic/int-ll64.h"
  21typedef int s32;
  22#line 49 "include/asm-generic/int-ll64.h"
  23typedef unsigned int u32;
  24#line 51 "include/asm-generic/int-ll64.h"
  25typedef long long s64;
  26#line 52 "include/asm-generic/int-ll64.h"
  27typedef unsigned long long u64;
  28#line 14 "include/asm-generic/posix_types.h"
  29typedef long __kernel_long_t;
  30#line 15 "include/asm-generic/posix_types.h"
  31typedef unsigned long __kernel_ulong_t;
  32#line 31 "include/asm-generic/posix_types.h"
  33typedef int __kernel_pid_t;
  34#line 52 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_uid32_t;
  36#line 53 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_gid32_t;
  38#line 75 "include/asm-generic/posix_types.h"
  39typedef __kernel_ulong_t __kernel_size_t;
  40#line 76 "include/asm-generic/posix_types.h"
  41typedef __kernel_long_t __kernel_ssize_t;
  42#line 91 "include/asm-generic/posix_types.h"
  43typedef long long __kernel_loff_t;
  44#line 92 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_time_t;
  46#line 93 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_clock_t;
  48#line 94 "include/asm-generic/posix_types.h"
  49typedef int __kernel_timer_t;
  50#line 95 "include/asm-generic/posix_types.h"
  51typedef int __kernel_clockid_t;
  52#line 21 "include/linux/types.h"
  53typedef __u32 __kernel_dev_t;
  54#line 24 "include/linux/types.h"
  55typedef __kernel_dev_t dev_t;
  56#line 27 "include/linux/types.h"
  57typedef unsigned short umode_t;
  58#line 30 "include/linux/types.h"
  59typedef __kernel_pid_t pid_t;
  60#line 35 "include/linux/types.h"
  61typedef __kernel_clockid_t clockid_t;
  62#line 38 "include/linux/types.h"
  63typedef _Bool bool;
  64#line 40 "include/linux/types.h"
  65typedef __kernel_uid32_t uid_t;
  66#line 41 "include/linux/types.h"
  67typedef __kernel_gid32_t gid_t;
  68#line 54 "include/linux/types.h"
  69typedef __kernel_loff_t loff_t;
  70#line 63 "include/linux/types.h"
  71typedef __kernel_size_t size_t;
  72#line 68 "include/linux/types.h"
  73typedef __kernel_ssize_t ssize_t;
  74#line 78 "include/linux/types.h"
  75typedef __kernel_time_t time_t;
  76#line 111 "include/linux/types.h"
  77typedef __s32 int32_t;
  78#line 117 "include/linux/types.h"
  79typedef __u32 uint32_t;
  80#line 202 "include/linux/types.h"
  81typedef unsigned int gfp_t;
  82#line 219 "include/linux/types.h"
  83struct __anonstruct_atomic_t_7 {
  84   int counter ;
  85};
  86#line 219 "include/linux/types.h"
  87typedef struct __anonstruct_atomic_t_7 atomic_t;
  88#line 224 "include/linux/types.h"
  89struct __anonstruct_atomic64_t_8 {
  90   long counter ;
  91};
  92#line 224 "include/linux/types.h"
  93typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  94#line 229 "include/linux/types.h"
  95struct list_head {
  96   struct list_head *next ;
  97   struct list_head *prev ;
  98};
  99#line 233
 100struct hlist_node;
 101#line 233 "include/linux/types.h"
 102struct hlist_head {
 103   struct hlist_node *first ;
 104};
 105#line 237 "include/linux/types.h"
 106struct hlist_node {
 107   struct hlist_node *next ;
 108   struct hlist_node **pprev ;
 109};
 110#line 253 "include/linux/types.h"
 111struct rcu_head {
 112   struct rcu_head *next ;
 113   void (*func)(struct rcu_head *head ) ;
 114};
 115#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 116struct module;
 117#line 56
 118struct module;
 119#line 146 "include/linux/init.h"
 120typedef void (*ctor_fn_t)(void);
 121#line 47 "include/linux/dynamic_debug.h"
 122struct device;
 123#line 47
 124struct device;
 125#line 135 "include/linux/kernel.h"
 126struct completion;
 127#line 135
 128struct completion;
 129#line 136
 130struct pt_regs;
 131#line 136
 132struct pt_regs;
 133#line 349
 134struct pid;
 135#line 349
 136struct pid;
 137#line 12 "include/linux/thread_info.h"
 138struct timespec;
 139#line 12
 140struct timespec;
 141#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 142struct page;
 143#line 18
 144struct page;
 145#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 146struct task_struct;
 147#line 20
 148struct task_struct;
 149#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 150struct task_struct;
 151#line 8
 152struct mm_struct;
 153#line 8
 154struct mm_struct;
 155#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 156struct pt_regs {
 157   unsigned long r15 ;
 158   unsigned long r14 ;
 159   unsigned long r13 ;
 160   unsigned long r12 ;
 161   unsigned long bp ;
 162   unsigned long bx ;
 163   unsigned long r11 ;
 164   unsigned long r10 ;
 165   unsigned long r9 ;
 166   unsigned long r8 ;
 167   unsigned long ax ;
 168   unsigned long cx ;
 169   unsigned long dx ;
 170   unsigned long si ;
 171   unsigned long di ;
 172   unsigned long orig_ax ;
 173   unsigned long ip ;
 174   unsigned long cs ;
 175   unsigned long flags ;
 176   unsigned long sp ;
 177   unsigned long ss ;
 178};
 179#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 180struct __anonstruct____missing_field_name_15 {
 181   unsigned int a ;
 182   unsigned int b ;
 183};
 184#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 185struct __anonstruct____missing_field_name_16 {
 186   u16 limit0 ;
 187   u16 base0 ;
 188   unsigned int base1 : 8 ;
 189   unsigned int type : 4 ;
 190   unsigned int s : 1 ;
 191   unsigned int dpl : 2 ;
 192   unsigned int p : 1 ;
 193   unsigned int limit : 4 ;
 194   unsigned int avl : 1 ;
 195   unsigned int l : 1 ;
 196   unsigned int d : 1 ;
 197   unsigned int g : 1 ;
 198   unsigned int base2 : 8 ;
 199};
 200#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 201union __anonunion____missing_field_name_14 {
 202   struct __anonstruct____missing_field_name_15 __annonCompField5 ;
 203   struct __anonstruct____missing_field_name_16 __annonCompField6 ;
 204};
 205#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 206struct desc_struct {
 207   union __anonunion____missing_field_name_14 __annonCompField7 ;
 208} __attribute__((__packed__)) ;
 209#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 210typedef unsigned long pgdval_t;
 211#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 212typedef unsigned long pgprotval_t;
 213#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 214struct pgprot {
 215   pgprotval_t pgprot ;
 216};
 217#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 218typedef struct pgprot pgprot_t;
 219#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 220struct __anonstruct_pgd_t_20 {
 221   pgdval_t pgd ;
 222};
 223#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 224typedef struct __anonstruct_pgd_t_20 pgd_t;
 225#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 226typedef struct page *pgtable_t;
 227#line 295
 228struct file;
 229#line 295
 230struct file;
 231#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 232struct page;
 233#line 47
 234struct thread_struct;
 235#line 47
 236struct thread_struct;
 237#line 50
 238struct mm_struct;
 239#line 51
 240struct desc_struct;
 241#line 52
 242struct task_struct;
 243#line 53
 244struct cpumask;
 245#line 53
 246struct cpumask;
 247#line 329
 248struct arch_spinlock;
 249#line 329
 250struct arch_spinlock;
 251#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 252struct task_struct;
 253#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 254struct kernel_vm86_regs {
 255   struct pt_regs pt ;
 256   unsigned short es ;
 257   unsigned short __esh ;
 258   unsigned short ds ;
 259   unsigned short __dsh ;
 260   unsigned short fs ;
 261   unsigned short __fsh ;
 262   unsigned short gs ;
 263   unsigned short __gsh ;
 264};
 265#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 266union __anonunion____missing_field_name_24 {
 267   struct pt_regs *regs ;
 268   struct kernel_vm86_regs *vm86 ;
 269};
 270#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 271struct math_emu_info {
 272   long ___orig_eip ;
 273   union __anonunion____missing_field_name_24 __annonCompField8 ;
 274};
 275#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 276struct task_struct;
 277#line 10 "include/asm-generic/bug.h"
 278struct bug_entry {
 279   int bug_addr_disp ;
 280   int file_disp ;
 281   unsigned short line ;
 282   unsigned short flags ;
 283};
 284#line 12 "include/linux/bug.h"
 285struct pt_regs;
 286#line 14 "include/linux/cpumask.h"
 287struct cpumask {
 288   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 289};
 290#line 14 "include/linux/cpumask.h"
 291typedef struct cpumask cpumask_t;
 292#line 637 "include/linux/cpumask.h"
 293typedef struct cpumask *cpumask_var_t;
 294#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 295struct static_key;
 296#line 234
 297struct static_key;
 298#line 11 "include/linux/personality.h"
 299struct pt_regs;
 300#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 301struct i387_fsave_struct {
 302   u32 cwd ;
 303   u32 swd ;
 304   u32 twd ;
 305   u32 fip ;
 306   u32 fcs ;
 307   u32 foo ;
 308   u32 fos ;
 309   u32 st_space[20] ;
 310   u32 status ;
 311};
 312#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 313struct __anonstruct____missing_field_name_31 {
 314   u64 rip ;
 315   u64 rdp ;
 316};
 317#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 318struct __anonstruct____missing_field_name_32 {
 319   u32 fip ;
 320   u32 fcs ;
 321   u32 foo ;
 322   u32 fos ;
 323};
 324#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 325union __anonunion____missing_field_name_30 {
 326   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 327   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 328};
 329#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 330union __anonunion____missing_field_name_33 {
 331   u32 padding1[12] ;
 332   u32 sw_reserved[12] ;
 333};
 334#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335struct i387_fxsave_struct {
 336   u16 cwd ;
 337   u16 swd ;
 338   u16 twd ;
 339   u16 fop ;
 340   union __anonunion____missing_field_name_30 __annonCompField14 ;
 341   u32 mxcsr ;
 342   u32 mxcsr_mask ;
 343   u32 st_space[32] ;
 344   u32 xmm_space[64] ;
 345   u32 padding[12] ;
 346   union __anonunion____missing_field_name_33 __annonCompField15 ;
 347} __attribute__((__aligned__(16))) ;
 348#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 349struct i387_soft_struct {
 350   u32 cwd ;
 351   u32 swd ;
 352   u32 twd ;
 353   u32 fip ;
 354   u32 fcs ;
 355   u32 foo ;
 356   u32 fos ;
 357   u32 st_space[20] ;
 358   u8 ftop ;
 359   u8 changed ;
 360   u8 lookahead ;
 361   u8 no_update ;
 362   u8 rm ;
 363   u8 alimit ;
 364   struct math_emu_info *info ;
 365   u32 entry_eip ;
 366};
 367#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 368struct ymmh_struct {
 369   u32 ymmh_space[64] ;
 370};
 371#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 372struct xsave_hdr_struct {
 373   u64 xstate_bv ;
 374   u64 reserved1[2] ;
 375   u64 reserved2[5] ;
 376} __attribute__((__packed__)) ;
 377#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 378struct xsave_struct {
 379   struct i387_fxsave_struct i387 ;
 380   struct xsave_hdr_struct xsave_hdr ;
 381   struct ymmh_struct ymmh ;
 382} __attribute__((__packed__, __aligned__(64))) ;
 383#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 384union thread_xstate {
 385   struct i387_fsave_struct fsave ;
 386   struct i387_fxsave_struct fxsave ;
 387   struct i387_soft_struct soft ;
 388   struct xsave_struct xsave ;
 389};
 390#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 391struct fpu {
 392   unsigned int last_cpu ;
 393   unsigned int has_fpu ;
 394   union thread_xstate *state ;
 395};
 396#line 433
 397struct kmem_cache;
 398#line 435
 399struct perf_event;
 400#line 435
 401struct perf_event;
 402#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 403struct thread_struct {
 404   struct desc_struct tls_array[3] ;
 405   unsigned long sp0 ;
 406   unsigned long sp ;
 407   unsigned long usersp ;
 408   unsigned short es ;
 409   unsigned short ds ;
 410   unsigned short fsindex ;
 411   unsigned short gsindex ;
 412   unsigned long fs ;
 413   unsigned long gs ;
 414   struct perf_event *ptrace_bps[4] ;
 415   unsigned long debugreg6 ;
 416   unsigned long ptrace_dr7 ;
 417   unsigned long cr2 ;
 418   unsigned long trap_nr ;
 419   unsigned long error_code ;
 420   struct fpu fpu ;
 421   unsigned long *io_bitmap_ptr ;
 422   unsigned long iopl ;
 423   unsigned int io_bitmap_max ;
 424};
 425#line 23 "include/asm-generic/atomic-long.h"
 426typedef atomic64_t atomic_long_t;
 427#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 428typedef u16 __ticket_t;
 429#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 430typedef u32 __ticketpair_t;
 431#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 432struct __raw_tickets {
 433   __ticket_t head ;
 434   __ticket_t tail ;
 435};
 436#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 437union __anonunion____missing_field_name_36 {
 438   __ticketpair_t head_tail ;
 439   struct __raw_tickets tickets ;
 440};
 441#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442struct arch_spinlock {
 443   union __anonunion____missing_field_name_36 __annonCompField17 ;
 444};
 445#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 446typedef struct arch_spinlock arch_spinlock_t;
 447#line 12 "include/linux/lockdep.h"
 448struct task_struct;
 449#line 391 "include/linux/lockdep.h"
 450struct lock_class_key {
 451
 452};
 453#line 20 "include/linux/spinlock_types.h"
 454struct raw_spinlock {
 455   arch_spinlock_t raw_lock ;
 456   unsigned int magic ;
 457   unsigned int owner_cpu ;
 458   void *owner ;
 459};
 460#line 20 "include/linux/spinlock_types.h"
 461typedef struct raw_spinlock raw_spinlock_t;
 462#line 64 "include/linux/spinlock_types.h"
 463union __anonunion____missing_field_name_39 {
 464   struct raw_spinlock rlock ;
 465};
 466#line 64 "include/linux/spinlock_types.h"
 467struct spinlock {
 468   union __anonunion____missing_field_name_39 __annonCompField19 ;
 469};
 470#line 64 "include/linux/spinlock_types.h"
 471typedef struct spinlock spinlock_t;
 472#line 119 "include/linux/seqlock.h"
 473struct seqcount {
 474   unsigned int sequence ;
 475};
 476#line 119 "include/linux/seqlock.h"
 477typedef struct seqcount seqcount_t;
 478#line 14 "include/linux/time.h"
 479struct timespec {
 480   __kernel_time_t tv_sec ;
 481   long tv_nsec ;
 482};
 483#line 49 "include/linux/wait.h"
 484struct __wait_queue_head {
 485   spinlock_t lock ;
 486   struct list_head task_list ;
 487};
 488#line 53 "include/linux/wait.h"
 489typedef struct __wait_queue_head wait_queue_head_t;
 490#line 55
 491struct task_struct;
 492#line 98 "include/linux/nodemask.h"
 493struct __anonstruct_nodemask_t_42 {
 494   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 495};
 496#line 98 "include/linux/nodemask.h"
 497typedef struct __anonstruct_nodemask_t_42 nodemask_t;
 498#line 60 "include/linux/pageblock-flags.h"
 499struct page;
 500#line 48 "include/linux/mutex.h"
 501struct mutex {
 502   atomic_t count ;
 503   spinlock_t wait_lock ;
 504   struct list_head wait_list ;
 505   struct task_struct *owner ;
 506   char const   *name ;
 507   void *magic ;
 508};
 509#line 69 "include/linux/mutex.h"
 510struct mutex_waiter {
 511   struct list_head list ;
 512   struct task_struct *task ;
 513   void *magic ;
 514};
 515#line 19 "include/linux/rwsem.h"
 516struct rw_semaphore;
 517#line 19
 518struct rw_semaphore;
 519#line 25 "include/linux/rwsem.h"
 520struct rw_semaphore {
 521   long count ;
 522   raw_spinlock_t wait_lock ;
 523   struct list_head wait_list ;
 524};
 525#line 25 "include/linux/completion.h"
 526struct completion {
 527   unsigned int done ;
 528   wait_queue_head_t wait ;
 529};
 530#line 9 "include/linux/memory_hotplug.h"
 531struct page;
 532#line 202 "include/linux/ioport.h"
 533struct device;
 534#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 535struct device;
 536#line 46 "include/linux/ktime.h"
 537union ktime {
 538   s64 tv64 ;
 539};
 540#line 59 "include/linux/ktime.h"
 541typedef union ktime ktime_t;
 542#line 10 "include/linux/timer.h"
 543struct tvec_base;
 544#line 10
 545struct tvec_base;
 546#line 12 "include/linux/timer.h"
 547struct timer_list {
 548   struct list_head entry ;
 549   unsigned long expires ;
 550   struct tvec_base *base ;
 551   void (*function)(unsigned long  ) ;
 552   unsigned long data ;
 553   int slack ;
 554   int start_pid ;
 555   void *start_site ;
 556   char start_comm[16] ;
 557};
 558#line 289
 559struct hrtimer;
 560#line 289
 561struct hrtimer;
 562#line 290
 563enum hrtimer_restart;
 564#line 17 "include/linux/workqueue.h"
 565struct work_struct;
 566#line 17
 567struct work_struct;
 568#line 79 "include/linux/workqueue.h"
 569struct work_struct {
 570   atomic_long_t data ;
 571   struct list_head entry ;
 572   void (*func)(struct work_struct *work ) ;
 573};
 574#line 42 "include/linux/pm.h"
 575struct device;
 576#line 50 "include/linux/pm.h"
 577struct pm_message {
 578   int event ;
 579};
 580#line 50 "include/linux/pm.h"
 581typedef struct pm_message pm_message_t;
 582#line 264 "include/linux/pm.h"
 583struct dev_pm_ops {
 584   int (*prepare)(struct device *dev ) ;
 585   void (*complete)(struct device *dev ) ;
 586   int (*suspend)(struct device *dev ) ;
 587   int (*resume)(struct device *dev ) ;
 588   int (*freeze)(struct device *dev ) ;
 589   int (*thaw)(struct device *dev ) ;
 590   int (*poweroff)(struct device *dev ) ;
 591   int (*restore)(struct device *dev ) ;
 592   int (*suspend_late)(struct device *dev ) ;
 593   int (*resume_early)(struct device *dev ) ;
 594   int (*freeze_late)(struct device *dev ) ;
 595   int (*thaw_early)(struct device *dev ) ;
 596   int (*poweroff_late)(struct device *dev ) ;
 597   int (*restore_early)(struct device *dev ) ;
 598   int (*suspend_noirq)(struct device *dev ) ;
 599   int (*resume_noirq)(struct device *dev ) ;
 600   int (*freeze_noirq)(struct device *dev ) ;
 601   int (*thaw_noirq)(struct device *dev ) ;
 602   int (*poweroff_noirq)(struct device *dev ) ;
 603   int (*restore_noirq)(struct device *dev ) ;
 604   int (*runtime_suspend)(struct device *dev ) ;
 605   int (*runtime_resume)(struct device *dev ) ;
 606   int (*runtime_idle)(struct device *dev ) ;
 607};
 608#line 458
 609enum rpm_status {
 610    RPM_ACTIVE = 0,
 611    RPM_RESUMING = 1,
 612    RPM_SUSPENDED = 2,
 613    RPM_SUSPENDING = 3
 614} ;
 615#line 480
 616enum rpm_request {
 617    RPM_REQ_NONE = 0,
 618    RPM_REQ_IDLE = 1,
 619    RPM_REQ_SUSPEND = 2,
 620    RPM_REQ_AUTOSUSPEND = 3,
 621    RPM_REQ_RESUME = 4
 622} ;
 623#line 488
 624struct wakeup_source;
 625#line 488
 626struct wakeup_source;
 627#line 495 "include/linux/pm.h"
 628struct pm_subsys_data {
 629   spinlock_t lock ;
 630   unsigned int refcount ;
 631};
 632#line 506
 633struct dev_pm_qos_request;
 634#line 506
 635struct pm_qos_constraints;
 636#line 506 "include/linux/pm.h"
 637struct dev_pm_info {
 638   pm_message_t power_state ;
 639   unsigned int can_wakeup : 1 ;
 640   unsigned int async_suspend : 1 ;
 641   bool is_prepared : 1 ;
 642   bool is_suspended : 1 ;
 643   bool ignore_children : 1 ;
 644   spinlock_t lock ;
 645   struct list_head entry ;
 646   struct completion completion ;
 647   struct wakeup_source *wakeup ;
 648   bool wakeup_path : 1 ;
 649   struct timer_list suspend_timer ;
 650   unsigned long timer_expires ;
 651   struct work_struct work ;
 652   wait_queue_head_t wait_queue ;
 653   atomic_t usage_count ;
 654   atomic_t child_count ;
 655   unsigned int disable_depth : 3 ;
 656   unsigned int idle_notification : 1 ;
 657   unsigned int request_pending : 1 ;
 658   unsigned int deferred_resume : 1 ;
 659   unsigned int run_wake : 1 ;
 660   unsigned int runtime_auto : 1 ;
 661   unsigned int no_callbacks : 1 ;
 662   unsigned int irq_safe : 1 ;
 663   unsigned int use_autosuspend : 1 ;
 664   unsigned int timer_autosuspends : 1 ;
 665   enum rpm_request request ;
 666   enum rpm_status runtime_status ;
 667   int runtime_error ;
 668   int autosuspend_delay ;
 669   unsigned long last_busy ;
 670   unsigned long active_jiffies ;
 671   unsigned long suspended_jiffies ;
 672   unsigned long accounting_timestamp ;
 673   ktime_t suspend_time ;
 674   s64 max_time_suspended_ns ;
 675   struct dev_pm_qos_request *pq_req ;
 676   struct pm_subsys_data *subsys_data ;
 677   struct pm_qos_constraints *constraints ;
 678};
 679#line 564 "include/linux/pm.h"
 680struct dev_pm_domain {
 681   struct dev_pm_ops ops ;
 682};
 683#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 684struct __anonstruct_mm_context_t_112 {
 685   void *ldt ;
 686   int size ;
 687   unsigned short ia32_compat ;
 688   struct mutex lock ;
 689   void *vdso ;
 690};
 691#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 692typedef struct __anonstruct_mm_context_t_112 mm_context_t;
 693#line 8 "include/linux/vmalloc.h"
 694struct vm_area_struct;
 695#line 8
 696struct vm_area_struct;
 697#line 994 "include/linux/mmzone.h"
 698struct page;
 699#line 10 "include/linux/gfp.h"
 700struct vm_area_struct;
 701#line 29 "include/linux/sysctl.h"
 702struct completion;
 703#line 100 "include/linux/rbtree.h"
 704struct rb_node {
 705   unsigned long rb_parent_color ;
 706   struct rb_node *rb_right ;
 707   struct rb_node *rb_left ;
 708} __attribute__((__aligned__(sizeof(long )))) ;
 709#line 110 "include/linux/rbtree.h"
 710struct rb_root {
 711   struct rb_node *rb_node ;
 712};
 713#line 939 "include/linux/sysctl.h"
 714struct nsproxy;
 715#line 939
 716struct nsproxy;
 717#line 48 "include/linux/kmod.h"
 718struct cred;
 719#line 48
 720struct cred;
 721#line 49
 722struct file;
 723#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 724struct task_struct;
 725#line 18 "include/linux/elf.h"
 726typedef __u64 Elf64_Addr;
 727#line 19 "include/linux/elf.h"
 728typedef __u16 Elf64_Half;
 729#line 23 "include/linux/elf.h"
 730typedef __u32 Elf64_Word;
 731#line 24 "include/linux/elf.h"
 732typedef __u64 Elf64_Xword;
 733#line 194 "include/linux/elf.h"
 734struct elf64_sym {
 735   Elf64_Word st_name ;
 736   unsigned char st_info ;
 737   unsigned char st_other ;
 738   Elf64_Half st_shndx ;
 739   Elf64_Addr st_value ;
 740   Elf64_Xword st_size ;
 741};
 742#line 194 "include/linux/elf.h"
 743typedef struct elf64_sym Elf64_Sym;
 744#line 438
 745struct file;
 746#line 20 "include/linux/kobject_ns.h"
 747struct sock;
 748#line 20
 749struct sock;
 750#line 21
 751struct kobject;
 752#line 21
 753struct kobject;
 754#line 27
 755enum kobj_ns_type {
 756    KOBJ_NS_TYPE_NONE = 0,
 757    KOBJ_NS_TYPE_NET = 1,
 758    KOBJ_NS_TYPES = 2
 759} ;
 760#line 40 "include/linux/kobject_ns.h"
 761struct kobj_ns_type_operations {
 762   enum kobj_ns_type type ;
 763   void *(*grab_current_ns)(void) ;
 764   void const   *(*netlink_ns)(struct sock *sk ) ;
 765   void const   *(*initial_ns)(void) ;
 766   void (*drop_ns)(void * ) ;
 767};
 768#line 22 "include/linux/sysfs.h"
 769struct kobject;
 770#line 23
 771struct module;
 772#line 24
 773enum kobj_ns_type;
 774#line 26 "include/linux/sysfs.h"
 775struct attribute {
 776   char const   *name ;
 777   umode_t mode ;
 778};
 779#line 56 "include/linux/sysfs.h"
 780struct attribute_group {
 781   char const   *name ;
 782   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 783   struct attribute **attrs ;
 784};
 785#line 85
 786struct file;
 787#line 86
 788struct vm_area_struct;
 789#line 88 "include/linux/sysfs.h"
 790struct bin_attribute {
 791   struct attribute attr ;
 792   size_t size ;
 793   void *private ;
 794   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 795                   loff_t  , size_t  ) ;
 796   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 797                    loff_t  , size_t  ) ;
 798   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 799};
 800#line 112 "include/linux/sysfs.h"
 801struct sysfs_ops {
 802   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 803   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 804   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 805};
 806#line 118
 807struct sysfs_dirent;
 808#line 118
 809struct sysfs_dirent;
 810#line 22 "include/linux/kref.h"
 811struct kref {
 812   atomic_t refcount ;
 813};
 814#line 60 "include/linux/kobject.h"
 815struct kset;
 816#line 60
 817struct kobj_type;
 818#line 60 "include/linux/kobject.h"
 819struct kobject {
 820   char const   *name ;
 821   struct list_head entry ;
 822   struct kobject *parent ;
 823   struct kset *kset ;
 824   struct kobj_type *ktype ;
 825   struct sysfs_dirent *sd ;
 826   struct kref kref ;
 827   unsigned int state_initialized : 1 ;
 828   unsigned int state_in_sysfs : 1 ;
 829   unsigned int state_add_uevent_sent : 1 ;
 830   unsigned int state_remove_uevent_sent : 1 ;
 831   unsigned int uevent_suppress : 1 ;
 832};
 833#line 108 "include/linux/kobject.h"
 834struct kobj_type {
 835   void (*release)(struct kobject *kobj ) ;
 836   struct sysfs_ops  const  *sysfs_ops ;
 837   struct attribute **default_attrs ;
 838   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 839   void const   *(*namespace)(struct kobject *kobj ) ;
 840};
 841#line 116 "include/linux/kobject.h"
 842struct kobj_uevent_env {
 843   char *envp[32] ;
 844   int envp_idx ;
 845   char buf[2048] ;
 846   int buflen ;
 847};
 848#line 123 "include/linux/kobject.h"
 849struct kset_uevent_ops {
 850   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 851   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 852   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 853};
 854#line 140
 855struct sock;
 856#line 159 "include/linux/kobject.h"
 857struct kset {
 858   struct list_head list ;
 859   spinlock_t list_lock ;
 860   struct kobject kobj ;
 861   struct kset_uevent_ops  const  *uevent_ops ;
 862};
 863#line 39 "include/linux/moduleparam.h"
 864struct kernel_param;
 865#line 39
 866struct kernel_param;
 867#line 41 "include/linux/moduleparam.h"
 868struct kernel_param_ops {
 869   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 870   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 871   void (*free)(void *arg ) ;
 872};
 873#line 50
 874struct kparam_string;
 875#line 50
 876struct kparam_array;
 877#line 50 "include/linux/moduleparam.h"
 878union __anonunion____missing_field_name_199 {
 879   void *arg ;
 880   struct kparam_string  const  *str ;
 881   struct kparam_array  const  *arr ;
 882};
 883#line 50 "include/linux/moduleparam.h"
 884struct kernel_param {
 885   char const   *name ;
 886   struct kernel_param_ops  const  *ops ;
 887   u16 perm ;
 888   s16 level ;
 889   union __anonunion____missing_field_name_199 __annonCompField32 ;
 890};
 891#line 63 "include/linux/moduleparam.h"
 892struct kparam_string {
 893   unsigned int maxlen ;
 894   char *string ;
 895};
 896#line 69 "include/linux/moduleparam.h"
 897struct kparam_array {
 898   unsigned int max ;
 899   unsigned int elemsize ;
 900   unsigned int *num ;
 901   struct kernel_param_ops  const  *ops ;
 902   void *elem ;
 903};
 904#line 445
 905struct module;
 906#line 80 "include/linux/jump_label.h"
 907struct module;
 908#line 143 "include/linux/jump_label.h"
 909struct static_key {
 910   atomic_t enabled ;
 911};
 912#line 22 "include/linux/tracepoint.h"
 913struct module;
 914#line 23
 915struct tracepoint;
 916#line 23
 917struct tracepoint;
 918#line 25 "include/linux/tracepoint.h"
 919struct tracepoint_func {
 920   void *func ;
 921   void *data ;
 922};
 923#line 30 "include/linux/tracepoint.h"
 924struct tracepoint {
 925   char const   *name ;
 926   struct static_key key ;
 927   void (*regfunc)(void) ;
 928   void (*unregfunc)(void) ;
 929   struct tracepoint_func *funcs ;
 930};
 931#line 19 "include/linux/export.h"
 932struct kernel_symbol {
 933   unsigned long value ;
 934   char const   *name ;
 935};
 936#line 8 "include/asm-generic/module.h"
 937struct mod_arch_specific {
 938
 939};
 940#line 35 "include/linux/module.h"
 941struct module;
 942#line 37
 943struct module_param_attrs;
 944#line 37 "include/linux/module.h"
 945struct module_kobject {
 946   struct kobject kobj ;
 947   struct module *mod ;
 948   struct kobject *drivers_dir ;
 949   struct module_param_attrs *mp ;
 950};
 951#line 44 "include/linux/module.h"
 952struct module_attribute {
 953   struct attribute attr ;
 954   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 955   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 956                    size_t count ) ;
 957   void (*setup)(struct module * , char const   * ) ;
 958   int (*test)(struct module * ) ;
 959   void (*free)(struct module * ) ;
 960};
 961#line 71
 962struct exception_table_entry;
 963#line 71
 964struct exception_table_entry;
 965#line 199
 966enum module_state {
 967    MODULE_STATE_LIVE = 0,
 968    MODULE_STATE_COMING = 1,
 969    MODULE_STATE_GOING = 2
 970} ;
 971#line 215 "include/linux/module.h"
 972struct module_ref {
 973   unsigned long incs ;
 974   unsigned long decs ;
 975} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 976#line 220
 977struct module_sect_attrs;
 978#line 220
 979struct module_notes_attrs;
 980#line 220
 981struct ftrace_event_call;
 982#line 220 "include/linux/module.h"
 983struct module {
 984   enum module_state state ;
 985   struct list_head list ;
 986   char name[64UL - sizeof(unsigned long )] ;
 987   struct module_kobject mkobj ;
 988   struct module_attribute *modinfo_attrs ;
 989   char const   *version ;
 990   char const   *srcversion ;
 991   struct kobject *holders_dir ;
 992   struct kernel_symbol  const  *syms ;
 993   unsigned long const   *crcs ;
 994   unsigned int num_syms ;
 995   struct kernel_param *kp ;
 996   unsigned int num_kp ;
 997   unsigned int num_gpl_syms ;
 998   struct kernel_symbol  const  *gpl_syms ;
 999   unsigned long const   *gpl_crcs ;
1000   struct kernel_symbol  const  *unused_syms ;
1001   unsigned long const   *unused_crcs ;
1002   unsigned int num_unused_syms ;
1003   unsigned int num_unused_gpl_syms ;
1004   struct kernel_symbol  const  *unused_gpl_syms ;
1005   unsigned long const   *unused_gpl_crcs ;
1006   struct kernel_symbol  const  *gpl_future_syms ;
1007   unsigned long const   *gpl_future_crcs ;
1008   unsigned int num_gpl_future_syms ;
1009   unsigned int num_exentries ;
1010   struct exception_table_entry *extable ;
1011   int (*init)(void) ;
1012   void *module_init ;
1013   void *module_core ;
1014   unsigned int init_size ;
1015   unsigned int core_size ;
1016   unsigned int init_text_size ;
1017   unsigned int core_text_size ;
1018   unsigned int init_ro_size ;
1019   unsigned int core_ro_size ;
1020   struct mod_arch_specific arch ;
1021   unsigned int taints ;
1022   unsigned int num_bugs ;
1023   struct list_head bug_list ;
1024   struct bug_entry *bug_table ;
1025   Elf64_Sym *symtab ;
1026   Elf64_Sym *core_symtab ;
1027   unsigned int num_symtab ;
1028   unsigned int core_num_syms ;
1029   char *strtab ;
1030   char *core_strtab ;
1031   struct module_sect_attrs *sect_attrs ;
1032   struct module_notes_attrs *notes_attrs ;
1033   char *args ;
1034   void *percpu ;
1035   unsigned int percpu_size ;
1036   unsigned int num_tracepoints ;
1037   struct tracepoint * const  *tracepoints_ptrs ;
1038   unsigned int num_trace_bprintk_fmt ;
1039   char const   **trace_bprintk_fmt_start ;
1040   struct ftrace_event_call **trace_events ;
1041   unsigned int num_trace_events ;
1042   struct list_head source_list ;
1043   struct list_head target_list ;
1044   struct task_struct *waiter ;
1045   void (*exit)(void) ;
1046   struct module_ref *refptr ;
1047   ctor_fn_t *ctors ;
1048   unsigned int num_ctors ;
1049};
1050#line 46 "include/linux/slub_def.h"
1051struct kmem_cache_cpu {
1052   void **freelist ;
1053   unsigned long tid ;
1054   struct page *page ;
1055   struct page *partial ;
1056   int node ;
1057   unsigned int stat[26] ;
1058};
1059#line 57 "include/linux/slub_def.h"
1060struct kmem_cache_node {
1061   spinlock_t list_lock ;
1062   unsigned long nr_partial ;
1063   struct list_head partial ;
1064   atomic_long_t nr_slabs ;
1065   atomic_long_t total_objects ;
1066   struct list_head full ;
1067};
1068#line 73 "include/linux/slub_def.h"
1069struct kmem_cache_order_objects {
1070   unsigned long x ;
1071};
1072#line 80 "include/linux/slub_def.h"
1073struct kmem_cache {
1074   struct kmem_cache_cpu *cpu_slab ;
1075   unsigned long flags ;
1076   unsigned long min_partial ;
1077   int size ;
1078   int objsize ;
1079   int offset ;
1080   int cpu_partial ;
1081   struct kmem_cache_order_objects oo ;
1082   struct kmem_cache_order_objects max ;
1083   struct kmem_cache_order_objects min ;
1084   gfp_t allocflags ;
1085   int refcount ;
1086   void (*ctor)(void * ) ;
1087   int inuse ;
1088   int align ;
1089   int reserved ;
1090   char const   *name ;
1091   struct list_head list ;
1092   struct kobject kobj ;
1093   int remote_node_defrag_ratio ;
1094   struct kmem_cache_node *node[1 << 10] ;
1095};
1096#line 12 "include/linux/mod_devicetable.h"
1097typedef unsigned long kernel_ulong_t;
1098#line 219 "include/linux/mod_devicetable.h"
1099struct of_device_id {
1100   char name[32] ;
1101   char type[32] ;
1102   char compatible[128] ;
1103   void *data ;
1104};
1105#line 431 "include/linux/mod_devicetable.h"
1106struct i2c_device_id {
1107   char name[20] ;
1108   kernel_ulong_t driver_data  __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
1109};
1110#line 19 "include/linux/klist.h"
1111struct klist_node;
1112#line 19
1113struct klist_node;
1114#line 39 "include/linux/klist.h"
1115struct klist_node {
1116   void *n_klist ;
1117   struct list_head n_node ;
1118   struct kref n_ref ;
1119};
1120#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1121struct dma_map_ops;
1122#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1123struct dev_archdata {
1124   void *acpi_handle ;
1125   struct dma_map_ops *dma_ops ;
1126   void *iommu ;
1127};
1128#line 28 "include/linux/device.h"
1129struct device;
1130#line 29
1131struct device_private;
1132#line 29
1133struct device_private;
1134#line 30
1135struct device_driver;
1136#line 30
1137struct device_driver;
1138#line 31
1139struct driver_private;
1140#line 31
1141struct driver_private;
1142#line 32
1143struct module;
1144#line 33
1145struct class;
1146#line 33
1147struct class;
1148#line 34
1149struct subsys_private;
1150#line 34
1151struct subsys_private;
1152#line 35
1153struct bus_type;
1154#line 35
1155struct bus_type;
1156#line 36
1157struct device_node;
1158#line 36
1159struct device_node;
1160#line 37
1161struct iommu_ops;
1162#line 37
1163struct iommu_ops;
1164#line 39 "include/linux/device.h"
1165struct bus_attribute {
1166   struct attribute attr ;
1167   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1168   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1169};
1170#line 89
1171struct device_attribute;
1172#line 89
1173struct driver_attribute;
1174#line 89 "include/linux/device.h"
1175struct bus_type {
1176   char const   *name ;
1177   char const   *dev_name ;
1178   struct device *dev_root ;
1179   struct bus_attribute *bus_attrs ;
1180   struct device_attribute *dev_attrs ;
1181   struct driver_attribute *drv_attrs ;
1182   int (*match)(struct device *dev , struct device_driver *drv ) ;
1183   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1184   int (*probe)(struct device *dev ) ;
1185   int (*remove)(struct device *dev ) ;
1186   void (*shutdown)(struct device *dev ) ;
1187   int (*suspend)(struct device *dev , pm_message_t state ) ;
1188   int (*resume)(struct device *dev ) ;
1189   struct dev_pm_ops  const  *pm ;
1190   struct iommu_ops *iommu_ops ;
1191   struct subsys_private *p ;
1192};
1193#line 127
1194struct device_type;
1195#line 214 "include/linux/device.h"
1196struct device_driver {
1197   char const   *name ;
1198   struct bus_type *bus ;
1199   struct module *owner ;
1200   char const   *mod_name ;
1201   bool suppress_bind_attrs ;
1202   struct of_device_id  const  *of_match_table ;
1203   int (*probe)(struct device *dev ) ;
1204   int (*remove)(struct device *dev ) ;
1205   void (*shutdown)(struct device *dev ) ;
1206   int (*suspend)(struct device *dev , pm_message_t state ) ;
1207   int (*resume)(struct device *dev ) ;
1208   struct attribute_group  const  **groups ;
1209   struct dev_pm_ops  const  *pm ;
1210   struct driver_private *p ;
1211};
1212#line 249 "include/linux/device.h"
1213struct driver_attribute {
1214   struct attribute attr ;
1215   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1216   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1217};
1218#line 330
1219struct class_attribute;
1220#line 330 "include/linux/device.h"
1221struct class {
1222   char const   *name ;
1223   struct module *owner ;
1224   struct class_attribute *class_attrs ;
1225   struct device_attribute *dev_attrs ;
1226   struct bin_attribute *dev_bin_attrs ;
1227   struct kobject *dev_kobj ;
1228   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1229   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1230   void (*class_release)(struct class *class ) ;
1231   void (*dev_release)(struct device *dev ) ;
1232   int (*suspend)(struct device *dev , pm_message_t state ) ;
1233   int (*resume)(struct device *dev ) ;
1234   struct kobj_ns_type_operations  const  *ns_type ;
1235   void const   *(*namespace)(struct device *dev ) ;
1236   struct dev_pm_ops  const  *pm ;
1237   struct subsys_private *p ;
1238};
1239#line 397 "include/linux/device.h"
1240struct class_attribute {
1241   struct attribute attr ;
1242   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1243   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1244                    size_t count ) ;
1245   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1246};
1247#line 465 "include/linux/device.h"
1248struct device_type {
1249   char const   *name ;
1250   struct attribute_group  const  **groups ;
1251   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1252   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1253   void (*release)(struct device *dev ) ;
1254   struct dev_pm_ops  const  *pm ;
1255};
1256#line 476 "include/linux/device.h"
1257struct device_attribute {
1258   struct attribute attr ;
1259   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1260   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1261                    size_t count ) ;
1262};
1263#line 559 "include/linux/device.h"
1264struct device_dma_parameters {
1265   unsigned int max_segment_size ;
1266   unsigned long segment_boundary_mask ;
1267};
1268#line 627
1269struct dma_coherent_mem;
1270#line 627 "include/linux/device.h"
1271struct device {
1272   struct device *parent ;
1273   struct device_private *p ;
1274   struct kobject kobj ;
1275   char const   *init_name ;
1276   struct device_type  const  *type ;
1277   struct mutex mutex ;
1278   struct bus_type *bus ;
1279   struct device_driver *driver ;
1280   void *platform_data ;
1281   struct dev_pm_info power ;
1282   struct dev_pm_domain *pm_domain ;
1283   int numa_node ;
1284   u64 *dma_mask ;
1285   u64 coherent_dma_mask ;
1286   struct device_dma_parameters *dma_parms ;
1287   struct list_head dma_pools ;
1288   struct dma_coherent_mem *dma_mem ;
1289   struct dev_archdata archdata ;
1290   struct device_node *of_node ;
1291   dev_t devt ;
1292   u32 id ;
1293   spinlock_t devres_lock ;
1294   struct list_head devres_head ;
1295   struct klist_node knode_class ;
1296   struct class *class ;
1297   struct attribute_group  const  **groups ;
1298   void (*release)(struct device *dev ) ;
1299};
1300#line 43 "include/linux/pm_wakeup.h"
1301struct wakeup_source {
1302   char const   *name ;
1303   struct list_head entry ;
1304   spinlock_t lock ;
1305   struct timer_list timer ;
1306   unsigned long timer_expires ;
1307   ktime_t total_time ;
1308   ktime_t max_time ;
1309   ktime_t last_time ;
1310   unsigned long event_count ;
1311   unsigned long active_count ;
1312   unsigned long relax_count ;
1313   unsigned long hit_count ;
1314   unsigned int active : 1 ;
1315};
1316#line 18 "include/linux/capability.h"
1317struct task_struct;
1318#line 94 "include/linux/capability.h"
1319struct kernel_cap_struct {
1320   __u32 cap[2] ;
1321};
1322#line 94 "include/linux/capability.h"
1323typedef struct kernel_cap_struct kernel_cap_t;
1324#line 378
1325struct user_namespace;
1326#line 378
1327struct user_namespace;
1328#line 14 "include/linux/prio_tree.h"
1329struct prio_tree_node;
1330#line 14 "include/linux/prio_tree.h"
1331struct raw_prio_tree_node {
1332   struct prio_tree_node *left ;
1333   struct prio_tree_node *right ;
1334   struct prio_tree_node *parent ;
1335};
1336#line 20 "include/linux/prio_tree.h"
1337struct prio_tree_node {
1338   struct prio_tree_node *left ;
1339   struct prio_tree_node *right ;
1340   struct prio_tree_node *parent ;
1341   unsigned long start ;
1342   unsigned long last ;
1343};
1344#line 23 "include/linux/mm_types.h"
1345struct address_space;
1346#line 23
1347struct address_space;
1348#line 40 "include/linux/mm_types.h"
1349union __anonunion____missing_field_name_204 {
1350   unsigned long index ;
1351   void *freelist ;
1352};
1353#line 40 "include/linux/mm_types.h"
1354struct __anonstruct____missing_field_name_208 {
1355   unsigned int inuse : 16 ;
1356   unsigned int objects : 15 ;
1357   unsigned int frozen : 1 ;
1358};
1359#line 40 "include/linux/mm_types.h"
1360union __anonunion____missing_field_name_207 {
1361   atomic_t _mapcount ;
1362   struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1363};
1364#line 40 "include/linux/mm_types.h"
1365struct __anonstruct____missing_field_name_206 {
1366   union __anonunion____missing_field_name_207 __annonCompField35 ;
1367   atomic_t _count ;
1368};
1369#line 40 "include/linux/mm_types.h"
1370union __anonunion____missing_field_name_205 {
1371   unsigned long counters ;
1372   struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1373};
1374#line 40 "include/linux/mm_types.h"
1375struct __anonstruct____missing_field_name_203 {
1376   union __anonunion____missing_field_name_204 __annonCompField33 ;
1377   union __anonunion____missing_field_name_205 __annonCompField37 ;
1378};
1379#line 40 "include/linux/mm_types.h"
1380struct __anonstruct____missing_field_name_210 {
1381   struct page *next ;
1382   int pages ;
1383   int pobjects ;
1384};
1385#line 40 "include/linux/mm_types.h"
1386union __anonunion____missing_field_name_209 {
1387   struct list_head lru ;
1388   struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1389};
1390#line 40 "include/linux/mm_types.h"
1391union __anonunion____missing_field_name_211 {
1392   unsigned long private ;
1393   struct kmem_cache *slab ;
1394   struct page *first_page ;
1395};
1396#line 40 "include/linux/mm_types.h"
1397struct page {
1398   unsigned long flags ;
1399   struct address_space *mapping ;
1400   struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1401   union __anonunion____missing_field_name_209 __annonCompField40 ;
1402   union __anonunion____missing_field_name_211 __annonCompField41 ;
1403   unsigned long debug_flags ;
1404} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
1405#line 200 "include/linux/mm_types.h"
1406struct __anonstruct_vm_set_213 {
1407   struct list_head list ;
1408   void *parent ;
1409   struct vm_area_struct *head ;
1410};
1411#line 200 "include/linux/mm_types.h"
1412union __anonunion_shared_212 {
1413   struct __anonstruct_vm_set_213 vm_set ;
1414   struct raw_prio_tree_node prio_tree_node ;
1415};
1416#line 200
1417struct anon_vma;
1418#line 200
1419struct vm_operations_struct;
1420#line 200
1421struct mempolicy;
1422#line 200 "include/linux/mm_types.h"
1423struct vm_area_struct {
1424   struct mm_struct *vm_mm ;
1425   unsigned long vm_start ;
1426   unsigned long vm_end ;
1427   struct vm_area_struct *vm_next ;
1428   struct vm_area_struct *vm_prev ;
1429   pgprot_t vm_page_prot ;
1430   unsigned long vm_flags ;
1431   struct rb_node vm_rb ;
1432   union __anonunion_shared_212 shared ;
1433   struct list_head anon_vma_chain ;
1434   struct anon_vma *anon_vma ;
1435   struct vm_operations_struct  const  *vm_ops ;
1436   unsigned long vm_pgoff ;
1437   struct file *vm_file ;
1438   void *vm_private_data ;
1439   struct mempolicy *vm_policy ;
1440};
1441#line 257 "include/linux/mm_types.h"
1442struct core_thread {
1443   struct task_struct *task ;
1444   struct core_thread *next ;
1445};
1446#line 262 "include/linux/mm_types.h"
1447struct core_state {
1448   atomic_t nr_threads ;
1449   struct core_thread dumper ;
1450   struct completion startup ;
1451};
1452#line 284 "include/linux/mm_types.h"
1453struct mm_rss_stat {
1454   atomic_long_t count[3] ;
1455};
1456#line 288
1457struct linux_binfmt;
1458#line 288
1459struct mmu_notifier_mm;
1460#line 288 "include/linux/mm_types.h"
1461struct mm_struct {
1462   struct vm_area_struct *mmap ;
1463   struct rb_root mm_rb ;
1464   struct vm_area_struct *mmap_cache ;
1465   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1466                                      unsigned long pgoff , unsigned long flags ) ;
1467   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1468   unsigned long mmap_base ;
1469   unsigned long task_size ;
1470   unsigned long cached_hole_size ;
1471   unsigned long free_area_cache ;
1472   pgd_t *pgd ;
1473   atomic_t mm_users ;
1474   atomic_t mm_count ;
1475   int map_count ;
1476   spinlock_t page_table_lock ;
1477   struct rw_semaphore mmap_sem ;
1478   struct list_head mmlist ;
1479   unsigned long hiwater_rss ;
1480   unsigned long hiwater_vm ;
1481   unsigned long total_vm ;
1482   unsigned long locked_vm ;
1483   unsigned long pinned_vm ;
1484   unsigned long shared_vm ;
1485   unsigned long exec_vm ;
1486   unsigned long stack_vm ;
1487   unsigned long reserved_vm ;
1488   unsigned long def_flags ;
1489   unsigned long nr_ptes ;
1490   unsigned long start_code ;
1491   unsigned long end_code ;
1492   unsigned long start_data ;
1493   unsigned long end_data ;
1494   unsigned long start_brk ;
1495   unsigned long brk ;
1496   unsigned long start_stack ;
1497   unsigned long arg_start ;
1498   unsigned long arg_end ;
1499   unsigned long env_start ;
1500   unsigned long env_end ;
1501   unsigned long saved_auxv[44] ;
1502   struct mm_rss_stat rss_stat ;
1503   struct linux_binfmt *binfmt ;
1504   cpumask_var_t cpu_vm_mask_var ;
1505   mm_context_t context ;
1506   unsigned int faultstamp ;
1507   unsigned int token_priority ;
1508   unsigned int last_interval ;
1509   unsigned long flags ;
1510   struct core_state *core_state ;
1511   spinlock_t ioctx_lock ;
1512   struct hlist_head ioctx_list ;
1513   struct task_struct *owner ;
1514   struct file *exe_file ;
1515   unsigned long num_exe_file_vmas ;
1516   struct mmu_notifier_mm *mmu_notifier_mm ;
1517   pgtable_t pmd_huge_pte ;
1518   struct cpumask cpumask_allocation ;
1519};
1520#line 7 "include/asm-generic/cputime.h"
1521typedef unsigned long cputime_t;
1522#line 84 "include/linux/sem.h"
1523struct task_struct;
1524#line 101
1525struct sem_undo_list;
1526#line 101 "include/linux/sem.h"
1527struct sysv_sem {
1528   struct sem_undo_list *undo_list ;
1529};
1530#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1531struct siginfo;
1532#line 10
1533struct siginfo;
1534#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1535struct __anonstruct_sigset_t_215 {
1536   unsigned long sig[1] ;
1537};
1538#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1539typedef struct __anonstruct_sigset_t_215 sigset_t;
1540#line 17 "include/asm-generic/signal-defs.h"
1541typedef void __signalfn_t(int  );
1542#line 18 "include/asm-generic/signal-defs.h"
1543typedef __signalfn_t *__sighandler_t;
1544#line 20 "include/asm-generic/signal-defs.h"
1545typedef void __restorefn_t(void);
1546#line 21 "include/asm-generic/signal-defs.h"
1547typedef __restorefn_t *__sigrestore_t;
1548#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1549struct sigaction {
1550   __sighandler_t sa_handler ;
1551   unsigned long sa_flags ;
1552   __sigrestore_t sa_restorer ;
1553   sigset_t sa_mask ;
1554};
1555#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1556struct k_sigaction {
1557   struct sigaction sa ;
1558};
1559#line 7 "include/asm-generic/siginfo.h"
1560union sigval {
1561   int sival_int ;
1562   void *sival_ptr ;
1563};
1564#line 7 "include/asm-generic/siginfo.h"
1565typedef union sigval sigval_t;
1566#line 48 "include/asm-generic/siginfo.h"
1567struct __anonstruct__kill_217 {
1568   __kernel_pid_t _pid ;
1569   __kernel_uid32_t _uid ;
1570};
1571#line 48 "include/asm-generic/siginfo.h"
1572struct __anonstruct__timer_218 {
1573   __kernel_timer_t _tid ;
1574   int _overrun ;
1575   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1576   sigval_t _sigval ;
1577   int _sys_private ;
1578};
1579#line 48 "include/asm-generic/siginfo.h"
1580struct __anonstruct__rt_219 {
1581   __kernel_pid_t _pid ;
1582   __kernel_uid32_t _uid ;
1583   sigval_t _sigval ;
1584};
1585#line 48 "include/asm-generic/siginfo.h"
1586struct __anonstruct__sigchld_220 {
1587   __kernel_pid_t _pid ;
1588   __kernel_uid32_t _uid ;
1589   int _status ;
1590   __kernel_clock_t _utime ;
1591   __kernel_clock_t _stime ;
1592};
1593#line 48 "include/asm-generic/siginfo.h"
1594struct __anonstruct__sigfault_221 {
1595   void *_addr ;
1596   short _addr_lsb ;
1597};
1598#line 48 "include/asm-generic/siginfo.h"
1599struct __anonstruct__sigpoll_222 {
1600   long _band ;
1601   int _fd ;
1602};
1603#line 48 "include/asm-generic/siginfo.h"
1604union __anonunion__sifields_216 {
1605   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1606   struct __anonstruct__kill_217 _kill ;
1607   struct __anonstruct__timer_218 _timer ;
1608   struct __anonstruct__rt_219 _rt ;
1609   struct __anonstruct__sigchld_220 _sigchld ;
1610   struct __anonstruct__sigfault_221 _sigfault ;
1611   struct __anonstruct__sigpoll_222 _sigpoll ;
1612};
1613#line 48 "include/asm-generic/siginfo.h"
1614struct siginfo {
1615   int si_signo ;
1616   int si_errno ;
1617   int si_code ;
1618   union __anonunion__sifields_216 _sifields ;
1619};
1620#line 48 "include/asm-generic/siginfo.h"
1621typedef struct siginfo siginfo_t;
1622#line 288
1623struct siginfo;
1624#line 10 "include/linux/signal.h"
1625struct task_struct;
1626#line 18
1627struct user_struct;
1628#line 28 "include/linux/signal.h"
1629struct sigpending {
1630   struct list_head list ;
1631   sigset_t signal ;
1632};
1633#line 239
1634struct timespec;
1635#line 240
1636struct pt_regs;
1637#line 50 "include/linux/pid.h"
1638struct pid_namespace;
1639#line 50 "include/linux/pid.h"
1640struct upid {
1641   int nr ;
1642   struct pid_namespace *ns ;
1643   struct hlist_node pid_chain ;
1644};
1645#line 57 "include/linux/pid.h"
1646struct pid {
1647   atomic_t count ;
1648   unsigned int level ;
1649   struct hlist_head tasks[3] ;
1650   struct rcu_head rcu ;
1651   struct upid numbers[1] ;
1652};
1653#line 69 "include/linux/pid.h"
1654struct pid_link {
1655   struct hlist_node node ;
1656   struct pid *pid ;
1657};
1658#line 100
1659struct pid_namespace;
1660#line 10 "include/linux/seccomp.h"
1661struct __anonstruct_seccomp_t_225 {
1662   int mode ;
1663};
1664#line 10 "include/linux/seccomp.h"
1665typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1666#line 81 "include/linux/plist.h"
1667struct plist_head {
1668   struct list_head node_list ;
1669};
1670#line 85 "include/linux/plist.h"
1671struct plist_node {
1672   int prio ;
1673   struct list_head prio_list ;
1674   struct list_head node_list ;
1675};
1676#line 28 "include/linux/rtmutex.h"
1677struct rt_mutex {
1678   raw_spinlock_t wait_lock ;
1679   struct plist_head wait_list ;
1680   struct task_struct *owner ;
1681   int save_state ;
1682   char const   *name ;
1683   char const   *file ;
1684   int line ;
1685   void *magic ;
1686};
1687#line 40
1688struct rt_mutex_waiter;
1689#line 40
1690struct rt_mutex_waiter;
1691#line 42 "include/linux/resource.h"
1692struct rlimit {
1693   unsigned long rlim_cur ;
1694   unsigned long rlim_max ;
1695};
1696#line 81
1697struct task_struct;
1698#line 8 "include/linux/timerqueue.h"
1699struct timerqueue_node {
1700   struct rb_node node ;
1701   ktime_t expires ;
1702};
1703#line 13 "include/linux/timerqueue.h"
1704struct timerqueue_head {
1705   struct rb_root head ;
1706   struct timerqueue_node *next ;
1707};
1708#line 27 "include/linux/hrtimer.h"
1709struct hrtimer_clock_base;
1710#line 27
1711struct hrtimer_clock_base;
1712#line 28
1713struct hrtimer_cpu_base;
1714#line 28
1715struct hrtimer_cpu_base;
1716#line 44
1717enum hrtimer_restart {
1718    HRTIMER_NORESTART = 0,
1719    HRTIMER_RESTART = 1
1720} ;
1721#line 108 "include/linux/hrtimer.h"
1722struct hrtimer {
1723   struct timerqueue_node node ;
1724   ktime_t _softexpires ;
1725   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1726   struct hrtimer_clock_base *base ;
1727   unsigned long state ;
1728   int start_pid ;
1729   void *start_site ;
1730   char start_comm[16] ;
1731};
1732#line 145 "include/linux/hrtimer.h"
1733struct hrtimer_clock_base {
1734   struct hrtimer_cpu_base *cpu_base ;
1735   int index ;
1736   clockid_t clockid ;
1737   struct timerqueue_head active ;
1738   ktime_t resolution ;
1739   ktime_t (*get_time)(void) ;
1740   ktime_t softirq_time ;
1741   ktime_t offset ;
1742};
1743#line 178 "include/linux/hrtimer.h"
1744struct hrtimer_cpu_base {
1745   raw_spinlock_t lock ;
1746   unsigned long active_bases ;
1747   ktime_t expires_next ;
1748   int hres_active ;
1749   int hang_detected ;
1750   unsigned long nr_events ;
1751   unsigned long nr_retries ;
1752   unsigned long nr_hangs ;
1753   ktime_t max_hang_time ;
1754   struct hrtimer_clock_base clock_base[3] ;
1755};
1756#line 11 "include/linux/task_io_accounting.h"
1757struct task_io_accounting {
1758   u64 rchar ;
1759   u64 wchar ;
1760   u64 syscr ;
1761   u64 syscw ;
1762   u64 read_bytes ;
1763   u64 write_bytes ;
1764   u64 cancelled_write_bytes ;
1765};
1766#line 13 "include/linux/latencytop.h"
1767struct task_struct;
1768#line 20 "include/linux/latencytop.h"
1769struct latency_record {
1770   unsigned long backtrace[12] ;
1771   unsigned int count ;
1772   unsigned long time ;
1773   unsigned long max ;
1774};
1775#line 29 "include/linux/key.h"
1776typedef int32_t key_serial_t;
1777#line 32 "include/linux/key.h"
1778typedef uint32_t key_perm_t;
1779#line 34
1780struct key;
1781#line 34
1782struct key;
1783#line 75
1784struct user_struct;
1785#line 76
1786struct signal_struct;
1787#line 76
1788struct signal_struct;
1789#line 77
1790struct cred;
1791#line 79
1792struct key_type;
1793#line 79
1794struct key_type;
1795#line 81
1796struct keyring_list;
1797#line 81
1798struct keyring_list;
1799#line 124
1800struct key_user;
1801#line 124 "include/linux/key.h"
1802union __anonunion____missing_field_name_226 {
1803   time_t expiry ;
1804   time_t revoked_at ;
1805};
1806#line 124 "include/linux/key.h"
1807union __anonunion_type_data_227 {
1808   struct list_head link ;
1809   unsigned long x[2] ;
1810   void *p[2] ;
1811   int reject_error ;
1812};
1813#line 124 "include/linux/key.h"
1814union __anonunion_payload_228 {
1815   unsigned long value ;
1816   void *rcudata ;
1817   void *data ;
1818   struct keyring_list *subscriptions ;
1819};
1820#line 124 "include/linux/key.h"
1821struct key {
1822   atomic_t usage ;
1823   key_serial_t serial ;
1824   struct rb_node serial_node ;
1825   struct key_type *type ;
1826   struct rw_semaphore sem ;
1827   struct key_user *user ;
1828   void *security ;
1829   union __anonunion____missing_field_name_226 __annonCompField42 ;
1830   uid_t uid ;
1831   gid_t gid ;
1832   key_perm_t perm ;
1833   unsigned short quotalen ;
1834   unsigned short datalen ;
1835   unsigned long flags ;
1836   char *description ;
1837   union __anonunion_type_data_227 type_data ;
1838   union __anonunion_payload_228 payload ;
1839};
1840#line 18 "include/linux/selinux.h"
1841struct audit_context;
1842#line 18
1843struct audit_context;
1844#line 21 "include/linux/cred.h"
1845struct user_struct;
1846#line 22
1847struct cred;
1848#line 31 "include/linux/cred.h"
1849struct group_info {
1850   atomic_t usage ;
1851   int ngroups ;
1852   int nblocks ;
1853   gid_t small_block[32] ;
1854   gid_t *blocks[0] ;
1855};
1856#line 83 "include/linux/cred.h"
1857struct thread_group_cred {
1858   atomic_t usage ;
1859   pid_t tgid ;
1860   spinlock_t lock ;
1861   struct key *session_keyring ;
1862   struct key *process_keyring ;
1863   struct rcu_head rcu ;
1864};
1865#line 116 "include/linux/cred.h"
1866struct cred {
1867   atomic_t usage ;
1868   atomic_t subscribers ;
1869   void *put_addr ;
1870   unsigned int magic ;
1871   uid_t uid ;
1872   gid_t gid ;
1873   uid_t suid ;
1874   gid_t sgid ;
1875   uid_t euid ;
1876   gid_t egid ;
1877   uid_t fsuid ;
1878   gid_t fsgid ;
1879   unsigned int securebits ;
1880   kernel_cap_t cap_inheritable ;
1881   kernel_cap_t cap_permitted ;
1882   kernel_cap_t cap_effective ;
1883   kernel_cap_t cap_bset ;
1884   unsigned char jit_keyring ;
1885   struct key *thread_keyring ;
1886   struct key *request_key_auth ;
1887   struct thread_group_cred *tgcred ;
1888   void *security ;
1889   struct user_struct *user ;
1890   struct user_namespace *user_ns ;
1891   struct group_info *group_info ;
1892   struct rcu_head rcu ;
1893};
1894#line 61 "include/linux/llist.h"
1895struct llist_node;
1896#line 65 "include/linux/llist.h"
1897struct llist_node {
1898   struct llist_node *next ;
1899};
1900#line 97 "include/linux/sched.h"
1901struct futex_pi_state;
1902#line 97
1903struct futex_pi_state;
1904#line 98
1905struct robust_list_head;
1906#line 98
1907struct robust_list_head;
1908#line 99
1909struct bio_list;
1910#line 99
1911struct bio_list;
1912#line 100
1913struct fs_struct;
1914#line 100
1915struct fs_struct;
1916#line 101
1917struct perf_event_context;
1918#line 101
1919struct perf_event_context;
1920#line 102
1921struct blk_plug;
1922#line 102
1923struct blk_plug;
1924#line 151
1925struct cfs_rq;
1926#line 151
1927struct cfs_rq;
1928#line 259
1929struct task_struct;
1930#line 366
1931struct nsproxy;
1932#line 367
1933struct user_namespace;
1934#line 214 "include/linux/aio.h"
1935struct mm_struct;
1936#line 443 "include/linux/sched.h"
1937struct sighand_struct {
1938   atomic_t count ;
1939   struct k_sigaction action[64] ;
1940   spinlock_t siglock ;
1941   wait_queue_head_t signalfd_wqh ;
1942};
1943#line 450 "include/linux/sched.h"
1944struct pacct_struct {
1945   int ac_flag ;
1946   long ac_exitcode ;
1947   unsigned long ac_mem ;
1948   cputime_t ac_utime ;
1949   cputime_t ac_stime ;
1950   unsigned long ac_minflt ;
1951   unsigned long ac_majflt ;
1952};
1953#line 458 "include/linux/sched.h"
1954struct cpu_itimer {
1955   cputime_t expires ;
1956   cputime_t incr ;
1957   u32 error ;
1958   u32 incr_error ;
1959};
1960#line 476 "include/linux/sched.h"
1961struct task_cputime {
1962   cputime_t utime ;
1963   cputime_t stime ;
1964   unsigned long long sum_exec_runtime ;
1965};
1966#line 512 "include/linux/sched.h"
1967struct thread_group_cputimer {
1968   struct task_cputime cputime ;
1969   int running ;
1970   raw_spinlock_t lock ;
1971};
1972#line 519
1973struct autogroup;
1974#line 519
1975struct autogroup;
1976#line 528
1977struct tty_struct;
1978#line 528
1979struct taskstats;
1980#line 528
1981struct tty_audit_buf;
1982#line 528 "include/linux/sched.h"
1983struct signal_struct {
1984   atomic_t sigcnt ;
1985   atomic_t live ;
1986   int nr_threads ;
1987   wait_queue_head_t wait_chldexit ;
1988   struct task_struct *curr_target ;
1989   struct sigpending shared_pending ;
1990   int group_exit_code ;
1991   int notify_count ;
1992   struct task_struct *group_exit_task ;
1993   int group_stop_count ;
1994   unsigned int flags ;
1995   unsigned int is_child_subreaper : 1 ;
1996   unsigned int has_child_subreaper : 1 ;
1997   struct list_head posix_timers ;
1998   struct hrtimer real_timer ;
1999   struct pid *leader_pid ;
2000   ktime_t it_real_incr ;
2001   struct cpu_itimer it[2] ;
2002   struct thread_group_cputimer cputimer ;
2003   struct task_cputime cputime_expires ;
2004   struct list_head cpu_timers[3] ;
2005   struct pid *tty_old_pgrp ;
2006   int leader ;
2007   struct tty_struct *tty ;
2008   struct autogroup *autogroup ;
2009   cputime_t utime ;
2010   cputime_t stime ;
2011   cputime_t cutime ;
2012   cputime_t cstime ;
2013   cputime_t gtime ;
2014   cputime_t cgtime ;
2015   cputime_t prev_utime ;
2016   cputime_t prev_stime ;
2017   unsigned long nvcsw ;
2018   unsigned long nivcsw ;
2019   unsigned long cnvcsw ;
2020   unsigned long cnivcsw ;
2021   unsigned long min_flt ;
2022   unsigned long maj_flt ;
2023   unsigned long cmin_flt ;
2024   unsigned long cmaj_flt ;
2025   unsigned long inblock ;
2026   unsigned long oublock ;
2027   unsigned long cinblock ;
2028   unsigned long coublock ;
2029   unsigned long maxrss ;
2030   unsigned long cmaxrss ;
2031   struct task_io_accounting ioac ;
2032   unsigned long long sum_sched_runtime ;
2033   struct rlimit rlim[16] ;
2034   struct pacct_struct pacct ;
2035   struct taskstats *stats ;
2036   unsigned int audit_tty ;
2037   struct tty_audit_buf *tty_audit_buf ;
2038   struct rw_semaphore group_rwsem ;
2039   int oom_adj ;
2040   int oom_score_adj ;
2041   int oom_score_adj_min ;
2042   struct mutex cred_guard_mutex ;
2043};
2044#line 703 "include/linux/sched.h"
2045struct user_struct {
2046   atomic_t __count ;
2047   atomic_t processes ;
2048   atomic_t files ;
2049   atomic_t sigpending ;
2050   atomic_t inotify_watches ;
2051   atomic_t inotify_devs ;
2052   atomic_t fanotify_listeners ;
2053   atomic_long_t epoll_watches ;
2054   unsigned long mq_bytes ;
2055   unsigned long locked_shm ;
2056   struct key *uid_keyring ;
2057   struct key *session_keyring ;
2058   struct hlist_node uidhash_node ;
2059   uid_t uid ;
2060   struct user_namespace *user_ns ;
2061   atomic_long_t locked_vm ;
2062};
2063#line 747
2064struct backing_dev_info;
2065#line 747
2066struct backing_dev_info;
2067#line 748
2068struct reclaim_state;
2069#line 748
2070struct reclaim_state;
2071#line 751 "include/linux/sched.h"
2072struct sched_info {
2073   unsigned long pcount ;
2074   unsigned long long run_delay ;
2075   unsigned long long last_arrival ;
2076   unsigned long long last_queued ;
2077};
2078#line 763 "include/linux/sched.h"
2079struct task_delay_info {
2080   spinlock_t lock ;
2081   unsigned int flags ;
2082   struct timespec blkio_start ;
2083   struct timespec blkio_end ;
2084   u64 blkio_delay ;
2085   u64 swapin_delay ;
2086   u32 blkio_count ;
2087   u32 swapin_count ;
2088   struct timespec freepages_start ;
2089   struct timespec freepages_end ;
2090   u64 freepages_delay ;
2091   u32 freepages_count ;
2092};
2093#line 1088
2094struct io_context;
2095#line 1088
2096struct io_context;
2097#line 1097
2098struct audit_context;
2099#line 1098
2100struct mempolicy;
2101#line 1099
2102struct pipe_inode_info;
2103#line 1099
2104struct pipe_inode_info;
2105#line 1102
2106struct rq;
2107#line 1102
2108struct rq;
2109#line 1122 "include/linux/sched.h"
2110struct sched_class {
2111   struct sched_class  const  *next ;
2112   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2113   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2114   void (*yield_task)(struct rq *rq ) ;
2115   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2116   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2117   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2118   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2119   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2120   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2121   void (*post_schedule)(struct rq *this_rq ) ;
2122   void (*task_waking)(struct task_struct *task ) ;
2123   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2124   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
2125   void (*rq_online)(struct rq *rq ) ;
2126   void (*rq_offline)(struct rq *rq ) ;
2127   void (*set_curr_task)(struct rq *rq ) ;
2128   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2129   void (*task_fork)(struct task_struct *p ) ;
2130   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2131   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2132   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2133   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2134   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2135};
2136#line 1167 "include/linux/sched.h"
2137struct load_weight {
2138   unsigned long weight ;
2139   unsigned long inv_weight ;
2140};
2141#line 1172 "include/linux/sched.h"
2142struct sched_statistics {
2143   u64 wait_start ;
2144   u64 wait_max ;
2145   u64 wait_count ;
2146   u64 wait_sum ;
2147   u64 iowait_count ;
2148   u64 iowait_sum ;
2149   u64 sleep_start ;
2150   u64 sleep_max ;
2151   s64 sum_sleep_runtime ;
2152   u64 block_start ;
2153   u64 block_max ;
2154   u64 exec_max ;
2155   u64 slice_max ;
2156   u64 nr_migrations_cold ;
2157   u64 nr_failed_migrations_affine ;
2158   u64 nr_failed_migrations_running ;
2159   u64 nr_failed_migrations_hot ;
2160   u64 nr_forced_migrations ;
2161   u64 nr_wakeups ;
2162   u64 nr_wakeups_sync ;
2163   u64 nr_wakeups_migrate ;
2164   u64 nr_wakeups_local ;
2165   u64 nr_wakeups_remote ;
2166   u64 nr_wakeups_affine ;
2167   u64 nr_wakeups_affine_attempts ;
2168   u64 nr_wakeups_passive ;
2169   u64 nr_wakeups_idle ;
2170};
2171#line 1207 "include/linux/sched.h"
2172struct sched_entity {
2173   struct load_weight load ;
2174   struct rb_node run_node ;
2175   struct list_head group_node ;
2176   unsigned int on_rq ;
2177   u64 exec_start ;
2178   u64 sum_exec_runtime ;
2179   u64 vruntime ;
2180   u64 prev_sum_exec_runtime ;
2181   u64 nr_migrations ;
2182   struct sched_statistics statistics ;
2183   struct sched_entity *parent ;
2184   struct cfs_rq *cfs_rq ;
2185   struct cfs_rq *my_q ;
2186};
2187#line 1233
2188struct rt_rq;
2189#line 1233 "include/linux/sched.h"
2190struct sched_rt_entity {
2191   struct list_head run_list ;
2192   unsigned long timeout ;
2193   unsigned int time_slice ;
2194   int nr_cpus_allowed ;
2195   struct sched_rt_entity *back ;
2196   struct sched_rt_entity *parent ;
2197   struct rt_rq *rt_rq ;
2198   struct rt_rq *my_q ;
2199};
2200#line 1264
2201struct files_struct;
2202#line 1264
2203struct css_set;
2204#line 1264
2205struct compat_robust_list_head;
2206#line 1264
2207struct mem_cgroup;
2208#line 1264 "include/linux/sched.h"
2209struct memcg_batch_info {
2210   int do_batch ;
2211   struct mem_cgroup *memcg ;
2212   unsigned long nr_pages ;
2213   unsigned long memsw_nr_pages ;
2214};
2215#line 1264 "include/linux/sched.h"
2216struct task_struct {
2217   long volatile   state ;
2218   void *stack ;
2219   atomic_t usage ;
2220   unsigned int flags ;
2221   unsigned int ptrace ;
2222   struct llist_node wake_entry ;
2223   int on_cpu ;
2224   int on_rq ;
2225   int prio ;
2226   int static_prio ;
2227   int normal_prio ;
2228   unsigned int rt_priority ;
2229   struct sched_class  const  *sched_class ;
2230   struct sched_entity se ;
2231   struct sched_rt_entity rt ;
2232   struct hlist_head preempt_notifiers ;
2233   unsigned char fpu_counter ;
2234   unsigned int policy ;
2235   cpumask_t cpus_allowed ;
2236   struct sched_info sched_info ;
2237   struct list_head tasks ;
2238   struct plist_node pushable_tasks ;
2239   struct mm_struct *mm ;
2240   struct mm_struct *active_mm ;
2241   unsigned int brk_randomized : 1 ;
2242   int exit_state ;
2243   int exit_code ;
2244   int exit_signal ;
2245   int pdeath_signal ;
2246   unsigned int jobctl ;
2247   unsigned int personality ;
2248   unsigned int did_exec : 1 ;
2249   unsigned int in_execve : 1 ;
2250   unsigned int in_iowait : 1 ;
2251   unsigned int sched_reset_on_fork : 1 ;
2252   unsigned int sched_contributes_to_load : 1 ;
2253   unsigned int irq_thread : 1 ;
2254   pid_t pid ;
2255   pid_t tgid ;
2256   unsigned long stack_canary ;
2257   struct task_struct *real_parent ;
2258   struct task_struct *parent ;
2259   struct list_head children ;
2260   struct list_head sibling ;
2261   struct task_struct *group_leader ;
2262   struct list_head ptraced ;
2263   struct list_head ptrace_entry ;
2264   struct pid_link pids[3] ;
2265   struct list_head thread_group ;
2266   struct completion *vfork_done ;
2267   int *set_child_tid ;
2268   int *clear_child_tid ;
2269   cputime_t utime ;
2270   cputime_t stime ;
2271   cputime_t utimescaled ;
2272   cputime_t stimescaled ;
2273   cputime_t gtime ;
2274   cputime_t prev_utime ;
2275   cputime_t prev_stime ;
2276   unsigned long nvcsw ;
2277   unsigned long nivcsw ;
2278   struct timespec start_time ;
2279   struct timespec real_start_time ;
2280   unsigned long min_flt ;
2281   unsigned long maj_flt ;
2282   struct task_cputime cputime_expires ;
2283   struct list_head cpu_timers[3] ;
2284   struct cred  const  *real_cred ;
2285   struct cred  const  *cred ;
2286   struct cred *replacement_session_keyring ;
2287   char comm[16] ;
2288   int link_count ;
2289   int total_link_count ;
2290   struct sysv_sem sysvsem ;
2291   unsigned long last_switch_count ;
2292   struct thread_struct thread ;
2293   struct fs_struct *fs ;
2294   struct files_struct *files ;
2295   struct nsproxy *nsproxy ;
2296   struct signal_struct *signal ;
2297   struct sighand_struct *sighand ;
2298   sigset_t blocked ;
2299   sigset_t real_blocked ;
2300   sigset_t saved_sigmask ;
2301   struct sigpending pending ;
2302   unsigned long sas_ss_sp ;
2303   size_t sas_ss_size ;
2304   int (*notifier)(void *priv ) ;
2305   void *notifier_data ;
2306   sigset_t *notifier_mask ;
2307   struct audit_context *audit_context ;
2308   uid_t loginuid ;
2309   unsigned int sessionid ;
2310   seccomp_t seccomp ;
2311   u32 parent_exec_id ;
2312   u32 self_exec_id ;
2313   spinlock_t alloc_lock ;
2314   raw_spinlock_t pi_lock ;
2315   struct plist_head pi_waiters ;
2316   struct rt_mutex_waiter *pi_blocked_on ;
2317   struct mutex_waiter *blocked_on ;
2318   unsigned int irq_events ;
2319   unsigned long hardirq_enable_ip ;
2320   unsigned long hardirq_disable_ip ;
2321   unsigned int hardirq_enable_event ;
2322   unsigned int hardirq_disable_event ;
2323   int hardirqs_enabled ;
2324   int hardirq_context ;
2325   unsigned long softirq_disable_ip ;
2326   unsigned long softirq_enable_ip ;
2327   unsigned int softirq_disable_event ;
2328   unsigned int softirq_enable_event ;
2329   int softirqs_enabled ;
2330   int softirq_context ;
2331   void *journal_info ;
2332   struct bio_list *bio_list ;
2333   struct blk_plug *plug ;
2334   struct reclaim_state *reclaim_state ;
2335   struct backing_dev_info *backing_dev_info ;
2336   struct io_context *io_context ;
2337   unsigned long ptrace_message ;
2338   siginfo_t *last_siginfo ;
2339   struct task_io_accounting ioac ;
2340   u64 acct_rss_mem1 ;
2341   u64 acct_vm_mem1 ;
2342   cputime_t acct_timexpd ;
2343   nodemask_t mems_allowed ;
2344   seqcount_t mems_allowed_seq ;
2345   int cpuset_mem_spread_rotor ;
2346   int cpuset_slab_spread_rotor ;
2347   struct css_set *cgroups ;
2348   struct list_head cg_list ;
2349   struct robust_list_head *robust_list ;
2350   struct compat_robust_list_head *compat_robust_list ;
2351   struct list_head pi_state_list ;
2352   struct futex_pi_state *pi_state_cache ;
2353   struct perf_event_context *perf_event_ctxp[2] ;
2354   struct mutex perf_event_mutex ;
2355   struct list_head perf_event_list ;
2356   struct mempolicy *mempolicy ;
2357   short il_next ;
2358   short pref_node_fork ;
2359   struct rcu_head rcu ;
2360   struct pipe_inode_info *splice_pipe ;
2361   struct task_delay_info *delays ;
2362   int make_it_fail ;
2363   int nr_dirtied ;
2364   int nr_dirtied_pause ;
2365   unsigned long dirty_paused_when ;
2366   int latency_record_count ;
2367   struct latency_record latency_record[32] ;
2368   unsigned long timer_slack_ns ;
2369   unsigned long default_timer_slack_ns ;
2370   struct list_head *scm_work_list ;
2371   unsigned long trace ;
2372   unsigned long trace_recursion ;
2373   struct memcg_batch_info memcg_batch ;
2374   atomic_t ptrace_bp_refcnt ;
2375};
2376#line 1681
2377struct pid_namespace;
2378#line 28 "include/linux/of.h"
2379typedef u32 phandle;
2380#line 31 "include/linux/of.h"
2381struct property {
2382   char *name ;
2383   int length ;
2384   void *value ;
2385   struct property *next ;
2386   unsigned long _flags ;
2387   unsigned int unique_id ;
2388};
2389#line 44
2390struct proc_dir_entry;
2391#line 44 "include/linux/of.h"
2392struct device_node {
2393   char const   *name ;
2394   char const   *type ;
2395   phandle phandle ;
2396   char *full_name ;
2397   struct property *properties ;
2398   struct property *deadprops ;
2399   struct device_node *parent ;
2400   struct device_node *child ;
2401   struct device_node *sibling ;
2402   struct device_node *next ;
2403   struct device_node *allnext ;
2404   struct proc_dir_entry *pde ;
2405   struct kref kref ;
2406   unsigned long _flags ;
2407   void *data ;
2408};
2409#line 44 "include/linux/i2c.h"
2410struct i2c_msg;
2411#line 44
2412struct i2c_msg;
2413#line 45
2414struct i2c_algorithm;
2415#line 45
2416struct i2c_algorithm;
2417#line 46
2418struct i2c_adapter;
2419#line 46
2420struct i2c_adapter;
2421#line 47
2422struct i2c_client;
2423#line 47
2424struct i2c_client;
2425#line 48
2426struct i2c_driver;
2427#line 48
2428struct i2c_driver;
2429#line 49
2430union i2c_smbus_data;
2431#line 49
2432union i2c_smbus_data;
2433#line 50
2434struct i2c_board_info;
2435#line 50
2436struct i2c_board_info;
2437#line 52
2438struct module;
2439#line 161 "include/linux/i2c.h"
2440struct i2c_driver {
2441   unsigned int class ;
2442   int (*attach_adapter)(struct i2c_adapter * )  __attribute__((__deprecated__)) ;
2443   int (*detach_adapter)(struct i2c_adapter * )  __attribute__((__deprecated__)) ;
2444   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
2445   int (*remove)(struct i2c_client * ) ;
2446   void (*shutdown)(struct i2c_client * ) ;
2447   int (*suspend)(struct i2c_client * , pm_message_t mesg ) ;
2448   int (*resume)(struct i2c_client * ) ;
2449   void (*alert)(struct i2c_client * , unsigned int data ) ;
2450   int (*command)(struct i2c_client *client , unsigned int cmd , void *arg ) ;
2451   struct device_driver driver ;
2452   struct i2c_device_id  const  *id_table ;
2453   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2454   unsigned short const   *address_list ;
2455   struct list_head clients ;
2456};
2457#line 220 "include/linux/i2c.h"
2458struct i2c_client {
2459   unsigned short flags ;
2460   unsigned short addr ;
2461   char name[20] ;
2462   struct i2c_adapter *adapter ;
2463   struct i2c_driver *driver ;
2464   struct device dev ;
2465   int irq ;
2466   struct list_head detected ;
2467};
2468#line 273 "include/linux/i2c.h"
2469struct i2c_board_info {
2470   char type[20] ;
2471   unsigned short flags ;
2472   unsigned short addr ;
2473   void *platform_data ;
2474   struct dev_archdata *archdata ;
2475   struct device_node *of_node ;
2476   int irq ;
2477};
2478#line 352 "include/linux/i2c.h"
2479struct i2c_algorithm {
2480   int (*master_xfer)(struct i2c_adapter *adap , struct i2c_msg *msgs , int num ) ;
2481   int (*smbus_xfer)(struct i2c_adapter *adap , u16 addr , unsigned short flags ,
2482                     char read_write , u8 command , int size , union i2c_smbus_data *data ) ;
2483   u32 (*functionality)(struct i2c_adapter * ) ;
2484};
2485#line 373 "include/linux/i2c.h"
2486struct i2c_adapter {
2487   struct module *owner ;
2488   unsigned int class ;
2489   struct i2c_algorithm  const  *algo ;
2490   void *algo_data ;
2491   struct rt_mutex bus_lock ;
2492   int timeout ;
2493   int retries ;
2494   struct device dev ;
2495   int nr ;
2496   char name[48] ;
2497   struct completion dev_released ;
2498   struct mutex userspace_clients_lock ;
2499   struct list_head userspace_clients ;
2500};
2501#line 538 "include/linux/i2c.h"
2502struct i2c_msg {
2503   __u16 addr ;
2504   __u16 flags ;
2505   __u16 len ;
2506   __u8 *buf ;
2507};
2508#line 596 "include/linux/i2c.h"
2509union i2c_smbus_data {
2510   __u8 byte ;
2511   __u16 word ;
2512   __u8 block[34] ;
2513};
2514#line 17 "include/linux/hwmon.h"
2515struct device;
2516#line 25 "include/linux/hwmon-sysfs.h"
2517struct sensor_device_attribute {
2518   struct device_attribute dev_attr ;
2519   int index ;
2520};
2521#line 40 "include/linux/hwmon-sysfs.h"
2522struct sensor_device_attribute_2 {
2523   struct device_attribute dev_attr ;
2524   u8 index ;
2525   u8 nr ;
2526};
2527#line 42 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
2528struct thermal_data {
2529   struct device *hwmon_dev ;
2530   struct mutex mutex ;
2531   u8 cached_hyst ;
2532   unsigned long hyst_valid ;
2533};
2534#line 1 "<compiler builtins>"
2535long __builtin_expect(long val , long res ) ;
2536#line 215 "include/linux/kernel.h"
2537extern int __attribute__((__warn_unused_result__))  _kstrtoul(char const   *s , unsigned int base ,
2538                                                              unsigned long *res ) ;
2539#line 218
2540extern int __attribute__((__warn_unused_result__))  kstrtoull(char const   *s , unsigned int base ,
2541                                                              unsigned long long *res ) ;
2542#line 220
2543__inline static int __attribute__((__warn_unused_result__))  kstrtoul(char const   *s ,
2544                                                                      unsigned int base ,
2545                                                                      unsigned long *res )  __attribute__((__no_instrument_function__)) ;
2546#line 220 "include/linux/kernel.h"
2547__inline static int __attribute__((__warn_unused_result__))  kstrtoul(char const   *s ,
2548                                                                      unsigned int base ,
2549                                                                      unsigned long *res ) 
2550{ int tmp ;
2551  int tmp___0 ;
2552  unsigned long long *__cil_tmp6 ;
2553
2554  {
2555#line 226
2556  if (8UL == 8UL) {
2557#line 226
2558    if (8UL == 8UL) {
2559      {
2560#line 228
2561      __cil_tmp6 = (unsigned long long *)res;
2562#line 228
2563      tmp = (int )kstrtoull(s, base, __cil_tmp6);
2564      }
2565#line 228
2566      return (tmp);
2567    } else {
2568      {
2569#line 230
2570      tmp___0 = (int )_kstrtoul(s, base, res);
2571      }
2572#line 230
2573      return (tmp___0);
2574    }
2575  } else {
2576    {
2577#line 230
2578    tmp___0 = (int )_kstrtoul(s, base, res);
2579    }
2580#line 230
2581    return (tmp___0);
2582  }
2583}
2584}
2585#line 320
2586extern int ( /* format attribute */  sprintf)(char *buf , char const   *fmt  , ...) ;
2587#line 30 "include/linux/string.h"
2588extern size_t strlcpy(char * , char const   * , size_t  ) ;
2589#line 27 "include/linux/err.h"
2590__inline static long __attribute__((__warn_unused_result__))  PTR_ERR(void const   *ptr )  __attribute__((__no_instrument_function__)) ;
2591#line 27 "include/linux/err.h"
2592__inline static long __attribute__((__warn_unused_result__))  PTR_ERR(void const   *ptr ) 
2593{ 
2594
2595  {
2596#line 29
2597  return ((long )ptr);
2598}
2599}
2600#line 32
2601__inline static long __attribute__((__warn_unused_result__))  IS_ERR(void const   *ptr )  __attribute__((__no_instrument_function__)) ;
2602#line 32 "include/linux/err.h"
2603__inline static long __attribute__((__warn_unused_result__))  IS_ERR(void const   *ptr ) 
2604{ long tmp ;
2605  unsigned long __cil_tmp3 ;
2606  int __cil_tmp4 ;
2607  int __cil_tmp5 ;
2608  int __cil_tmp6 ;
2609  long __cil_tmp7 ;
2610
2611  {
2612  {
2613#line 34
2614  __cil_tmp3 = (unsigned long )ptr;
2615#line 34
2616  __cil_tmp4 = __cil_tmp3 >= 0xfffffffffffff001UL;
2617#line 34
2618  __cil_tmp5 = ! __cil_tmp4;
2619#line 34
2620  __cil_tmp6 = ! __cil_tmp5;
2621#line 34
2622  __cil_tmp7 = (long )__cil_tmp6;
2623#line 34
2624  tmp = __builtin_expect(__cil_tmp7, 0L);
2625  }
2626#line 34
2627  return (tmp);
2628}
2629}
2630#line 115 "include/linux/mutex.h"
2631extern void __mutex_init(struct mutex *lock , char const   *name , struct lock_class_key *key ) ;
2632#line 152
2633void mutex_lock(struct mutex *lock ) ;
2634#line 153
2635int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2636#line 154
2637int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2638#line 168
2639int mutex_trylock(struct mutex *lock ) ;
2640#line 169
2641void mutex_unlock(struct mutex *lock ) ;
2642#line 170
2643int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2644#line 82 "include/linux/jiffies.h"
2645extern unsigned long volatile   jiffies  __attribute__((__section__(".data"))) ;
2646#line 158 "include/linux/sysfs.h"
2647extern int __attribute__((__warn_unused_result__))  sysfs_create_group(struct kobject *kobj ,
2648                                                                       struct attribute_group  const  *grp ) ;
2649#line 162
2650extern void sysfs_remove_group(struct kobject *kobj , struct attribute_group  const  *grp ) ;
2651#line 26 "include/linux/export.h"
2652extern struct module __this_module ;
2653#line 67 "include/linux/module.h"
2654int init_module(void) ;
2655#line 68
2656void cleanup_module(void) ;
2657#line 161 "include/linux/slab.h"
2658extern void kfree(void const   * ) ;
2659#line 221 "include/linux/slub_def.h"
2660extern void *__kmalloc(size_t size , gfp_t flags ) ;
2661#line 268
2662__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2663                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2664#line 268 "include/linux/slub_def.h"
2665__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2666                                                                    gfp_t flags ) 
2667{ void *tmp___2 ;
2668
2669  {
2670  {
2671#line 283
2672  tmp___2 = __kmalloc(size, flags);
2673  }
2674#line 283
2675  return (tmp___2);
2676}
2677}
2678#line 349 "include/linux/slab.h"
2679__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2680#line 349 "include/linux/slab.h"
2681__inline static void *kzalloc(size_t size , gfp_t flags ) 
2682{ void *tmp ;
2683  unsigned int __cil_tmp4 ;
2684
2685  {
2686  {
2687#line 351
2688  __cil_tmp4 = flags | 32768U;
2689#line 351
2690  tmp = kmalloc(size, __cil_tmp4);
2691  }
2692#line 351
2693  return (tmp);
2694}
2695}
2696#line 792 "include/linux/device.h"
2697extern void *dev_get_drvdata(struct device  const  *dev ) ;
2698#line 793
2699extern int dev_set_drvdata(struct device *dev , void *data ) ;
2700#line 893
2701extern int ( /* format attribute */  dev_warn)(struct device  const  *dev , char const   *fmt 
2702                                               , ...) ;
2703#line 897
2704extern int ( /* format attribute */  _dev_info)(struct device  const  *dev , char const   *fmt 
2705                                                , ...) ;
2706#line 86 "include/linux/i2c.h"
2707extern s32 i2c_smbus_read_byte_data(struct i2c_client  const  *client , u8 command ) ;
2708#line 88
2709extern s32 i2c_smbus_write_byte_data(struct i2c_client  const  *client , u8 command ,
2710                                     u8 value ) ;
2711#line 242
2712__inline static void *i2c_get_clientdata(struct i2c_client  const  *dev )  __attribute__((__no_instrument_function__)) ;
2713#line 242 "include/linux/i2c.h"
2714__inline static void *i2c_get_clientdata(struct i2c_client  const  *dev ) 
2715{ void *tmp___7 ;
2716  unsigned long __cil_tmp3 ;
2717  unsigned long __cil_tmp4 ;
2718  struct device  const  *__cil_tmp5 ;
2719
2720  {
2721  {
2722#line 244
2723  __cil_tmp3 = (unsigned long )dev;
2724#line 244
2725  __cil_tmp4 = __cil_tmp3 + 40;
2726#line 244
2727  __cil_tmp5 = (struct device  const  *)__cil_tmp4;
2728#line 244
2729  tmp___7 = dev_get_drvdata(__cil_tmp5);
2730  }
2731#line 244
2732  return (tmp___7);
2733}
2734}
2735#line 247
2736__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data )  __attribute__((__no_instrument_function__)) ;
2737#line 247 "include/linux/i2c.h"
2738__inline static void i2c_set_clientdata(struct i2c_client *dev , void *data ) 
2739{ unsigned long __cil_tmp3 ;
2740  unsigned long __cil_tmp4 ;
2741  struct device *__cil_tmp5 ;
2742
2743  {
2744  {
2745#line 249
2746  __cil_tmp3 = (unsigned long )dev;
2747#line 249
2748  __cil_tmp4 = __cil_tmp3 + 40;
2749#line 249
2750  __cil_tmp5 = (struct device *)__cil_tmp4;
2751#line 249
2752  dev_set_drvdata(__cil_tmp5, data);
2753  }
2754#line 250
2755  return;
2756}
2757}
2758#line 450
2759extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
2760#line 451
2761extern void i2c_del_driver(struct i2c_driver * ) ;
2762#line 19 "include/linux/hwmon.h"
2763extern struct device *hwmon_device_register(struct device *dev ) ;
2764#line 21
2765extern void hwmon_device_unregister(struct device *dev ) ;
2766#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
2767static ssize_t show_temp(struct device *dev , struct device_attribute *attr , char *buf ) 
2768{ struct i2c_client *client ;
2769  struct device  const  *__mptr ;
2770  struct sensor_device_attribute *sda ;
2771  struct device_attribute  const  *__mptr___0 ;
2772  int retval ;
2773  s32 tmp___7 ;
2774  int tmp___8 ;
2775  struct i2c_client *__cil_tmp11 ;
2776  unsigned long __cil_tmp12 ;
2777  unsigned long __cil_tmp13 ;
2778  struct device *__cil_tmp14 ;
2779  unsigned int __cil_tmp15 ;
2780  char *__cil_tmp16 ;
2781  char *__cil_tmp17 ;
2782  struct sensor_device_attribute *__cil_tmp18 ;
2783  struct device_attribute *__cil_tmp19 ;
2784  unsigned int __cil_tmp20 ;
2785  char *__cil_tmp21 ;
2786  char *__cil_tmp22 ;
2787  struct i2c_client  const  *__cil_tmp23 ;
2788  unsigned long __cil_tmp24 ;
2789  unsigned long __cil_tmp25 ;
2790  int __cil_tmp26 ;
2791  u8 __cil_tmp27 ;
2792
2793  {
2794  {
2795#line 56
2796  __mptr = (struct device  const  *)dev;
2797#line 56
2798  __cil_tmp11 = (struct i2c_client *)0;
2799#line 56
2800  __cil_tmp12 = (unsigned long )__cil_tmp11;
2801#line 56
2802  __cil_tmp13 = __cil_tmp12 + 40;
2803#line 56
2804  __cil_tmp14 = (struct device *)__cil_tmp13;
2805#line 56
2806  __cil_tmp15 = (unsigned int )__cil_tmp14;
2807#line 56
2808  __cil_tmp16 = (char *)__mptr;
2809#line 56
2810  __cil_tmp17 = __cil_tmp16 - __cil_tmp15;
2811#line 56
2812  client = (struct i2c_client *)__cil_tmp17;
2813#line 57
2814  __mptr___0 = (struct device_attribute  const  *)attr;
2815#line 57
2816  __cil_tmp18 = (struct sensor_device_attribute *)0;
2817#line 57
2818  __cil_tmp19 = (struct device_attribute *)__cil_tmp18;
2819#line 57
2820  __cil_tmp20 = (unsigned int )__cil_tmp19;
2821#line 57
2822  __cil_tmp21 = (char *)__mptr___0;
2823#line 57
2824  __cil_tmp22 = __cil_tmp21 - __cil_tmp20;
2825#line 57
2826  sda = (struct sensor_device_attribute *)__cil_tmp22;
2827#line 58
2828  __cil_tmp23 = (struct i2c_client  const  *)client;
2829#line 58
2830  __cil_tmp24 = (unsigned long )sda;
2831#line 58
2832  __cil_tmp25 = __cil_tmp24 + 32;
2833#line 58
2834  __cil_tmp26 = *((int *)__cil_tmp25);
2835#line 58
2836  __cil_tmp27 = (u8 )__cil_tmp26;
2837#line 58
2838  tmp___7 = i2c_smbus_read_byte_data(__cil_tmp23, __cil_tmp27);
2839#line 58
2840  retval = tmp___7;
2841  }
2842#line 60
2843  if (retval < 0) {
2844#line 61
2845    return ((ssize_t )retval);
2846  } else {
2847
2848  }
2849  {
2850#line 62
2851  tmp___8 = sprintf(buf, "%d000\n", retval);
2852  }
2853#line 62
2854  return ((ssize_t )tmp___8);
2855}
2856}
2857#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
2858static ssize_t show_bit(struct device *dev , struct device_attribute *attr , char *buf ) 
2859{ struct i2c_client *client ;
2860  struct device  const  *__mptr ;
2861  struct sensor_device_attribute_2 *sda ;
2862  struct device_attribute  const  *__mptr___0 ;
2863  int retval ;
2864  s32 tmp___7 ;
2865  int tmp___8 ;
2866  int tmp___9 ;
2867  struct i2c_client *__cil_tmp12 ;
2868  unsigned long __cil_tmp13 ;
2869  unsigned long __cil_tmp14 ;
2870  struct device *__cil_tmp15 ;
2871  unsigned int __cil_tmp16 ;
2872  char *__cil_tmp17 ;
2873  char *__cil_tmp18 ;
2874  struct sensor_device_attribute_2 *__cil_tmp19 ;
2875  struct device_attribute *__cil_tmp20 ;
2876  unsigned int __cil_tmp21 ;
2877  char *__cil_tmp22 ;
2878  char *__cil_tmp23 ;
2879  struct i2c_client  const  *__cil_tmp24 ;
2880  unsigned long __cil_tmp25 ;
2881  unsigned long __cil_tmp26 ;
2882  u8 __cil_tmp27 ;
2883  unsigned long __cil_tmp28 ;
2884  unsigned long __cil_tmp29 ;
2885  u8 __cil_tmp30 ;
2886  int __cil_tmp31 ;
2887
2888  {
2889  {
2890#line 68
2891  __mptr = (struct device  const  *)dev;
2892#line 68
2893  __cil_tmp12 = (struct i2c_client *)0;
2894#line 68
2895  __cil_tmp13 = (unsigned long )__cil_tmp12;
2896#line 68
2897  __cil_tmp14 = __cil_tmp13 + 40;
2898#line 68
2899  __cil_tmp15 = (struct device *)__cil_tmp14;
2900#line 68
2901  __cil_tmp16 = (unsigned int )__cil_tmp15;
2902#line 68
2903  __cil_tmp17 = (char *)__mptr;
2904#line 68
2905  __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
2906#line 68
2907  client = (struct i2c_client *)__cil_tmp18;
2908#line 69
2909  __mptr___0 = (struct device_attribute  const  *)attr;
2910#line 69
2911  __cil_tmp19 = (struct sensor_device_attribute_2 *)0;
2912#line 69
2913  __cil_tmp20 = (struct device_attribute *)__cil_tmp19;
2914#line 69
2915  __cil_tmp21 = (unsigned int )__cil_tmp20;
2916#line 69
2917  __cil_tmp22 = (char *)__mptr___0;
2918#line 69
2919  __cil_tmp23 = __cil_tmp22 - __cil_tmp21;
2920#line 69
2921  sda = (struct sensor_device_attribute_2 *)__cil_tmp23;
2922#line 70
2923  __cil_tmp24 = (struct i2c_client  const  *)client;
2924#line 70
2925  __cil_tmp25 = (unsigned long )sda;
2926#line 70
2927  __cil_tmp26 = __cil_tmp25 + 33;
2928#line 70
2929  __cil_tmp27 = *((u8 *)__cil_tmp26);
2930#line 70
2931  tmp___7 = i2c_smbus_read_byte_data(__cil_tmp24, __cil_tmp27);
2932#line 70
2933  retval = tmp___7;
2934  }
2935#line 72
2936  if (retval < 0) {
2937#line 73
2938    return ((ssize_t )retval);
2939  } else {
2940
2941  }
2942#line 74
2943  __cil_tmp28 = (unsigned long )sda;
2944#line 74
2945  __cil_tmp29 = __cil_tmp28 + 32;
2946#line 74
2947  __cil_tmp30 = *((u8 *)__cil_tmp29);
2948#line 74
2949  __cil_tmp31 = (int )__cil_tmp30;
2950#line 74
2951  retval = retval & __cil_tmp31;
2952#line 75
2953  if (retval) {
2954#line 75
2955    tmp___8 = 1;
2956  } else {
2957#line 75
2958    tmp___8 = 0;
2959  }
2960  {
2961#line 75
2962  tmp___9 = sprintf(buf, "%d\n", tmp___8);
2963  }
2964#line 75
2965  return ((ssize_t )tmp___9);
2966}
2967}
2968#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
2969static ssize_t store_temp(struct device *dev , struct device_attribute *attr , char const   *buf ,
2970                          size_t count ) 
2971{ struct sensor_device_attribute *sda ;
2972  struct device_attribute  const  *__mptr ;
2973  struct i2c_client *client ;
2974  struct device  const  *__mptr___0 ;
2975  unsigned long val ;
2976  int retval ;
2977  int tmp___7 ;
2978  int __divisor ;
2979  struct sensor_device_attribute *__cil_tmp13 ;
2980  struct device_attribute *__cil_tmp14 ;
2981  unsigned int __cil_tmp15 ;
2982  char *__cil_tmp16 ;
2983  char *__cil_tmp17 ;
2984  struct i2c_client *__cil_tmp18 ;
2985  unsigned long __cil_tmp19 ;
2986  unsigned long __cil_tmp20 ;
2987  struct device *__cil_tmp21 ;
2988  unsigned int __cil_tmp22 ;
2989  char *__cil_tmp23 ;
2990  char *__cil_tmp24 ;
2991  struct i2c_client  const  *__cil_tmp25 ;
2992  unsigned long __cil_tmp26 ;
2993  unsigned long __cil_tmp27 ;
2994  int __cil_tmp28 ;
2995  u8 __cil_tmp29 ;
2996  unsigned long __cil_tmp30 ;
2997  int __cil_tmp31 ;
2998  unsigned long __cil_tmp32 ;
2999  unsigned long *__cil_tmp33 ;
3000  unsigned long __cil_tmp34 ;
3001  unsigned long __cil_tmp35 ;
3002  unsigned long __cil_tmp36 ;
3003  u8 __cil_tmp37 ;
3004
3005  {
3006  {
3007#line 81
3008  __mptr = (struct device_attribute  const  *)attr;
3009#line 81
3010  __cil_tmp13 = (struct sensor_device_attribute *)0;
3011#line 81
3012  __cil_tmp14 = (struct device_attribute *)__cil_tmp13;
3013#line 81
3014  __cil_tmp15 = (unsigned int )__cil_tmp14;
3015#line 81
3016  __cil_tmp16 = (char *)__mptr;
3017#line 81
3018  __cil_tmp17 = __cil_tmp16 - __cil_tmp15;
3019#line 81
3020  sda = (struct sensor_device_attribute *)__cil_tmp17;
3021#line 82
3022  __mptr___0 = (struct device  const  *)dev;
3023#line 82
3024  __cil_tmp18 = (struct i2c_client *)0;
3025#line 82
3026  __cil_tmp19 = (unsigned long )__cil_tmp18;
3027#line 82
3028  __cil_tmp20 = __cil_tmp19 + 40;
3029#line 82
3030  __cil_tmp21 = (struct device *)__cil_tmp20;
3031#line 82
3032  __cil_tmp22 = (unsigned int )__cil_tmp21;
3033#line 82
3034  __cil_tmp23 = (char *)__mptr___0;
3035#line 82
3036  __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
3037#line 82
3038  client = (struct i2c_client *)__cil_tmp24;
3039#line 86
3040  tmp___7 = (int )kstrtoul(buf, 10U, & val);
3041  }
3042#line 86
3043  if (tmp___7) {
3044#line 87
3045    return ((ssize_t )-22);
3046  } else {
3047
3048  }
3049  {
3050#line 89
3051  __divisor = 1000;
3052#line 89
3053  __cil_tmp25 = (struct i2c_client  const  *)client;
3054#line 89
3055  __cil_tmp26 = (unsigned long )sda;
3056#line 89
3057  __cil_tmp27 = __cil_tmp26 + 32;
3058#line 89
3059  __cil_tmp28 = *((int *)__cil_tmp27);
3060#line 89
3061  __cil_tmp29 = (u8 )__cil_tmp28;
3062#line 89
3063  __cil_tmp30 = (unsigned long )__divisor;
3064#line 89
3065  __cil_tmp31 = __divisor / 2;
3066#line 89
3067  __cil_tmp32 = (unsigned long )__cil_tmp31;
3068#line 89
3069  __cil_tmp33 = & val;
3070#line 89
3071  __cil_tmp34 = *__cil_tmp33;
3072#line 89
3073  __cil_tmp35 = __cil_tmp34 + __cil_tmp32;
3074#line 89
3075  __cil_tmp36 = __cil_tmp35 / __cil_tmp30;
3076#line 89
3077  __cil_tmp37 = (u8 )__cil_tmp36;
3078#line 89
3079  retval = i2c_smbus_write_byte_data(__cil_tmp25, __cil_tmp29, __cil_tmp37);
3080  }
3081#line 90
3082  if (retval < 0) {
3083#line 91
3084    return ((ssize_t )retval);
3085  } else {
3086
3087  }
3088#line 92
3089  return ((ssize_t )count);
3090}
3091}
3092#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3093static ssize_t store_bit(struct device *dev , struct device_attribute *attr , char const   *buf ,
3094                         size_t count ) 
3095{ struct i2c_client *client ;
3096  struct device  const  *__mptr ;
3097  struct thermal_data *data ;
3098  void *tmp___7 ;
3099  struct sensor_device_attribute_2 *sda ;
3100  struct device_attribute  const  *__mptr___0 ;
3101  unsigned long val ;
3102  int retval ;
3103  int tmp___8 ;
3104  struct i2c_client *__cil_tmp14 ;
3105  unsigned long __cil_tmp15 ;
3106  unsigned long __cil_tmp16 ;
3107  struct device *__cil_tmp17 ;
3108  unsigned int __cil_tmp18 ;
3109  char *__cil_tmp19 ;
3110  char *__cil_tmp20 ;
3111  struct i2c_client  const  *__cil_tmp21 ;
3112  struct sensor_device_attribute_2 *__cil_tmp22 ;
3113  struct device_attribute *__cil_tmp23 ;
3114  unsigned int __cil_tmp24 ;
3115  char *__cil_tmp25 ;
3116  char *__cil_tmp26 ;
3117  unsigned long __cil_tmp27 ;
3118  unsigned long __cil_tmp28 ;
3119  struct mutex *__cil_tmp29 ;
3120  struct i2c_client  const  *__cil_tmp30 ;
3121  unsigned long __cil_tmp31 ;
3122  unsigned long __cil_tmp32 ;
3123  u8 __cil_tmp33 ;
3124  unsigned long __cil_tmp34 ;
3125  unsigned long __cil_tmp35 ;
3126  u8 __cil_tmp36 ;
3127  int __cil_tmp37 ;
3128  int __cil_tmp38 ;
3129  unsigned long *__cil_tmp39 ;
3130  unsigned long __cil_tmp40 ;
3131  unsigned long __cil_tmp41 ;
3132  u8 __cil_tmp42 ;
3133  int __cil_tmp43 ;
3134  struct i2c_client  const  *__cil_tmp44 ;
3135  unsigned long __cil_tmp45 ;
3136  unsigned long __cil_tmp46 ;
3137  u8 __cil_tmp47 ;
3138  u8 __cil_tmp48 ;
3139  unsigned long __cil_tmp49 ;
3140  unsigned long __cil_tmp50 ;
3141  struct mutex *__cil_tmp51 ;
3142
3143  {
3144  {
3145#line 98
3146  __mptr = (struct device  const  *)dev;
3147#line 98
3148  __cil_tmp14 = (struct i2c_client *)0;
3149#line 98
3150  __cil_tmp15 = (unsigned long )__cil_tmp14;
3151#line 98
3152  __cil_tmp16 = __cil_tmp15 + 40;
3153#line 98
3154  __cil_tmp17 = (struct device *)__cil_tmp16;
3155#line 98
3156  __cil_tmp18 = (unsigned int )__cil_tmp17;
3157#line 98
3158  __cil_tmp19 = (char *)__mptr;
3159#line 98
3160  __cil_tmp20 = __cil_tmp19 - __cil_tmp18;
3161#line 98
3162  client = (struct i2c_client *)__cil_tmp20;
3163#line 99
3164  __cil_tmp21 = (struct i2c_client  const  *)client;
3165#line 99
3166  tmp___7 = i2c_get_clientdata(__cil_tmp21);
3167#line 99
3168  data = (struct thermal_data *)tmp___7;
3169#line 100
3170  __mptr___0 = (struct device_attribute  const  *)attr;
3171#line 100
3172  __cil_tmp22 = (struct sensor_device_attribute_2 *)0;
3173#line 100
3174  __cil_tmp23 = (struct device_attribute *)__cil_tmp22;
3175#line 100
3176  __cil_tmp24 = (unsigned int )__cil_tmp23;
3177#line 100
3178  __cil_tmp25 = (char *)__mptr___0;
3179#line 100
3180  __cil_tmp26 = __cil_tmp25 - __cil_tmp24;
3181#line 100
3182  sda = (struct sensor_device_attribute_2 *)__cil_tmp26;
3183#line 104
3184  tmp___8 = (int )kstrtoul(buf, 10U, & val);
3185  }
3186#line 104
3187  if (tmp___8) {
3188#line 105
3189    return ((ssize_t )-22);
3190  } else {
3191
3192  }
3193  {
3194#line 107
3195  __cil_tmp27 = (unsigned long )data;
3196#line 107
3197  __cil_tmp28 = __cil_tmp27 + 8;
3198#line 107
3199  __cil_tmp29 = (struct mutex *)__cil_tmp28;
3200#line 107
3201  mutex_lock(__cil_tmp29);
3202#line 108
3203  __cil_tmp30 = (struct i2c_client  const  *)client;
3204#line 108
3205  __cil_tmp31 = (unsigned long )sda;
3206#line 108
3207  __cil_tmp32 = __cil_tmp31 + 33;
3208#line 108
3209  __cil_tmp33 = *((u8 *)__cil_tmp32);
3210#line 108
3211  retval = i2c_smbus_read_byte_data(__cil_tmp30, __cil_tmp33);
3212  }
3213#line 109
3214  if (retval < 0) {
3215#line 110
3216    goto fail;
3217  } else {
3218
3219  }
3220#line 112
3221  __cil_tmp34 = (unsigned long )sda;
3222#line 112
3223  __cil_tmp35 = __cil_tmp34 + 32;
3224#line 112
3225  __cil_tmp36 = *((u8 *)__cil_tmp35);
3226#line 112
3227  __cil_tmp37 = (int )__cil_tmp36;
3228#line 112
3229  __cil_tmp38 = ~ __cil_tmp37;
3230#line 112
3231  retval = retval & __cil_tmp38;
3232  {
3233#line 113
3234  __cil_tmp39 = & val;
3235#line 113
3236  if (*__cil_tmp39) {
3237#line 114
3238    __cil_tmp40 = (unsigned long )sda;
3239#line 114
3240    __cil_tmp41 = __cil_tmp40 + 32;
3241#line 114
3242    __cil_tmp42 = *((u8 *)__cil_tmp41);
3243#line 114
3244    __cil_tmp43 = (int )__cil_tmp42;
3245#line 114
3246    retval = retval | __cil_tmp43;
3247  } else {
3248
3249  }
3250  }
3251  {
3252#line 116
3253  __cil_tmp44 = (struct i2c_client  const  *)client;
3254#line 116
3255  __cil_tmp45 = (unsigned long )sda;
3256#line 116
3257  __cil_tmp46 = __cil_tmp45 + 32;
3258#line 116
3259  __cil_tmp47 = *((u8 *)__cil_tmp46);
3260#line 116
3261  __cil_tmp48 = (u8 )retval;
3262#line 116
3263  retval = i2c_smbus_write_byte_data(__cil_tmp44, __cil_tmp47, __cil_tmp48);
3264  }
3265#line 117
3266  if (retval == 0) {
3267#line 118
3268    retval = (int )count;
3269  } else {
3270
3271  }
3272  fail: 
3273  {
3274#line 120
3275  __cil_tmp49 = (unsigned long )data;
3276#line 120
3277  __cil_tmp50 = __cil_tmp49 + 8;
3278#line 120
3279  __cil_tmp51 = (struct mutex *)__cil_tmp50;
3280#line 120
3281  mutex_unlock(__cil_tmp51);
3282  }
3283#line 121
3284  return ((ssize_t )retval);
3285}
3286}
3287#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3288static ssize_t show_hyst(struct device *dev , struct device_attribute *attr , char *buf ) 
3289{ struct i2c_client *client ;
3290  struct device  const  *__mptr ;
3291  struct thermal_data *data ;
3292  void *tmp___7 ;
3293  struct sensor_device_attribute *sda ;
3294  struct device_attribute  const  *__mptr___0 ;
3295  int retval ;
3296  int hyst ;
3297  int tmp___8 ;
3298  struct i2c_client *__cil_tmp17 ;
3299  unsigned long __cil_tmp18 ;
3300  unsigned long __cil_tmp19 ;
3301  struct device *__cil_tmp20 ;
3302  unsigned int __cil_tmp21 ;
3303  char *__cil_tmp22 ;
3304  char *__cil_tmp23 ;
3305  struct i2c_client  const  *__cil_tmp24 ;
3306  struct sensor_device_attribute *__cil_tmp25 ;
3307  struct device_attribute *__cil_tmp26 ;
3308  unsigned int __cil_tmp27 ;
3309  char *__cil_tmp28 ;
3310  char *__cil_tmp29 ;
3311  struct i2c_client  const  *__cil_tmp30 ;
3312  unsigned long __cil_tmp31 ;
3313  unsigned long __cil_tmp32 ;
3314  int __cil_tmp33 ;
3315  u8 __cil_tmp34 ;
3316  long __cil_tmp35 ;
3317  unsigned long __cil_tmp36 ;
3318  unsigned long __cil_tmp37 ;
3319  unsigned long __cil_tmp38 ;
3320  long __cil_tmp39 ;
3321  long __cil_tmp40 ;
3322  struct i2c_client  const  *__cil_tmp41 ;
3323  u8 __cil_tmp42 ;
3324  unsigned long __cil_tmp43 ;
3325  unsigned long __cil_tmp44 ;
3326  unsigned long __cil_tmp45 ;
3327  unsigned long __cil_tmp46 ;
3328  unsigned long volatile   __cil_tmp47 ;
3329  unsigned long volatile   __cil_tmp48 ;
3330  unsigned long __cil_tmp49 ;
3331  unsigned long __cil_tmp50 ;
3332  u8 __cil_tmp51 ;
3333  int __cil_tmp52 ;
3334  int __cil_tmp53 ;
3335
3336  {
3337  {
3338#line 127
3339  __mptr = (struct device  const  *)dev;
3340#line 127
3341  __cil_tmp17 = (struct i2c_client *)0;
3342#line 127
3343  __cil_tmp18 = (unsigned long )__cil_tmp17;
3344#line 127
3345  __cil_tmp19 = __cil_tmp18 + 40;
3346#line 127
3347  __cil_tmp20 = (struct device *)__cil_tmp19;
3348#line 127
3349  __cil_tmp21 = (unsigned int )__cil_tmp20;
3350#line 127
3351  __cil_tmp22 = (char *)__mptr;
3352#line 127
3353  __cil_tmp23 = __cil_tmp22 - __cil_tmp21;
3354#line 127
3355  client = (struct i2c_client *)__cil_tmp23;
3356#line 128
3357  __cil_tmp24 = (struct i2c_client  const  *)client;
3358#line 128
3359  tmp___7 = i2c_get_clientdata(__cil_tmp24);
3360#line 128
3361  data = (struct thermal_data *)tmp___7;
3362#line 129
3363  __mptr___0 = (struct device_attribute  const  *)attr;
3364#line 129
3365  __cil_tmp25 = (struct sensor_device_attribute *)0;
3366#line 129
3367  __cil_tmp26 = (struct device_attribute *)__cil_tmp25;
3368#line 129
3369  __cil_tmp27 = (unsigned int )__cil_tmp26;
3370#line 129
3371  __cil_tmp28 = (char *)__mptr___0;
3372#line 129
3373  __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
3374#line 129
3375  sda = (struct sensor_device_attribute *)__cil_tmp29;
3376#line 133
3377  __cil_tmp30 = (struct i2c_client  const  *)client;
3378#line 133
3379  __cil_tmp31 = (unsigned long )sda;
3380#line 133
3381  __cil_tmp32 = __cil_tmp31 + 32;
3382#line 133
3383  __cil_tmp33 = *((int *)__cil_tmp32);
3384#line 133
3385  __cil_tmp34 = (u8 )__cil_tmp33;
3386#line 133
3387  retval = i2c_smbus_read_byte_data(__cil_tmp30, __cil_tmp34);
3388  }
3389#line 134
3390  if (retval < 0) {
3391#line 135
3392    return ((ssize_t )retval);
3393  } else {
3394
3395  }
3396  {
3397#line 137
3398  __cil_tmp35 = (long )jiffies;
3399#line 137
3400  __cil_tmp36 = (unsigned long )data;
3401#line 137
3402  __cil_tmp37 = __cil_tmp36 + 88;
3403#line 137
3404  __cil_tmp38 = *((unsigned long *)__cil_tmp37);
3405#line 137
3406  __cil_tmp39 = (long )__cil_tmp38;
3407#line 137
3408  __cil_tmp40 = __cil_tmp39 - __cil_tmp35;
3409#line 137
3410  if (__cil_tmp40 < 0L) {
3411    {
3412#line 138
3413    __cil_tmp41 = (struct i2c_client  const  *)client;
3414#line 138
3415    __cil_tmp42 = (u8 )33;
3416#line 138
3417    hyst = i2c_smbus_read_byte_data(__cil_tmp41, __cil_tmp42);
3418    }
3419#line 139
3420    if (hyst < 0) {
3421#line 140
3422      return ((ssize_t )retval);
3423    } else {
3424
3425    }
3426#line 141
3427    __cil_tmp43 = (unsigned long )data;
3428#line 141
3429    __cil_tmp44 = __cil_tmp43 + 80;
3430#line 141
3431    *((u8 *)__cil_tmp44) = (u8 )hyst;
3432#line 142
3433    __cil_tmp45 = (unsigned long )data;
3434#line 142
3435    __cil_tmp46 = __cil_tmp45 + 88;
3436#line 142
3437    __cil_tmp47 = (unsigned long volatile   )250;
3438#line 142
3439    __cil_tmp48 = jiffies + __cil_tmp47;
3440#line 142
3441    *((unsigned long *)__cil_tmp46) = (unsigned long )__cil_tmp48;
3442  } else {
3443
3444  }
3445  }
3446  {
3447#line 144
3448  __cil_tmp49 = (unsigned long )data;
3449#line 144
3450  __cil_tmp50 = __cil_tmp49 + 80;
3451#line 144
3452  __cil_tmp51 = *((u8 *)__cil_tmp50);
3453#line 144
3454  __cil_tmp52 = (int )__cil_tmp51;
3455#line 144
3456  __cil_tmp53 = retval - __cil_tmp52;
3457#line 144
3458  tmp___8 = sprintf(buf, "%d000\n", __cil_tmp53);
3459  }
3460#line 144
3461  return ((ssize_t )tmp___8);
3462}
3463}
3464#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3465static ssize_t store_hyst(struct device *dev , struct device_attribute *attr , char const   *buf ,
3466                          size_t count ) 
3467{ struct i2c_client *client ;
3468  struct device  const  *__mptr ;
3469  struct thermal_data *data ;
3470  void *tmp___7 ;
3471  struct sensor_device_attribute *sda ;
3472  struct device_attribute  const  *__mptr___0 ;
3473  int retval ;
3474  int hyst ;
3475  unsigned long val ;
3476  int tmp___8 ;
3477  int __divisor ;
3478  struct i2c_client *__cil_tmp16 ;
3479  unsigned long __cil_tmp17 ;
3480  unsigned long __cil_tmp18 ;
3481  struct device *__cil_tmp19 ;
3482  unsigned int __cil_tmp20 ;
3483  char *__cil_tmp21 ;
3484  char *__cil_tmp22 ;
3485  struct i2c_client  const  *__cil_tmp23 ;
3486  struct sensor_device_attribute *__cil_tmp24 ;
3487  struct device_attribute *__cil_tmp25 ;
3488  unsigned int __cil_tmp26 ;
3489  char *__cil_tmp27 ;
3490  char *__cil_tmp28 ;
3491  unsigned long __cil_tmp29 ;
3492  unsigned long __cil_tmp30 ;
3493  struct mutex *__cil_tmp31 ;
3494  struct i2c_client  const  *__cil_tmp32 ;
3495  unsigned long __cil_tmp33 ;
3496  unsigned long __cil_tmp34 ;
3497  int __cil_tmp35 ;
3498  u8 __cil_tmp36 ;
3499  int __cil_tmp37 ;
3500  unsigned long __cil_tmp38 ;
3501  unsigned long *__cil_tmp39 ;
3502  unsigned long __cil_tmp40 ;
3503  unsigned long __cil_tmp41 ;
3504  int __cil_tmp42 ;
3505  int __cil_tmp43 ;
3506  struct i2c_client  const  *__cil_tmp44 ;
3507  u8 __cil_tmp45 ;
3508  u8 __cil_tmp46 ;
3509  unsigned long __cil_tmp47 ;
3510  unsigned long __cil_tmp48 ;
3511  unsigned long __cil_tmp49 ;
3512  unsigned long __cil_tmp50 ;
3513  unsigned long volatile   __cil_tmp51 ;
3514  unsigned long volatile   __cil_tmp52 ;
3515  unsigned long __cil_tmp53 ;
3516  unsigned long __cil_tmp54 ;
3517  struct mutex *__cil_tmp55 ;
3518
3519  {
3520  {
3521#line 150
3522  __mptr = (struct device  const  *)dev;
3523#line 150
3524  __cil_tmp16 = (struct i2c_client *)0;
3525#line 150
3526  __cil_tmp17 = (unsigned long )__cil_tmp16;
3527#line 150
3528  __cil_tmp18 = __cil_tmp17 + 40;
3529#line 150
3530  __cil_tmp19 = (struct device *)__cil_tmp18;
3531#line 150
3532  __cil_tmp20 = (unsigned int )__cil_tmp19;
3533#line 150
3534  __cil_tmp21 = (char *)__mptr;
3535#line 150
3536  __cil_tmp22 = __cil_tmp21 - __cil_tmp20;
3537#line 150
3538  client = (struct i2c_client *)__cil_tmp22;
3539#line 151
3540  __cil_tmp23 = (struct i2c_client  const  *)client;
3541#line 151
3542  tmp___7 = i2c_get_clientdata(__cil_tmp23);
3543#line 151
3544  data = (struct thermal_data *)tmp___7;
3545#line 152
3546  __mptr___0 = (struct device_attribute  const  *)attr;
3547#line 152
3548  __cil_tmp24 = (struct sensor_device_attribute *)0;
3549#line 152
3550  __cil_tmp25 = (struct device_attribute *)__cil_tmp24;
3551#line 152
3552  __cil_tmp26 = (unsigned int )__cil_tmp25;
3553#line 152
3554  __cil_tmp27 = (char *)__mptr___0;
3555#line 152
3556  __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
3557#line 152
3558  sda = (struct sensor_device_attribute *)__cil_tmp28;
3559#line 157
3560  tmp___8 = (int )kstrtoul(buf, 10U, & val);
3561  }
3562#line 157
3563  if (tmp___8) {
3564#line 158
3565    return ((ssize_t )-22);
3566  } else {
3567
3568  }
3569  {
3570#line 160
3571  __cil_tmp29 = (unsigned long )data;
3572#line 160
3573  __cil_tmp30 = __cil_tmp29 + 8;
3574#line 160
3575  __cil_tmp31 = (struct mutex *)__cil_tmp30;
3576#line 160
3577  mutex_lock(__cil_tmp31);
3578#line 161
3579  __cil_tmp32 = (struct i2c_client  const  *)client;
3580#line 161
3581  __cil_tmp33 = (unsigned long )sda;
3582#line 161
3583  __cil_tmp34 = __cil_tmp33 + 32;
3584#line 161
3585  __cil_tmp35 = *((int *)__cil_tmp34);
3586#line 161
3587  __cil_tmp36 = (u8 )__cil_tmp35;
3588#line 161
3589  retval = i2c_smbus_read_byte_data(__cil_tmp32, __cil_tmp36);
3590  }
3591#line 162
3592  if (retval < 0) {
3593#line 163
3594    goto fail;
3595  } else {
3596
3597  }
3598#line 165
3599  __cil_tmp37 = retval * 1000;
3600#line 165
3601  __cil_tmp38 = (unsigned long )__cil_tmp37;
3602#line 165
3603  __cil_tmp39 = & val;
3604#line 165
3605  __cil_tmp40 = *__cil_tmp39;
3606#line 165
3607  __cil_tmp41 = __cil_tmp40 - __cil_tmp38;
3608#line 165
3609  hyst = (int )__cil_tmp41;
3610#line 166
3611  __divisor = 1000;
3612#line 166
3613  __cil_tmp42 = __divisor / 2;
3614#line 166
3615  __cil_tmp43 = hyst + __cil_tmp42;
3616#line 166
3617  hyst = __cil_tmp43 / __divisor;
3618#line 167
3619  if (hyst < 0) {
3620#line 168
3621    retval = -34;
3622#line 169
3623    goto fail;
3624  } else
3625#line 167
3626  if (hyst > 255) {
3627#line 168
3628    retval = -34;
3629#line 169
3630    goto fail;
3631  } else {
3632
3633  }
3634  {
3635#line 172
3636  __cil_tmp44 = (struct i2c_client  const  *)client;
3637#line 172
3638  __cil_tmp45 = (u8 )33;
3639#line 172
3640  __cil_tmp46 = (u8 )hyst;
3641#line 172
3642  retval = i2c_smbus_write_byte_data(__cil_tmp44, __cil_tmp45, __cil_tmp46);
3643  }
3644#line 173
3645  if (retval == 0) {
3646#line 174
3647    retval = (int )count;
3648#line 175
3649    __cil_tmp47 = (unsigned long )data;
3650#line 175
3651    __cil_tmp48 = __cil_tmp47 + 80;
3652#line 175
3653    *((u8 *)__cil_tmp48) = (u8 )hyst;
3654#line 176
3655    __cil_tmp49 = (unsigned long )data;
3656#line 176
3657    __cil_tmp50 = __cil_tmp49 + 88;
3658#line 176
3659    __cil_tmp51 = (unsigned long volatile   )250;
3660#line 176
3661    __cil_tmp52 = jiffies + __cil_tmp51;
3662#line 176
3663    *((unsigned long *)__cil_tmp50) = (unsigned long )__cil_tmp52;
3664  } else {
3665
3666  }
3667  fail: 
3668  {
3669#line 179
3670  __cil_tmp53 = (unsigned long )data;
3671#line 179
3672  __cil_tmp54 = __cil_tmp53 + 8;
3673#line 179
3674  __cil_tmp55 = (struct mutex *)__cil_tmp54;
3675#line 179
3676  mutex_unlock(__cil_tmp55);
3677  }
3678#line 180
3679  return ((ssize_t )retval);
3680}
3681}
3682#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3683static struct sensor_device_attribute sensor_dev_attr_temp1_min  =    {{{"temp1_min", (umode_t )420}, & show_temp, & store_temp}, 6};
3684#line 189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3685static struct sensor_device_attribute sensor_dev_attr_temp1_max  =    {{{"temp1_max", (umode_t )420}, & show_temp, & store_temp}, 5};
3686#line 191 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3687static struct sensor_device_attribute sensor_dev_attr_temp1_crit  =    {{{"temp1_crit", (umode_t )420}, & show_temp, & store_temp}, 32};
3688#line 193 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3689static struct sensor_device_attribute sensor_dev_attr_temp1_input  =    {{{"temp1_input", (umode_t )292}, & show_temp, (ssize_t (*)(struct device *dev ,
3690                                                               struct device_attribute *attr ,
3691                                                               char const   *buf ,
3692                                                               size_t count ))((void *)0)},
3693    0};
3694#line 194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3695static struct sensor_device_attribute_2 sensor_dev_attr_temp1_min_alarm  =    {{{"temp1_min_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3696                                                                  struct device_attribute *attr ,
3697                                                                  char const   *buf ,
3698                                                                  size_t count ))((void *)0)},
3699    (u8 )1, (u8 )54};
3700#line 196 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3701static struct sensor_device_attribute_2 sensor_dev_attr_temp1_max_alarm  =    {{{"temp1_max_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3702                                                                  struct device_attribute *attr ,
3703                                                                  char const   *buf ,
3704                                                                  size_t count ))((void *)0)},
3705    (u8 )1, (u8 )53};
3706#line 198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3707static struct sensor_device_attribute_2 sensor_dev_attr_temp1_crit_alarm  =    {{{"temp1_crit_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3708                                                                   struct device_attribute *attr ,
3709                                                                   char const   *buf ,
3710                                                                   size_t count ))((void *)0)},
3711    (u8 )1, (u8 )55};
3712#line 200 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3713static struct sensor_device_attribute sensor_dev_attr_temp1_crit_hyst  =    {{{"temp1_crit_hyst", (umode_t )420}, & show_hyst, & store_hyst}, 32};
3714#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3715static struct sensor_device_attribute sensor_dev_attr_temp2_min  =    {{{"temp2_min", (umode_t )420}, & show_temp, & store_temp}, 8};
3716#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3717static struct sensor_device_attribute sensor_dev_attr_temp2_max  =    {{{"temp2_max", (umode_t )420}, & show_temp, & store_temp}, 7};
3718#line 207 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3719static struct sensor_device_attribute sensor_dev_attr_temp2_crit  =    {{{"temp2_crit", (umode_t )420}, & show_temp, & store_temp}, 25};
3720#line 209 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3721static struct sensor_device_attribute sensor_dev_attr_temp2_input  =    {{{"temp2_input", (umode_t )292}, & show_temp, (ssize_t (*)(struct device *dev ,
3722                                                               struct device_attribute *attr ,
3723                                                               char const   *buf ,
3724                                                               size_t count ))((void *)0)},
3725    1};
3726#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3727static struct sensor_device_attribute_2 sensor_dev_attr_temp2_min_alarm  =    {{{"temp2_min_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3728                                                                  struct device_attribute *attr ,
3729                                                                  char const   *buf ,
3730                                                                  size_t count ))((void *)0)},
3731    (u8 )2, (u8 )54};
3732#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3733static struct sensor_device_attribute_2 sensor_dev_attr_temp2_max_alarm  =    {{{"temp2_max_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3734                                                                  struct device_attribute *attr ,
3735                                                                  char const   *buf ,
3736                                                                  size_t count ))((void *)0)},
3737    (u8 )2, (u8 )53};
3738#line 214 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3739static struct sensor_device_attribute_2 sensor_dev_attr_temp2_crit_alarm  =    {{{"temp2_crit_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3740                                                                   struct device_attribute *attr ,
3741                                                                   char const   *buf ,
3742                                                                   size_t count ))((void *)0)},
3743    (u8 )2, (u8 )55};
3744#line 216 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3745static struct sensor_device_attribute sensor_dev_attr_temp2_crit_hyst  =    {{{"temp2_crit_hyst", (umode_t )420}, & show_hyst, & store_hyst}, 25};
3746#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3747static struct sensor_device_attribute sensor_dev_attr_temp3_min  =    {{{"temp3_min", (umode_t )420}, & show_temp, & store_temp}, 22};
3748#line 221 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3749static struct sensor_device_attribute sensor_dev_attr_temp3_max  =    {{{"temp3_max", (umode_t )420}, & show_temp, & store_temp}, 21};
3750#line 223 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3751static struct sensor_device_attribute sensor_dev_attr_temp3_crit  =    {{{"temp3_crit", (umode_t )420}, & show_temp, & store_temp}, 26};
3752#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3753static struct sensor_device_attribute sensor_dev_attr_temp3_input  =    {{{"temp3_input", (umode_t )292}, & show_temp, (ssize_t (*)(struct device *dev ,
3754                                                               struct device_attribute *attr ,
3755                                                               char const   *buf ,
3756                                                               size_t count ))((void *)0)},
3757    35};
3758#line 226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3759static struct sensor_device_attribute_2 sensor_dev_attr_temp3_min_alarm  =    {{{"temp3_min_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3760                                                                  struct device_attribute *attr ,
3761                                                                  char const   *buf ,
3762                                                                  size_t count ))((void *)0)},
3763    (u8 )4, (u8 )54};
3764#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3765static struct sensor_device_attribute_2 sensor_dev_attr_temp3_max_alarm  =    {{{"temp3_max_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3766                                                                  struct device_attribute *attr ,
3767                                                                  char const   *buf ,
3768                                                                  size_t count ))((void *)0)},
3769    (u8 )4, (u8 )53};
3770#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3771static struct sensor_device_attribute_2 sensor_dev_attr_temp3_crit_alarm  =    {{{"temp3_crit_alarm", (umode_t )292}, & show_bit, (ssize_t (*)(struct device *dev ,
3772                                                                   struct device_attribute *attr ,
3773                                                                   char const   *buf ,
3774                                                                   size_t count ))((void *)0)},
3775    (u8 )4, (u8 )55};
3776#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3777static struct sensor_device_attribute sensor_dev_attr_temp3_crit_hyst  =    {{{"temp3_crit_hyst", (umode_t )420}, & show_hyst, & store_hyst}, 26};
3778#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3779static struct sensor_device_attribute_2 sensor_dev_attr_power_state  =    {{{"power_state", (umode_t )420}, & show_bit, & store_bit}, (u8 )64, (u8 )3};
3780#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3781static struct attribute *mid_att_thermal[26]  = 
3782#line 238
3783  {      & sensor_dev_attr_temp1_min.dev_attr.attr,      & sensor_dev_attr_temp1_max.dev_attr.attr,      & sensor_dev_attr_temp1_crit.dev_attr.attr,      & sensor_dev_attr_temp1_input.dev_attr.attr, 
3784        & sensor_dev_attr_temp1_min_alarm.dev_attr.attr,      & sensor_dev_attr_temp1_max_alarm.dev_attr.attr,      & sensor_dev_attr_temp1_crit_alarm.dev_attr.attr,      & sensor_dev_attr_temp1_crit_hyst.dev_attr.attr, 
3785        & sensor_dev_attr_temp2_min.dev_attr.attr,      & sensor_dev_attr_temp2_max.dev_attr.attr,      & sensor_dev_attr_temp2_crit.dev_attr.attr,      & sensor_dev_attr_temp2_input.dev_attr.attr, 
3786        & sensor_dev_attr_temp2_min_alarm.dev_attr.attr,      & sensor_dev_attr_temp2_max_alarm.dev_attr.attr,      & sensor_dev_attr_temp2_crit_alarm.dev_attr.attr,      & sensor_dev_attr_temp2_crit_hyst.dev_attr.attr, 
3787        & sensor_dev_attr_temp3_min.dev_attr.attr,      & sensor_dev_attr_temp3_max.dev_attr.attr,      & sensor_dev_attr_temp3_crit.dev_attr.attr,      & sensor_dev_attr_temp3_input.dev_attr.attr, 
3788        & sensor_dev_attr_temp3_min_alarm.dev_attr.attr,      & sensor_dev_attr_temp3_max_alarm.dev_attr.attr,      & sensor_dev_attr_temp3_crit_alarm.dev_attr.attr,      & sensor_dev_attr_temp3_crit_hyst.dev_attr.attr, 
3789        & sensor_dev_attr_power_state.dev_attr.attr,      (struct attribute *)((void *)0)};
3790#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3791static struct attribute_group  const  m_thermal_gr  =    {(char const   *)0, (umode_t (*)(struct kobject * , struct attribute * , int  ))0,
3792    mid_att_thermal};
3793#line 271 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3794static int emc1403_detect(struct i2c_client *client , struct i2c_board_info *info ) 
3795{ int id ;
3796  struct i2c_client  const  *__cil_tmp4 ;
3797  u8 __cil_tmp5 ;
3798  struct i2c_client  const  *__cil_tmp6 ;
3799  u8 __cil_tmp7 ;
3800  unsigned long __cil_tmp8 ;
3801  unsigned long __cil_tmp9 ;
3802  unsigned long __cil_tmp10 ;
3803  unsigned long __cil_tmp11 ;
3804  char *__cil_tmp12 ;
3805  size_t __cil_tmp13 ;
3806  unsigned long __cil_tmp14 ;
3807  unsigned long __cil_tmp15 ;
3808  unsigned long __cil_tmp16 ;
3809  unsigned long __cil_tmp17 ;
3810  char *__cil_tmp18 ;
3811  size_t __cil_tmp19 ;
3812  struct i2c_client  const  *__cil_tmp20 ;
3813  u8 __cil_tmp21 ;
3814
3815  {
3816  {
3817#line 277
3818  __cil_tmp4 = (struct i2c_client  const  *)client;
3819#line 277
3820  __cil_tmp5 = (u8 )254;
3821#line 277
3822  id = i2c_smbus_read_byte_data(__cil_tmp4, __cil_tmp5);
3823  }
3824#line 278
3825  if (id != 93) {
3826#line 279
3827    return (-19);
3828  } else {
3829
3830  }
3831  {
3832#line 281
3833  __cil_tmp6 = (struct i2c_client  const  *)client;
3834#line 281
3835  __cil_tmp7 = (u8 )253;
3836#line 281
3837  id = i2c_smbus_read_byte_data(__cil_tmp6, __cil_tmp7);
3838  }
3839#line 283
3840  if (id == 33) {
3841#line 283
3842    goto case_33;
3843  } else
3844#line 286
3845  if (id == 35) {
3846#line 286
3847    goto case_35;
3848  } else {
3849    {
3850#line 293
3851    goto switch_default;
3852#line 282
3853    if (0) {
3854      case_33: /* CIL Label */ 
3855      {
3856#line 284
3857      __cil_tmp8 = 0 * 1UL;
3858#line 284
3859      __cil_tmp9 = 0 + __cil_tmp8;
3860#line 284
3861      __cil_tmp10 = (unsigned long )info;
3862#line 284
3863      __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3864#line 284
3865      __cil_tmp12 = (char *)__cil_tmp11;
3866#line 284
3867      __cil_tmp13 = (size_t )20;
3868#line 284
3869      strlcpy(__cil_tmp12, "emc1403", __cil_tmp13);
3870      }
3871#line 285
3872      goto switch_break;
3873      case_35: /* CIL Label */ 
3874      {
3875#line 287
3876      __cil_tmp14 = 0 * 1UL;
3877#line 287
3878      __cil_tmp15 = 0 + __cil_tmp14;
3879#line 287
3880      __cil_tmp16 = (unsigned long )info;
3881#line 287
3882      __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
3883#line 287
3884      __cil_tmp18 = (char *)__cil_tmp17;
3885#line 287
3886      __cil_tmp19 = (size_t )20;
3887#line 287
3888      strlcpy(__cil_tmp18, "emc1423", __cil_tmp19);
3889      }
3890#line 288
3891      goto switch_break;
3892      switch_default: /* CIL Label */ 
3893#line 294
3894      return (-19);
3895    } else {
3896      switch_break: /* CIL Label */ ;
3897    }
3898    }
3899  }
3900  {
3901#line 297
3902  __cil_tmp20 = (struct i2c_client  const  *)client;
3903#line 297
3904  __cil_tmp21 = (u8 )255;
3905#line 297
3906  id = i2c_smbus_read_byte_data(__cil_tmp20, __cil_tmp21);
3907  }
3908#line 298
3909  if (id != 1) {
3910#line 299
3911    return (-19);
3912  } else {
3913
3914  }
3915#line 301
3916  return (0);
3917}
3918}
3919#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3920static struct lock_class_key __key___3  ;
3921#line 304 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
3922static int emc1403_probe(struct i2c_client *client , struct i2c_device_id  const  *id ) 
3923{ int res ;
3924  struct thermal_data *data ;
3925  void *tmp___7 ;
3926  long tmp___8 ;
3927  long tmp___9 ;
3928  void *__cil_tmp8 ;
3929  unsigned long __cil_tmp9 ;
3930  unsigned long __cil_tmp10 ;
3931  unsigned long __cil_tmp11 ;
3932  unsigned long __cil_tmp12 ;
3933  struct device *__cil_tmp13 ;
3934  struct device  const  *__cil_tmp14 ;
3935  void *__cil_tmp15 ;
3936  unsigned long __cil_tmp16 ;
3937  unsigned long __cil_tmp17 ;
3938  struct mutex *__cil_tmp18 ;
3939  unsigned long __cil_tmp19 ;
3940  unsigned long __cil_tmp20 ;
3941  unsigned long volatile   __cil_tmp21 ;
3942  unsigned long volatile   __cil_tmp22 ;
3943  unsigned long __cil_tmp23 ;
3944  unsigned long __cil_tmp24 ;
3945  unsigned long __cil_tmp25 ;
3946  struct kobject *__cil_tmp26 ;
3947  unsigned long __cil_tmp27 ;
3948  unsigned long __cil_tmp28 ;
3949  struct device *__cil_tmp29 ;
3950  struct device  const  *__cil_tmp30 ;
3951  unsigned long __cil_tmp31 ;
3952  unsigned long __cil_tmp32 ;
3953  struct device *__cil_tmp33 ;
3954  struct device *__cil_tmp34 ;
3955  void const   *__cil_tmp35 ;
3956  struct device *__cil_tmp36 ;
3957  void const   *__cil_tmp37 ;
3958  unsigned long __cil_tmp38 ;
3959  unsigned long __cil_tmp39 ;
3960  struct device *__cil_tmp40 ;
3961  struct device  const  *__cil_tmp41 ;
3962  unsigned long __cil_tmp42 ;
3963  unsigned long __cil_tmp43 ;
3964  struct device *__cil_tmp44 ;
3965  struct device  const  *__cil_tmp45 ;
3966  unsigned long __cil_tmp46 ;
3967  unsigned long __cil_tmp47 ;
3968  unsigned long __cil_tmp48 ;
3969  struct kobject *__cil_tmp49 ;
3970  void const   *__cil_tmp50 ;
3971
3972  {
3973  {
3974#line 310
3975  tmp___7 = kzalloc(96UL, 208U);
3976#line 310
3977  data = (struct thermal_data *)tmp___7;
3978  }
3979  {
3980#line 311
3981  __cil_tmp8 = (void *)0;
3982#line 311
3983  __cil_tmp9 = (unsigned long )__cil_tmp8;
3984#line 311
3985  __cil_tmp10 = (unsigned long )data;
3986#line 311
3987  if (__cil_tmp10 == __cil_tmp9) {
3988    {
3989#line 312
3990    __cil_tmp11 = (unsigned long )client;
3991#line 312
3992    __cil_tmp12 = __cil_tmp11 + 40;
3993#line 312
3994    __cil_tmp13 = (struct device *)__cil_tmp12;
3995#line 312
3996    __cil_tmp14 = (struct device  const  *)__cil_tmp13;
3997#line 312
3998    dev_warn(__cil_tmp14, "out of memory");
3999    }
4000#line 313
4001    return (-12);
4002  } else {
4003
4004  }
4005  }
4006  {
4007#line 316
4008  __cil_tmp15 = (void *)data;
4009#line 316
4010  i2c_set_clientdata(client, __cil_tmp15);
4011  }
4012  {
4013#line 317
4014  while (1) {
4015    while_continue: /* CIL Label */ ;
4016    {
4017#line 317
4018    __cil_tmp16 = (unsigned long )data;
4019#line 317
4020    __cil_tmp17 = __cil_tmp16 + 8;
4021#line 317
4022    __cil_tmp18 = (struct mutex *)__cil_tmp17;
4023#line 317
4024    __mutex_init(__cil_tmp18, "&data->mutex", & __key___3);
4025    }
4026#line 317
4027    goto while_break;
4028  }
4029  while_break: /* CIL Label */ ;
4030  }
4031  {
4032#line 318
4033  __cil_tmp19 = (unsigned long )data;
4034#line 318
4035  __cil_tmp20 = __cil_tmp19 + 88;
4036#line 318
4037  __cil_tmp21 = (unsigned long volatile   )1;
4038#line 318
4039  __cil_tmp22 = jiffies - __cil_tmp21;
4040#line 318
4041  *((unsigned long *)__cil_tmp20) = (unsigned long )__cil_tmp22;
4042#line 320
4043  __cil_tmp23 = 40 + 16;
4044#line 320
4045  __cil_tmp24 = (unsigned long )client;
4046#line 320
4047  __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
4048#line 320
4049  __cil_tmp26 = (struct kobject *)__cil_tmp25;
4050#line 320
4051  res = (int )sysfs_create_group(__cil_tmp26, & m_thermal_gr);
4052  }
4053#line 321
4054  if (res) {
4055    {
4056#line 322
4057    __cil_tmp27 = (unsigned long )client;
4058#line 322
4059    __cil_tmp28 = __cil_tmp27 + 40;
4060#line 322
4061    __cil_tmp29 = (struct device *)__cil_tmp28;
4062#line 322
4063    __cil_tmp30 = (struct device  const  *)__cil_tmp29;
4064#line 322
4065    dev_warn(__cil_tmp30, "create group failed\n");
4066    }
4067#line 323
4068    goto thermal_error1;
4069  } else {
4070
4071  }
4072  {
4073#line 325
4074  __cil_tmp31 = (unsigned long )client;
4075#line 325
4076  __cil_tmp32 = __cil_tmp31 + 40;
4077#line 325
4078  __cil_tmp33 = (struct device *)__cil_tmp32;
4079#line 325
4080  *((struct device **)data) = hwmon_device_register(__cil_tmp33);
4081#line 326
4082  __cil_tmp34 = *((struct device **)data);
4083#line 326
4084  __cil_tmp35 = (void const   *)__cil_tmp34;
4085#line 326
4086  tmp___9 = (long )IS_ERR(__cil_tmp35);
4087  }
4088#line 326
4089  if (tmp___9) {
4090    {
4091#line 327
4092    __cil_tmp36 = *((struct device **)data);
4093#line 327
4094    __cil_tmp37 = (void const   *)__cil_tmp36;
4095#line 327
4096    tmp___8 = (long )PTR_ERR(__cil_tmp37);
4097#line 327
4098    res = (int )tmp___8;
4099#line 328
4100    __cil_tmp38 = (unsigned long )client;
4101#line 328
4102    __cil_tmp39 = __cil_tmp38 + 40;
4103#line 328
4104    __cil_tmp40 = (struct device *)__cil_tmp39;
4105#line 328
4106    __cil_tmp41 = (struct device  const  *)__cil_tmp40;
4107#line 328
4108    dev_warn(__cil_tmp41, "register hwmon dev failed\n");
4109    }
4110#line 329
4111    goto thermal_error2;
4112  } else {
4113
4114  }
4115  {
4116#line 331
4117  __cil_tmp42 = (unsigned long )client;
4118#line 331
4119  __cil_tmp43 = __cil_tmp42 + 40;
4120#line 331
4121  __cil_tmp44 = (struct device *)__cil_tmp43;
4122#line 331
4123  __cil_tmp45 = (struct device  const  *)__cil_tmp44;
4124#line 331
4125  _dev_info(__cil_tmp45, "EMC1403 Thermal chip found\n");
4126  }
4127#line 332
4128  return (res);
4129  thermal_error2: 
4130  {
4131#line 335
4132  __cil_tmp46 = 40 + 16;
4133#line 335
4134  __cil_tmp47 = (unsigned long )client;
4135#line 335
4136  __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
4137#line 335
4138  __cil_tmp49 = (struct kobject *)__cil_tmp48;
4139#line 335
4140  sysfs_remove_group(__cil_tmp49, & m_thermal_gr);
4141  }
4142  thermal_error1: 
4143  {
4144#line 337
4145  __cil_tmp50 = (void const   *)data;
4146#line 337
4147  kfree(__cil_tmp50);
4148  }
4149#line 338
4150  return (res);
4151}
4152}
4153#line 341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4154static int emc1403_remove(struct i2c_client *client ) 
4155{ struct thermal_data *data ;
4156  void *tmp___7 ;
4157  struct i2c_client  const  *__cil_tmp4 ;
4158  struct device *__cil_tmp5 ;
4159  unsigned long __cil_tmp6 ;
4160  unsigned long __cil_tmp7 ;
4161  unsigned long __cil_tmp8 ;
4162  struct kobject *__cil_tmp9 ;
4163  void const   *__cil_tmp10 ;
4164
4165  {
4166  {
4167#line 343
4168  __cil_tmp4 = (struct i2c_client  const  *)client;
4169#line 343
4170  tmp___7 = i2c_get_clientdata(__cil_tmp4);
4171#line 343
4172  data = (struct thermal_data *)tmp___7;
4173#line 345
4174  __cil_tmp5 = *((struct device **)data);
4175#line 345
4176  hwmon_device_unregister(__cil_tmp5);
4177#line 346
4178  __cil_tmp6 = 40 + 16;
4179#line 346
4180  __cil_tmp7 = (unsigned long )client;
4181#line 346
4182  __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
4183#line 346
4184  __cil_tmp9 = (struct kobject *)__cil_tmp8;
4185#line 346
4186  sysfs_remove_group(__cil_tmp9, & m_thermal_gr);
4187#line 347
4188  __cil_tmp10 = (void const   *)data;
4189#line 347
4190  kfree(__cil_tmp10);
4191  }
4192#line 348
4193  return (0);
4194}
4195}
4196#line 351 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4197static unsigned short const   emc1403_address_list[5]  = {      (unsigned short const   )24,      (unsigned short const   )41,      (unsigned short const   )76,      (unsigned short const   )77, 
4198        (unsigned short const   )65534U};
4199#line 355 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4200static struct i2c_device_id  const  emc1403_idtable[2]  = {      {{(char )'e', (char )'m', (char )'c', (char )'1', (char )'4', (char )'0', (char )'3',
4201       (char )'\000', (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
4202       (char)0, (char)0, (char)0, (char)0, (char)0}, (kernel_ulong_t )0}, 
4203        {{(char )'e', (char )'m', (char )'c', (char )'1', (char )'4', (char )'2', (char )'3',
4204       (char )'\000', (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
4205       (char)0, (char)0, (char)0, (char)0, (char)0}, (kernel_ulong_t )0}};
4206#line 360
4207extern struct i2c_device_id  const  __mod_i2c_device_table  __attribute__((__unused__,
4208__alias__("emc1403_idtable"))) ;
4209#line 362 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4210static struct i2c_driver sensor_emc1403  = 
4211#line 362
4212     {1U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & emc1403_probe,
4213    & emc1403_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
4214                                                                  pm_message_t mesg ))0,
4215    (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int data ))0,
4216    (int (*)(struct i2c_client *client , unsigned int cmd , void *arg ))0, {"emc1403",
4217                                                                            (struct bus_type *)0,
4218                                                                            (struct module *)0,
4219                                                                            (char const   *)0,
4220                                                                            (_Bool)0,
4221                                                                            (struct of_device_id  const  *)0,
4222                                                                            (int (*)(struct device *dev ))0,
4223                                                                            (int (*)(struct device *dev ))0,
4224                                                                            (void (*)(struct device *dev ))0,
4225                                                                            (int (*)(struct device *dev ,
4226                                                                                     pm_message_t state ))0,
4227                                                                            (int (*)(struct device *dev ))0,
4228                                                                            (struct attribute_group  const  **)0,
4229                                                                            (struct dev_pm_ops  const  *)0,
4230                                                                            (struct driver_private *)0},
4231    emc1403_idtable, & emc1403_detect, emc1403_address_list, {(struct list_head *)0,
4232                                                              (struct list_head *)0}};
4233#line 374
4234static int sensor_emc1403_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
4235#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4236static int sensor_emc1403_init(void) 
4237{ int tmp___7 ;
4238
4239  {
4240  {
4241#line 374
4242  tmp___7 = i2c_register_driver(& __this_module, & sensor_emc1403);
4243  }
4244#line 374
4245  return (tmp___7);
4246}
4247}
4248#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4249int init_module(void) 
4250{ int tmp___7 ;
4251
4252  {
4253  {
4254#line 374
4255  tmp___7 = sensor_emc1403_init();
4256  }
4257#line 374
4258  return (tmp___7);
4259}
4260}
4261#line 374
4262static void sensor_emc1403_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
4263#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4264static void sensor_emc1403_exit(void) 
4265{ 
4266
4267  {
4268  {
4269#line 374
4270  i2c_del_driver(& sensor_emc1403);
4271  }
4272#line 374
4273  return;
4274}
4275}
4276#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4277void cleanup_module(void) 
4278{ 
4279
4280  {
4281  {
4282#line 374
4283  sensor_emc1403_exit();
4284  }
4285#line 374
4286  return;
4287}
4288}
4289#line 376 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4290static char const   __mod_author376[46]  __attribute__((__used__, __unused__, __section__(".modinfo"),
4291__aligned__(1)))  = 
4292#line 376
4293  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
4294        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'K', 
4295        (char const   )'a',      (char const   )'l',      (char const   )'h',      (char const   )'a', 
4296        (char const   )'n',      (char const   )' ',      (char const   )'T',      (char const   )'r', 
4297        (char const   )'i',      (char const   )'s',      (char const   )'a',      (char const   )'l', 
4298        (char const   )' ',      (char const   )'<',      (char const   )'k',      (char const   )'a', 
4299        (char const   )'l',      (char const   )'h',      (char const   )'a',      (char const   )'n', 
4300        (char const   )'.',      (char const   )'t',      (char const   )'r',      (char const   )'i', 
4301        (char const   )'s',      (char const   )'a',      (char const   )'l',      (char const   )'@', 
4302        (char const   )'i',      (char const   )'n',      (char const   )'t',      (char const   )'e', 
4303        (char const   )'l',      (char const   )'.',      (char const   )'c',      (char const   )'o', 
4304        (char const   )'m',      (char const   )'\000'};
4305#line 377 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4306static char const   __mod_description377[35]  __attribute__((__used__, __unused__,
4307__section__(".modinfo"), __aligned__(1)))  = 
4308#line 377
4309  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
4310        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
4311        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
4312        (char const   )'e',      (char const   )'m',      (char const   )'c',      (char const   )'1', 
4313        (char const   )'4',      (char const   )'0',      (char const   )'3',      (char const   )' ', 
4314        (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )'r', 
4315        (char const   )'m',      (char const   )'a',      (char const   )'l',      (char const   )' ', 
4316        (char const   )'D',      (char const   )'r',      (char const   )'i',      (char const   )'v', 
4317        (char const   )'e',      (char const   )'r',      (char const   )'\000'};
4318#line 378 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4319static char const   __mod_license378[15]  __attribute__((__used__, __unused__, __section__(".modinfo"),
4320__aligned__(1)))  = 
4321#line 378
4322  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
4323        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
4324        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )' ', 
4325        (char const   )'v',      (char const   )'2',      (char const   )'\000'};
4326#line 396
4327void ldv_check_final_state(void) ;
4328#line 399
4329extern void ldv_check_return_value(int res ) ;
4330#line 402
4331extern void ldv_initialize(void) ;
4332#line 405
4333extern int __VERIFIER_nondet_int(void) ;
4334#line 408 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4335int LDV_IN_INTERRUPT  ;
4336#line 437 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4337static int res_emc1403_probe_7  ;
4338#line 445 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4339static int res_emc1403_remove_8  ;
4340#line 411 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4341void main(void) 
4342{ struct i2c_client *var_group1 ;
4343  struct i2c_board_info *var_group2 ;
4344  struct i2c_device_id  const  *var_emc1403_probe_7_p1 ;
4345  int ldv_s_sensor_emc1403_i2c_driver ;
4346  int tmp___7 ;
4347  int tmp___8 ;
4348  int __cil_tmp7 ;
4349
4350  {
4351  {
4352#line 453
4353  LDV_IN_INTERRUPT = 1;
4354#line 462
4355  ldv_initialize();
4356#line 463
4357  ldv_s_sensor_emc1403_i2c_driver = 0;
4358  }
4359  {
4360#line 467
4361  while (1) {
4362    while_continue: /* CIL Label */ ;
4363    {
4364#line 467
4365    tmp___8 = __VERIFIER_nondet_int();
4366    }
4367#line 467
4368    if (tmp___8) {
4369
4370    } else {
4371      {
4372#line 467
4373      __cil_tmp7 = ldv_s_sensor_emc1403_i2c_driver == 0;
4374#line 467
4375      if (! __cil_tmp7) {
4376
4377      } else {
4378#line 467
4379        goto while_break;
4380      }
4381      }
4382    }
4383    {
4384#line 471
4385    tmp___7 = __VERIFIER_nondet_int();
4386    }
4387#line 473
4388    if (tmp___7 == 0) {
4389#line 473
4390      goto case_0;
4391    } else
4392#line 496
4393    if (tmp___7 == 1) {
4394#line 496
4395      goto case_1;
4396    } else
4397#line 519
4398    if (tmp___7 == 2) {
4399#line 519
4400      goto case_2;
4401    } else {
4402      {
4403#line 539
4404      goto switch_default;
4405#line 471
4406      if (0) {
4407        case_0: /* CIL Label */ 
4408#line 476
4409        if (ldv_s_sensor_emc1403_i2c_driver == 0) {
4410          {
4411#line 485
4412          res_emc1403_probe_7 = emc1403_probe(var_group1, var_emc1403_probe_7_p1);
4413#line 486
4414          ldv_check_return_value(res_emc1403_probe_7);
4415          }
4416#line 487
4417          if (res_emc1403_probe_7) {
4418#line 488
4419            goto ldv_module_exit;
4420          } else {
4421
4422          }
4423#line 489
4424          ldv_s_sensor_emc1403_i2c_driver = ldv_s_sensor_emc1403_i2c_driver + 1;
4425        } else {
4426
4427        }
4428#line 495
4429        goto switch_break;
4430        case_1: /* CIL Label */ 
4431#line 499
4432        if (ldv_s_sensor_emc1403_i2c_driver == 1) {
4433          {
4434#line 508
4435          res_emc1403_remove_8 = emc1403_remove(var_group1);
4436#line 509
4437          ldv_check_return_value(res_emc1403_remove_8);
4438          }
4439#line 510
4440          if (res_emc1403_remove_8) {
4441#line 511
4442            goto ldv_module_exit;
4443          } else {
4444
4445          }
4446#line 512
4447          ldv_s_sensor_emc1403_i2c_driver = 0;
4448        } else {
4449
4450        }
4451#line 518
4452        goto switch_break;
4453        case_2: /* CIL Label */ 
4454        {
4455#line 531
4456        emc1403_detect(var_group1, var_group2);
4457        }
4458#line 538
4459        goto switch_break;
4460        switch_default: /* CIL Label */ 
4461#line 539
4462        goto switch_break;
4463      } else {
4464        switch_break: /* CIL Label */ ;
4465      }
4466      }
4467    }
4468  }
4469  while_break: /* CIL Label */ ;
4470  }
4471  ldv_module_exit: 
4472  {
4473#line 548
4474  ldv_check_final_state();
4475  }
4476#line 551
4477  return;
4478}
4479}
4480#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
4481void ldv_blast_assert(void) 
4482{ 
4483
4484  {
4485  ERROR: 
4486#line 6
4487  goto ERROR;
4488}
4489}
4490#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
4491extern int __VERIFIER_nondet_int(void) ;
4492#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4493int ldv_mutex  =    1;
4494#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4495int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
4496{ int nondetermined ;
4497
4498  {
4499#line 29
4500  if (ldv_mutex == 1) {
4501
4502  } else {
4503    {
4504#line 29
4505    ldv_blast_assert();
4506    }
4507  }
4508  {
4509#line 32
4510  nondetermined = __VERIFIER_nondet_int();
4511  }
4512#line 35
4513  if (nondetermined) {
4514#line 38
4515    ldv_mutex = 2;
4516#line 40
4517    return (0);
4518  } else {
4519#line 45
4520    return (-4);
4521  }
4522}
4523}
4524#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4525int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
4526{ int nondetermined ;
4527
4528  {
4529#line 57
4530  if (ldv_mutex == 1) {
4531
4532  } else {
4533    {
4534#line 57
4535    ldv_blast_assert();
4536    }
4537  }
4538  {
4539#line 60
4540  nondetermined = __VERIFIER_nondet_int();
4541  }
4542#line 63
4543  if (nondetermined) {
4544#line 66
4545    ldv_mutex = 2;
4546#line 68
4547    return (0);
4548  } else {
4549#line 73
4550    return (-4);
4551  }
4552}
4553}
4554#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4555int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
4556{ int atomic_value_after_dec ;
4557
4558  {
4559#line 83
4560  if (ldv_mutex == 1) {
4561
4562  } else {
4563    {
4564#line 83
4565    ldv_blast_assert();
4566    }
4567  }
4568  {
4569#line 86
4570  atomic_value_after_dec = __VERIFIER_nondet_int();
4571  }
4572#line 89
4573  if (atomic_value_after_dec == 0) {
4574#line 92
4575    ldv_mutex = 2;
4576#line 94
4577    return (1);
4578  } else {
4579
4580  }
4581#line 98
4582  return (0);
4583}
4584}
4585#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4586void mutex_lock(struct mutex *lock ) 
4587{ 
4588
4589  {
4590#line 108
4591  if (ldv_mutex == 1) {
4592
4593  } else {
4594    {
4595#line 108
4596    ldv_blast_assert();
4597    }
4598  }
4599#line 110
4600  ldv_mutex = 2;
4601#line 111
4602  return;
4603}
4604}
4605#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4606int mutex_trylock(struct mutex *lock ) 
4607{ int nondetermined ;
4608
4609  {
4610#line 121
4611  if (ldv_mutex == 1) {
4612
4613  } else {
4614    {
4615#line 121
4616    ldv_blast_assert();
4617    }
4618  }
4619  {
4620#line 124
4621  nondetermined = __VERIFIER_nondet_int();
4622  }
4623#line 127
4624  if (nondetermined) {
4625#line 130
4626    ldv_mutex = 2;
4627#line 132
4628    return (1);
4629  } else {
4630#line 137
4631    return (0);
4632  }
4633}
4634}
4635#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4636void mutex_unlock(struct mutex *lock ) 
4637{ 
4638
4639  {
4640#line 147
4641  if (ldv_mutex == 2) {
4642
4643  } else {
4644    {
4645#line 147
4646    ldv_blast_assert();
4647    }
4648  }
4649#line 149
4650  ldv_mutex = 1;
4651#line 150
4652  return;
4653}
4654}
4655#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4656void ldv_check_final_state(void) 
4657{ 
4658
4659  {
4660#line 156
4661  if (ldv_mutex == 1) {
4662
4663  } else {
4664    {
4665#line 156
4666    ldv_blast_assert();
4667    }
4668  }
4669#line 157
4670  return;
4671}
4672}
4673#line 560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/6036/dscv_tempdir/dscv/ri/32_1/drivers/hwmon/emc1403.c.common.c"
4674long s__builtin_expect(long val , long res ) 
4675{ 
4676
4677  {
4678#line 561
4679  return (val);
4680}
4681}