Showing error 894

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


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 23 "include/asm-generic/int-ll64.h"
   5typedef unsigned short __u16;
   6#line 25 "include/asm-generic/int-ll64.h"
   7typedef int __s32;
   8#line 26 "include/asm-generic/int-ll64.h"
   9typedef unsigned int __u32;
  10#line 30 "include/asm-generic/int-ll64.h"
  11typedef unsigned long long __u64;
  12#line 43 "include/asm-generic/int-ll64.h"
  13typedef unsigned char u8;
  14#line 45 "include/asm-generic/int-ll64.h"
  15typedef short s16;
  16#line 46 "include/asm-generic/int-ll64.h"
  17typedef unsigned short u16;
  18#line 48 "include/asm-generic/int-ll64.h"
  19typedef int s32;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 111 "include/linux/types.h"
  75typedef __s32 int32_t;
  76#line 117 "include/linux/types.h"
  77typedef __u32 uint32_t;
  78#line 155 "include/linux/types.h"
  79typedef u64 dma_addr_t;
  80#line 202 "include/linux/types.h"
  81typedef unsigned int gfp_t;
  82#line 221 "include/linux/types.h"
  83struct __anonstruct_atomic_t_6 {
  84   int counter ;
  85};
  86#line 221 "include/linux/types.h"
  87typedef struct __anonstruct_atomic_t_6 atomic_t;
  88#line 226 "include/linux/types.h"
  89struct __anonstruct_atomic64_t_7 {
  90   long counter ;
  91};
  92#line 226 "include/linux/types.h"
  93typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  94#line 227 "include/linux/types.h"
  95struct list_head {
  96   struct list_head *next ;
  97   struct list_head *prev ;
  98};
  99#line 232
 100struct hlist_node;
 101#line 232 "include/linux/types.h"
 102struct hlist_head {
 103   struct hlist_node *first ;
 104};
 105#line 236 "include/linux/types.h"
 106struct hlist_node {
 107   struct hlist_node *next ;
 108   struct hlist_node **pprev ;
 109};
 110#line 247 "include/linux/types.h"
 111struct rcu_head {
 112   struct rcu_head *next ;
 113   void (*func)(struct rcu_head * ) ;
 114};
 115#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 116struct module;
 117#line 55
 118struct module;
 119#line 146 "include/linux/init.h"
 120typedef void (*ctor_fn_t)(void);
 121#line 46 "include/linux/dynamic_debug.h"
 122struct device;
 123#line 46
 124struct device;
 125#line 57
 126struct completion;
 127#line 57
 128struct completion;
 129#line 58
 130struct pt_regs;
 131#line 58
 132struct pt_regs;
 133#line 348 "include/linux/kernel.h"
 134struct pid;
 135#line 348
 136struct pid;
 137#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 138struct timespec;
 139#line 112
 140struct timespec;
 141#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 142struct page;
 143#line 58
 144struct page;
 145#line 26 "include/asm-generic/getorder.h"
 146struct task_struct;
 147#line 26
 148struct task_struct;
 149#line 28
 150struct mm_struct;
 151#line 28
 152struct mm_struct;
 153#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 154struct pt_regs {
 155   unsigned long r15 ;
 156   unsigned long r14 ;
 157   unsigned long r13 ;
 158   unsigned long r12 ;
 159   unsigned long bp ;
 160   unsigned long bx ;
 161   unsigned long r11 ;
 162   unsigned long r10 ;
 163   unsigned long r9 ;
 164   unsigned long r8 ;
 165   unsigned long ax ;
 166   unsigned long cx ;
 167   unsigned long dx ;
 168   unsigned long si ;
 169   unsigned long di ;
 170   unsigned long orig_ax ;
 171   unsigned long ip ;
 172   unsigned long cs ;
 173   unsigned long flags ;
 174   unsigned long sp ;
 175   unsigned long ss ;
 176};
 177#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 178struct __anonstruct_ldv_2180_13 {
 179   unsigned int a ;
 180   unsigned int b ;
 181};
 182#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 183struct __anonstruct_ldv_2195_14 {
 184   u16 limit0 ;
 185   u16 base0 ;
 186   unsigned char base1 ;
 187   unsigned char type : 4 ;
 188   unsigned char s : 1 ;
 189   unsigned char dpl : 2 ;
 190   unsigned char p : 1 ;
 191   unsigned char limit : 4 ;
 192   unsigned char avl : 1 ;
 193   unsigned char l : 1 ;
 194   unsigned char d : 1 ;
 195   unsigned char g : 1 ;
 196   unsigned char base2 ;
 197};
 198#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 199union __anonunion_ldv_2196_12 {
 200   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 201   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 202};
 203#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 204struct desc_struct {
 205   union __anonunion_ldv_2196_12 ldv_2196 ;
 206};
 207#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 208typedef unsigned long pgdval_t;
 209#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 210typedef unsigned long pgprotval_t;
 211#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 212struct pgprot {
 213   pgprotval_t pgprot ;
 214};
 215#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 216typedef struct pgprot pgprot_t;
 217#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 218struct __anonstruct_pgd_t_16 {
 219   pgdval_t pgd ;
 220};
 221#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 222typedef struct __anonstruct_pgd_t_16 pgd_t;
 223#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 224typedef struct page *pgtable_t;
 225#line 290
 226struct file;
 227#line 290
 228struct file;
 229#line 337
 230struct thread_struct;
 231#line 337
 232struct thread_struct;
 233#line 339
 234struct cpumask;
 235#line 339
 236struct cpumask;
 237#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 238struct arch_spinlock;
 239#line 327
 240struct arch_spinlock;
 241#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 242struct kernel_vm86_regs {
 243   struct pt_regs pt ;
 244   unsigned short es ;
 245   unsigned short __esh ;
 246   unsigned short ds ;
 247   unsigned short __dsh ;
 248   unsigned short fs ;
 249   unsigned short __fsh ;
 250   unsigned short gs ;
 251   unsigned short __gsh ;
 252};
 253#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 254union __anonunion_ldv_2824_19 {
 255   struct pt_regs *regs ;
 256   struct kernel_vm86_regs *vm86 ;
 257};
 258#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 259struct math_emu_info {
 260   long ___orig_eip ;
 261   union __anonunion_ldv_2824_19 ldv_2824 ;
 262};
 263#line 306 "include/linux/bitmap.h"
 264struct bug_entry {
 265   int bug_addr_disp ;
 266   int file_disp ;
 267   unsigned short line ;
 268   unsigned short flags ;
 269};
 270#line 89 "include/linux/bug.h"
 271struct cpumask {
 272   unsigned long bits[64U] ;
 273};
 274#line 14 "include/linux/cpumask.h"
 275typedef struct cpumask cpumask_t;
 276#line 637 "include/linux/cpumask.h"
 277typedef struct cpumask *cpumask_var_t;
 278#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 279struct static_key;
 280#line 234
 281struct static_key;
 282#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 283struct i387_fsave_struct {
 284   u32 cwd ;
 285   u32 swd ;
 286   u32 twd ;
 287   u32 fip ;
 288   u32 fcs ;
 289   u32 foo ;
 290   u32 fos ;
 291   u32 st_space[20U] ;
 292   u32 status ;
 293};
 294#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 295struct __anonstruct_ldv_5180_24 {
 296   u64 rip ;
 297   u64 rdp ;
 298};
 299#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 300struct __anonstruct_ldv_5186_25 {
 301   u32 fip ;
 302   u32 fcs ;
 303   u32 foo ;
 304   u32 fos ;
 305};
 306#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 307union __anonunion_ldv_5187_23 {
 308   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 309   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 310};
 311#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 312union __anonunion_ldv_5196_26 {
 313   u32 padding1[12U] ;
 314   u32 sw_reserved[12U] ;
 315};
 316#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 317struct i387_fxsave_struct {
 318   u16 cwd ;
 319   u16 swd ;
 320   u16 twd ;
 321   u16 fop ;
 322   union __anonunion_ldv_5187_23 ldv_5187 ;
 323   u32 mxcsr ;
 324   u32 mxcsr_mask ;
 325   u32 st_space[32U] ;
 326   u32 xmm_space[64U] ;
 327   u32 padding[12U] ;
 328   union __anonunion_ldv_5196_26 ldv_5196 ;
 329};
 330#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 331struct i387_soft_struct {
 332   u32 cwd ;
 333   u32 swd ;
 334   u32 twd ;
 335   u32 fip ;
 336   u32 fcs ;
 337   u32 foo ;
 338   u32 fos ;
 339   u32 st_space[20U] ;
 340   u8 ftop ;
 341   u8 changed ;
 342   u8 lookahead ;
 343   u8 no_update ;
 344   u8 rm ;
 345   u8 alimit ;
 346   struct math_emu_info *info ;
 347   u32 entry_eip ;
 348};
 349#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 350struct ymmh_struct {
 351   u32 ymmh_space[64U] ;
 352};
 353#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 354struct xsave_hdr_struct {
 355   u64 xstate_bv ;
 356   u64 reserved1[2U] ;
 357   u64 reserved2[5U] ;
 358};
 359#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 360struct xsave_struct {
 361   struct i387_fxsave_struct i387 ;
 362   struct xsave_hdr_struct xsave_hdr ;
 363   struct ymmh_struct ymmh ;
 364};
 365#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 366union thread_xstate {
 367   struct i387_fsave_struct fsave ;
 368   struct i387_fxsave_struct fxsave ;
 369   struct i387_soft_struct soft ;
 370   struct xsave_struct xsave ;
 371};
 372#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 373struct fpu {
 374   unsigned int last_cpu ;
 375   unsigned int has_fpu ;
 376   union thread_xstate *state ;
 377};
 378#line 433
 379struct kmem_cache;
 380#line 434
 381struct perf_event;
 382#line 434
 383struct perf_event;
 384#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 385struct thread_struct {
 386   struct desc_struct tls_array[3U] ;
 387   unsigned long sp0 ;
 388   unsigned long sp ;
 389   unsigned long usersp ;
 390   unsigned short es ;
 391   unsigned short ds ;
 392   unsigned short fsindex ;
 393   unsigned short gsindex ;
 394   unsigned long fs ;
 395   unsigned long gs ;
 396   struct perf_event *ptrace_bps[4U] ;
 397   unsigned long debugreg6 ;
 398   unsigned long ptrace_dr7 ;
 399   unsigned long cr2 ;
 400   unsigned long trap_nr ;
 401   unsigned long error_code ;
 402   struct fpu fpu ;
 403   unsigned long *io_bitmap_ptr ;
 404   unsigned long iopl ;
 405   unsigned int io_bitmap_max ;
 406};
 407#line 23 "include/asm-generic/atomic-long.h"
 408typedef atomic64_t atomic_long_t;
 409#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 410typedef u16 __ticket_t;
 411#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 412typedef u32 __ticketpair_t;
 413#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 414struct __raw_tickets {
 415   __ticket_t head ;
 416   __ticket_t tail ;
 417};
 418#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 419union __anonunion_ldv_5907_29 {
 420   __ticketpair_t head_tail ;
 421   struct __raw_tickets tickets ;
 422};
 423#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 424struct arch_spinlock {
 425   union __anonunion_ldv_5907_29 ldv_5907 ;
 426};
 427#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 428typedef struct arch_spinlock arch_spinlock_t;
 429#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 430struct __anonstruct_ldv_5914_31 {
 431   u32 read ;
 432   s32 write ;
 433};
 434#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 435union __anonunion_arch_rwlock_t_30 {
 436   s64 lock ;
 437   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 438};
 439#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 440typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 441#line 34
 442struct lockdep_map;
 443#line 34
 444struct lockdep_map;
 445#line 55 "include/linux/debug_locks.h"
 446struct stack_trace {
 447   unsigned int nr_entries ;
 448   unsigned int max_entries ;
 449   unsigned long *entries ;
 450   int skip ;
 451};
 452#line 26 "include/linux/stacktrace.h"
 453struct lockdep_subclass_key {
 454   char __one_byte ;
 455};
 456#line 53 "include/linux/lockdep.h"
 457struct lock_class_key {
 458   struct lockdep_subclass_key subkeys[8U] ;
 459};
 460#line 59 "include/linux/lockdep.h"
 461struct lock_class {
 462   struct list_head hash_entry ;
 463   struct list_head lock_entry ;
 464   struct lockdep_subclass_key *key ;
 465   unsigned int subclass ;
 466   unsigned int dep_gen_id ;
 467   unsigned long usage_mask ;
 468   struct stack_trace usage_traces[13U] ;
 469   struct list_head locks_after ;
 470   struct list_head locks_before ;
 471   unsigned int version ;
 472   unsigned long ops ;
 473   char const   *name ;
 474   int name_version ;
 475   unsigned long contention_point[4U] ;
 476   unsigned long contending_point[4U] ;
 477};
 478#line 144 "include/linux/lockdep.h"
 479struct lockdep_map {
 480   struct lock_class_key *key ;
 481   struct lock_class *class_cache[2U] ;
 482   char const   *name ;
 483   int cpu ;
 484   unsigned long ip ;
 485};
 486#line 187 "include/linux/lockdep.h"
 487struct held_lock {
 488   u64 prev_chain_key ;
 489   unsigned long acquire_ip ;
 490   struct lockdep_map *instance ;
 491   struct lockdep_map *nest_lock ;
 492   u64 waittime_stamp ;
 493   u64 holdtime_stamp ;
 494   unsigned short class_idx : 13 ;
 495   unsigned char irq_context : 2 ;
 496   unsigned char trylock : 1 ;
 497   unsigned char read : 2 ;
 498   unsigned char check : 2 ;
 499   unsigned char hardirqs_off : 1 ;
 500   unsigned short references : 11 ;
 501};
 502#line 556 "include/linux/lockdep.h"
 503struct raw_spinlock {
 504   arch_spinlock_t raw_lock ;
 505   unsigned int magic ;
 506   unsigned int owner_cpu ;
 507   void *owner ;
 508   struct lockdep_map dep_map ;
 509};
 510#line 32 "include/linux/spinlock_types.h"
 511typedef struct raw_spinlock raw_spinlock_t;
 512#line 33 "include/linux/spinlock_types.h"
 513struct __anonstruct_ldv_6122_33 {
 514   u8 __padding[24U] ;
 515   struct lockdep_map dep_map ;
 516};
 517#line 33 "include/linux/spinlock_types.h"
 518union __anonunion_ldv_6123_32 {
 519   struct raw_spinlock rlock ;
 520   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 521};
 522#line 33 "include/linux/spinlock_types.h"
 523struct spinlock {
 524   union __anonunion_ldv_6123_32 ldv_6123 ;
 525};
 526#line 76 "include/linux/spinlock_types.h"
 527typedef struct spinlock spinlock_t;
 528#line 23 "include/linux/rwlock_types.h"
 529struct __anonstruct_rwlock_t_34 {
 530   arch_rwlock_t raw_lock ;
 531   unsigned int magic ;
 532   unsigned int owner_cpu ;
 533   void *owner ;
 534   struct lockdep_map dep_map ;
 535};
 536#line 23 "include/linux/rwlock_types.h"
 537typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 538#line 110 "include/linux/seqlock.h"
 539struct seqcount {
 540   unsigned int sequence ;
 541};
 542#line 121 "include/linux/seqlock.h"
 543typedef struct seqcount seqcount_t;
 544#line 254 "include/linux/seqlock.h"
 545struct timespec {
 546   __kernel_time_t tv_sec ;
 547   long tv_nsec ;
 548};
 549#line 48 "include/linux/wait.h"
 550struct __wait_queue_head {
 551   spinlock_t lock ;
 552   struct list_head task_list ;
 553};
 554#line 53 "include/linux/wait.h"
 555typedef struct __wait_queue_head wait_queue_head_t;
 556#line 98 "include/linux/nodemask.h"
 557struct __anonstruct_nodemask_t_36 {
 558   unsigned long bits[16U] ;
 559};
 560#line 98 "include/linux/nodemask.h"
 561typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 562#line 670 "include/linux/mmzone.h"
 563struct mutex {
 564   atomic_t count ;
 565   spinlock_t wait_lock ;
 566   struct list_head wait_list ;
 567   struct task_struct *owner ;
 568   char const   *name ;
 569   void *magic ;
 570   struct lockdep_map dep_map ;
 571};
 572#line 63 "include/linux/mutex.h"
 573struct mutex_waiter {
 574   struct list_head list ;
 575   struct task_struct *task ;
 576   void *magic ;
 577};
 578#line 171
 579struct rw_semaphore;
 580#line 171
 581struct rw_semaphore;
 582#line 172 "include/linux/mutex.h"
 583struct rw_semaphore {
 584   long count ;
 585   raw_spinlock_t wait_lock ;
 586   struct list_head wait_list ;
 587   struct lockdep_map dep_map ;
 588};
 589#line 128 "include/linux/rwsem.h"
 590struct completion {
 591   unsigned int done ;
 592   wait_queue_head_t wait ;
 593};
 594#line 312 "include/linux/jiffies.h"
 595union ktime {
 596   s64 tv64 ;
 597};
 598#line 59 "include/linux/ktime.h"
 599typedef union ktime ktime_t;
 600#line 341
 601struct tvec_base;
 602#line 341
 603struct tvec_base;
 604#line 342 "include/linux/ktime.h"
 605struct timer_list {
 606   struct list_head entry ;
 607   unsigned long expires ;
 608   struct tvec_base *base ;
 609   void (*function)(unsigned long  ) ;
 610   unsigned long data ;
 611   int slack ;
 612   int start_pid ;
 613   void *start_site ;
 614   char start_comm[16U] ;
 615   struct lockdep_map lockdep_map ;
 616};
 617#line 289 "include/linux/timer.h"
 618struct hrtimer;
 619#line 289
 620struct hrtimer;
 621#line 290
 622enum hrtimer_restart;
 623#line 302
 624struct work_struct;
 625#line 302
 626struct work_struct;
 627#line 45 "include/linux/workqueue.h"
 628struct work_struct {
 629   atomic_long_t data ;
 630   struct list_head entry ;
 631   void (*func)(struct work_struct * ) ;
 632   struct lockdep_map lockdep_map ;
 633};
 634#line 46 "include/linux/pm.h"
 635struct pm_message {
 636   int event ;
 637};
 638#line 52 "include/linux/pm.h"
 639typedef struct pm_message pm_message_t;
 640#line 53 "include/linux/pm.h"
 641struct dev_pm_ops {
 642   int (*prepare)(struct device * ) ;
 643   void (*complete)(struct device * ) ;
 644   int (*suspend)(struct device * ) ;
 645   int (*resume)(struct device * ) ;
 646   int (*freeze)(struct device * ) ;
 647   int (*thaw)(struct device * ) ;
 648   int (*poweroff)(struct device * ) ;
 649   int (*restore)(struct device * ) ;
 650   int (*suspend_late)(struct device * ) ;
 651   int (*resume_early)(struct device * ) ;
 652   int (*freeze_late)(struct device * ) ;
 653   int (*thaw_early)(struct device * ) ;
 654   int (*poweroff_late)(struct device * ) ;
 655   int (*restore_early)(struct device * ) ;
 656   int (*suspend_noirq)(struct device * ) ;
 657   int (*resume_noirq)(struct device * ) ;
 658   int (*freeze_noirq)(struct device * ) ;
 659   int (*thaw_noirq)(struct device * ) ;
 660   int (*poweroff_noirq)(struct device * ) ;
 661   int (*restore_noirq)(struct device * ) ;
 662   int (*runtime_suspend)(struct device * ) ;
 663   int (*runtime_resume)(struct device * ) ;
 664   int (*runtime_idle)(struct device * ) ;
 665};
 666#line 289
 667enum rpm_status {
 668    RPM_ACTIVE = 0,
 669    RPM_RESUMING = 1,
 670    RPM_SUSPENDED = 2,
 671    RPM_SUSPENDING = 3
 672} ;
 673#line 296
 674enum rpm_request {
 675    RPM_REQ_NONE = 0,
 676    RPM_REQ_IDLE = 1,
 677    RPM_REQ_SUSPEND = 2,
 678    RPM_REQ_AUTOSUSPEND = 3,
 679    RPM_REQ_RESUME = 4
 680} ;
 681#line 304
 682struct wakeup_source;
 683#line 304
 684struct wakeup_source;
 685#line 494 "include/linux/pm.h"
 686struct pm_subsys_data {
 687   spinlock_t lock ;
 688   unsigned int refcount ;
 689};
 690#line 499
 691struct dev_pm_qos_request;
 692#line 499
 693struct pm_qos_constraints;
 694#line 499 "include/linux/pm.h"
 695struct dev_pm_info {
 696   pm_message_t power_state ;
 697   unsigned char can_wakeup : 1 ;
 698   unsigned char async_suspend : 1 ;
 699   bool is_prepared ;
 700   bool is_suspended ;
 701   bool ignore_children ;
 702   spinlock_t lock ;
 703   struct list_head entry ;
 704   struct completion completion ;
 705   struct wakeup_source *wakeup ;
 706   bool wakeup_path ;
 707   struct timer_list suspend_timer ;
 708   unsigned long timer_expires ;
 709   struct work_struct work ;
 710   wait_queue_head_t wait_queue ;
 711   atomic_t usage_count ;
 712   atomic_t child_count ;
 713   unsigned char disable_depth : 3 ;
 714   unsigned char idle_notification : 1 ;
 715   unsigned char request_pending : 1 ;
 716   unsigned char deferred_resume : 1 ;
 717   unsigned char run_wake : 1 ;
 718   unsigned char runtime_auto : 1 ;
 719   unsigned char no_callbacks : 1 ;
 720   unsigned char irq_safe : 1 ;
 721   unsigned char use_autosuspend : 1 ;
 722   unsigned char timer_autosuspends : 1 ;
 723   enum rpm_request request ;
 724   enum rpm_status runtime_status ;
 725   int runtime_error ;
 726   int autosuspend_delay ;
 727   unsigned long last_busy ;
 728   unsigned long active_jiffies ;
 729   unsigned long suspended_jiffies ;
 730   unsigned long accounting_timestamp ;
 731   ktime_t suspend_time ;
 732   s64 max_time_suspended_ns ;
 733   struct dev_pm_qos_request *pq_req ;
 734   struct pm_subsys_data *subsys_data ;
 735   struct pm_qos_constraints *constraints ;
 736};
 737#line 558 "include/linux/pm.h"
 738struct dev_pm_domain {
 739   struct dev_pm_ops ops ;
 740};
 741#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 742struct __anonstruct_mm_context_t_101 {
 743   void *ldt ;
 744   int size ;
 745   unsigned short ia32_compat ;
 746   struct mutex lock ;
 747   void *vdso ;
 748};
 749#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 750typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 751#line 18 "include/asm-generic/pci_iomap.h"
 752struct vm_area_struct;
 753#line 18
 754struct vm_area_struct;
 755#line 835 "include/linux/sysctl.h"
 756struct rb_node {
 757   unsigned long rb_parent_color ;
 758   struct rb_node *rb_right ;
 759   struct rb_node *rb_left ;
 760};
 761#line 108 "include/linux/rbtree.h"
 762struct rb_root {
 763   struct rb_node *rb_node ;
 764};
 765#line 176
 766struct nsproxy;
 767#line 176
 768struct nsproxy;
 769#line 37 "include/linux/kmod.h"
 770struct cred;
 771#line 37
 772struct cred;
 773#line 18 "include/linux/elf.h"
 774typedef __u64 Elf64_Addr;
 775#line 19 "include/linux/elf.h"
 776typedef __u16 Elf64_Half;
 777#line 23 "include/linux/elf.h"
 778typedef __u32 Elf64_Word;
 779#line 24 "include/linux/elf.h"
 780typedef __u64 Elf64_Xword;
 781#line 193 "include/linux/elf.h"
 782struct elf64_sym {
 783   Elf64_Word st_name ;
 784   unsigned char st_info ;
 785   unsigned char st_other ;
 786   Elf64_Half st_shndx ;
 787   Elf64_Addr st_value ;
 788   Elf64_Xword st_size ;
 789};
 790#line 201 "include/linux/elf.h"
 791typedef struct elf64_sym Elf64_Sym;
 792#line 445
 793struct sock;
 794#line 445
 795struct sock;
 796#line 446
 797struct kobject;
 798#line 446
 799struct kobject;
 800#line 447
 801enum kobj_ns_type {
 802    KOBJ_NS_TYPE_NONE = 0,
 803    KOBJ_NS_TYPE_NET = 1,
 804    KOBJ_NS_TYPES = 2
 805} ;
 806#line 453 "include/linux/elf.h"
 807struct kobj_ns_type_operations {
 808   enum kobj_ns_type type ;
 809   void *(*grab_current_ns)(void) ;
 810   void const   *(*netlink_ns)(struct sock * ) ;
 811   void const   *(*initial_ns)(void) ;
 812   void (*drop_ns)(void * ) ;
 813};
 814#line 57 "include/linux/kobject_ns.h"
 815struct attribute {
 816   char const   *name ;
 817   umode_t mode ;
 818   struct lock_class_key *key ;
 819   struct lock_class_key skey ;
 820};
 821#line 33 "include/linux/sysfs.h"
 822struct attribute_group {
 823   char const   *name ;
 824   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 825   struct attribute **attrs ;
 826};
 827#line 62 "include/linux/sysfs.h"
 828struct bin_attribute {
 829   struct attribute attr ;
 830   size_t size ;
 831   void *private ;
 832   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 833                   loff_t  , size_t  ) ;
 834   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 835                    loff_t  , size_t  ) ;
 836   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 837};
 838#line 98 "include/linux/sysfs.h"
 839struct sysfs_ops {
 840   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 841   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 842   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 843};
 844#line 117
 845struct sysfs_dirent;
 846#line 117
 847struct sysfs_dirent;
 848#line 182 "include/linux/sysfs.h"
 849struct kref {
 850   atomic_t refcount ;
 851};
 852#line 49 "include/linux/kobject.h"
 853struct kset;
 854#line 49
 855struct kobj_type;
 856#line 49 "include/linux/kobject.h"
 857struct kobject {
 858   char const   *name ;
 859   struct list_head entry ;
 860   struct kobject *parent ;
 861   struct kset *kset ;
 862   struct kobj_type *ktype ;
 863   struct sysfs_dirent *sd ;
 864   struct kref kref ;
 865   unsigned char state_initialized : 1 ;
 866   unsigned char state_in_sysfs : 1 ;
 867   unsigned char state_add_uevent_sent : 1 ;
 868   unsigned char state_remove_uevent_sent : 1 ;
 869   unsigned char uevent_suppress : 1 ;
 870};
 871#line 107 "include/linux/kobject.h"
 872struct kobj_type {
 873   void (*release)(struct kobject * ) ;
 874   struct sysfs_ops  const  *sysfs_ops ;
 875   struct attribute **default_attrs ;
 876   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 877   void const   *(*namespace)(struct kobject * ) ;
 878};
 879#line 115 "include/linux/kobject.h"
 880struct kobj_uevent_env {
 881   char *envp[32U] ;
 882   int envp_idx ;
 883   char buf[2048U] ;
 884   int buflen ;
 885};
 886#line 122 "include/linux/kobject.h"
 887struct kset_uevent_ops {
 888   int (* const  filter)(struct kset * , struct kobject * ) ;
 889   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 890   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 891};
 892#line 139 "include/linux/kobject.h"
 893struct kset {
 894   struct list_head list ;
 895   spinlock_t list_lock ;
 896   struct kobject kobj ;
 897   struct kset_uevent_ops  const  *uevent_ops ;
 898};
 899#line 215
 900struct kernel_param;
 901#line 215
 902struct kernel_param;
 903#line 216 "include/linux/kobject.h"
 904struct kernel_param_ops {
 905   int (*set)(char const   * , struct kernel_param  const  * ) ;
 906   int (*get)(char * , struct kernel_param  const  * ) ;
 907   void (*free)(void * ) ;
 908};
 909#line 49 "include/linux/moduleparam.h"
 910struct kparam_string;
 911#line 49
 912struct kparam_array;
 913#line 49 "include/linux/moduleparam.h"
 914union __anonunion_ldv_13363_134 {
 915   void *arg ;
 916   struct kparam_string  const  *str ;
 917   struct kparam_array  const  *arr ;
 918};
 919#line 49 "include/linux/moduleparam.h"
 920struct kernel_param {
 921   char const   *name ;
 922   struct kernel_param_ops  const  *ops ;
 923   u16 perm ;
 924   s16 level ;
 925   union __anonunion_ldv_13363_134 ldv_13363 ;
 926};
 927#line 61 "include/linux/moduleparam.h"
 928struct kparam_string {
 929   unsigned int maxlen ;
 930   char *string ;
 931};
 932#line 67 "include/linux/moduleparam.h"
 933struct kparam_array {
 934   unsigned int max ;
 935   unsigned int elemsize ;
 936   unsigned int *num ;
 937   struct kernel_param_ops  const  *ops ;
 938   void *elem ;
 939};
 940#line 458 "include/linux/moduleparam.h"
 941struct static_key {
 942   atomic_t enabled ;
 943};
 944#line 225 "include/linux/jump_label.h"
 945struct tracepoint;
 946#line 225
 947struct tracepoint;
 948#line 226 "include/linux/jump_label.h"
 949struct tracepoint_func {
 950   void *func ;
 951   void *data ;
 952};
 953#line 29 "include/linux/tracepoint.h"
 954struct tracepoint {
 955   char const   *name ;
 956   struct static_key key ;
 957   void (*regfunc)(void) ;
 958   void (*unregfunc)(void) ;
 959   struct tracepoint_func *funcs ;
 960};
 961#line 86 "include/linux/tracepoint.h"
 962struct kernel_symbol {
 963   unsigned long value ;
 964   char const   *name ;
 965};
 966#line 27 "include/linux/export.h"
 967struct mod_arch_specific {
 968
 969};
 970#line 34 "include/linux/module.h"
 971struct module_param_attrs;
 972#line 34 "include/linux/module.h"
 973struct module_kobject {
 974   struct kobject kobj ;
 975   struct module *mod ;
 976   struct kobject *drivers_dir ;
 977   struct module_param_attrs *mp ;
 978};
 979#line 43 "include/linux/module.h"
 980struct module_attribute {
 981   struct attribute attr ;
 982   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 983   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 984                    size_t  ) ;
 985   void (*setup)(struct module * , char const   * ) ;
 986   int (*test)(struct module * ) ;
 987   void (*free)(struct module * ) ;
 988};
 989#line 69
 990struct exception_table_entry;
 991#line 69
 992struct exception_table_entry;
 993#line 198
 994enum module_state {
 995    MODULE_STATE_LIVE = 0,
 996    MODULE_STATE_COMING = 1,
 997    MODULE_STATE_GOING = 2
 998} ;
 999#line 204 "include/linux/module.h"
1000struct module_ref {
1001   unsigned long incs ;
1002   unsigned long decs ;
1003};
1004#line 219
1005struct module_sect_attrs;
1006#line 219
1007struct module_notes_attrs;
1008#line 219
1009struct ftrace_event_call;
1010#line 219 "include/linux/module.h"
1011struct module {
1012   enum module_state state ;
1013   struct list_head list ;
1014   char name[56U] ;
1015   struct module_kobject mkobj ;
1016   struct module_attribute *modinfo_attrs ;
1017   char const   *version ;
1018   char const   *srcversion ;
1019   struct kobject *holders_dir ;
1020   struct kernel_symbol  const  *syms ;
1021   unsigned long const   *crcs ;
1022   unsigned int num_syms ;
1023   struct kernel_param *kp ;
1024   unsigned int num_kp ;
1025   unsigned int num_gpl_syms ;
1026   struct kernel_symbol  const  *gpl_syms ;
1027   unsigned long const   *gpl_crcs ;
1028   struct kernel_symbol  const  *unused_syms ;
1029   unsigned long const   *unused_crcs ;
1030   unsigned int num_unused_syms ;
1031   unsigned int num_unused_gpl_syms ;
1032   struct kernel_symbol  const  *unused_gpl_syms ;
1033   unsigned long const   *unused_gpl_crcs ;
1034   struct kernel_symbol  const  *gpl_future_syms ;
1035   unsigned long const   *gpl_future_crcs ;
1036   unsigned int num_gpl_future_syms ;
1037   unsigned int num_exentries ;
1038   struct exception_table_entry *extable ;
1039   int (*init)(void) ;
1040   void *module_init ;
1041   void *module_core ;
1042   unsigned int init_size ;
1043   unsigned int core_size ;
1044   unsigned int init_text_size ;
1045   unsigned int core_text_size ;
1046   unsigned int init_ro_size ;
1047   unsigned int core_ro_size ;
1048   struct mod_arch_specific arch ;
1049   unsigned int taints ;
1050   unsigned int num_bugs ;
1051   struct list_head bug_list ;
1052   struct bug_entry *bug_table ;
1053   Elf64_Sym *symtab ;
1054   Elf64_Sym *core_symtab ;
1055   unsigned int num_symtab ;
1056   unsigned int core_num_syms ;
1057   char *strtab ;
1058   char *core_strtab ;
1059   struct module_sect_attrs *sect_attrs ;
1060   struct module_notes_attrs *notes_attrs ;
1061   char *args ;
1062   void *percpu ;
1063   unsigned int percpu_size ;
1064   unsigned int num_tracepoints ;
1065   struct tracepoint * const  *tracepoints_ptrs ;
1066   unsigned int num_trace_bprintk_fmt ;
1067   char const   **trace_bprintk_fmt_start ;
1068   struct ftrace_event_call **trace_events ;
1069   unsigned int num_trace_events ;
1070   struct list_head source_list ;
1071   struct list_head target_list ;
1072   struct task_struct *waiter ;
1073   void (*exit)(void) ;
1074   struct module_ref *refptr ;
1075   ctor_fn_t (**ctors)(void) ;
1076   unsigned int num_ctors ;
1077};
1078#line 88 "include/linux/kmemleak.h"
1079struct kmem_cache_cpu {
1080   void **freelist ;
1081   unsigned long tid ;
1082   struct page *page ;
1083   struct page *partial ;
1084   int node ;
1085   unsigned int stat[26U] ;
1086};
1087#line 55 "include/linux/slub_def.h"
1088struct kmem_cache_node {
1089   spinlock_t list_lock ;
1090   unsigned long nr_partial ;
1091   struct list_head partial ;
1092   atomic_long_t nr_slabs ;
1093   atomic_long_t total_objects ;
1094   struct list_head full ;
1095};
1096#line 66 "include/linux/slub_def.h"
1097struct kmem_cache_order_objects {
1098   unsigned long x ;
1099};
1100#line 76 "include/linux/slub_def.h"
1101struct kmem_cache {
1102   struct kmem_cache_cpu *cpu_slab ;
1103   unsigned long flags ;
1104   unsigned long min_partial ;
1105   int size ;
1106   int objsize ;
1107   int offset ;
1108   int cpu_partial ;
1109   struct kmem_cache_order_objects oo ;
1110   struct kmem_cache_order_objects max ;
1111   struct kmem_cache_order_objects min ;
1112   gfp_t allocflags ;
1113   int refcount ;
1114   void (*ctor)(void * ) ;
1115   int inuse ;
1116   int align ;
1117   int reserved ;
1118   char const   *name ;
1119   struct list_head list ;
1120   struct kobject kobj ;
1121   int remote_node_defrag_ratio ;
1122   struct kmem_cache_node *node[1024U] ;
1123};
1124#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
1125enum led_brightness {
1126    LED_OFF = 0,
1127    LED_HALF = 127,
1128    LED_FULL = 255
1129} ;
1130#line 21
1131struct led_trigger;
1132#line 21 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
1133struct led_classdev {
1134   char const   *name ;
1135   int brightness ;
1136   int max_brightness ;
1137   int flags ;
1138   void (*brightness_set)(struct led_classdev * , enum led_brightness  ) ;
1139   enum led_brightness (*brightness_get)(struct led_classdev * ) ;
1140   int (*blink_set)(struct led_classdev * , unsigned long * , unsigned long * ) ;
1141   struct device *dev ;
1142   struct list_head node ;
1143   char const   *default_trigger ;
1144   unsigned long blink_delay_on ;
1145   unsigned long blink_delay_off ;
1146   struct timer_list blink_timer ;
1147   int blink_brightness ;
1148   struct rw_semaphore trigger_lock ;
1149   struct led_trigger *trigger ;
1150   struct list_head trig_list ;
1151   void *trigger_data ;
1152};
1153#line 113 "include/linux/leds.h"
1154struct led_trigger {
1155   char const   *name ;
1156   void (*activate)(struct led_classdev * ) ;
1157   void (*deactivate)(struct led_classdev * ) ;
1158   rwlock_t leddev_list_lock ;
1159   struct list_head led_cdevs ;
1160   struct list_head next_trig ;
1161};
1162#line 211
1163struct klist_node;
1164#line 211
1165struct klist_node;
1166#line 37 "include/linux/klist.h"
1167struct klist_node {
1168   void *n_klist ;
1169   struct list_head n_node ;
1170   struct kref n_ref ;
1171};
1172#line 67
1173struct dma_map_ops;
1174#line 67 "include/linux/klist.h"
1175struct dev_archdata {
1176   void *acpi_handle ;
1177   struct dma_map_ops *dma_ops ;
1178   void *iommu ;
1179};
1180#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1181struct device_private;
1182#line 17
1183struct device_private;
1184#line 18
1185struct device_driver;
1186#line 18
1187struct device_driver;
1188#line 19
1189struct driver_private;
1190#line 19
1191struct driver_private;
1192#line 20
1193struct class;
1194#line 20
1195struct class;
1196#line 21
1197struct subsys_private;
1198#line 21
1199struct subsys_private;
1200#line 22
1201struct bus_type;
1202#line 22
1203struct bus_type;
1204#line 23
1205struct device_node;
1206#line 23
1207struct device_node;
1208#line 24
1209struct iommu_ops;
1210#line 24
1211struct iommu_ops;
1212#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1213struct bus_attribute {
1214   struct attribute attr ;
1215   ssize_t (*show)(struct bus_type * , char * ) ;
1216   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1217};
1218#line 51 "include/linux/device.h"
1219struct device_attribute;
1220#line 51
1221struct driver_attribute;
1222#line 51 "include/linux/device.h"
1223struct bus_type {
1224   char const   *name ;
1225   char const   *dev_name ;
1226   struct device *dev_root ;
1227   struct bus_attribute *bus_attrs ;
1228   struct device_attribute *dev_attrs ;
1229   struct driver_attribute *drv_attrs ;
1230   int (*match)(struct device * , struct device_driver * ) ;
1231   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1232   int (*probe)(struct device * ) ;
1233   int (*remove)(struct device * ) ;
1234   void (*shutdown)(struct device * ) ;
1235   int (*suspend)(struct device * , pm_message_t  ) ;
1236   int (*resume)(struct device * ) ;
1237   struct dev_pm_ops  const  *pm ;
1238   struct iommu_ops *iommu_ops ;
1239   struct subsys_private *p ;
1240};
1241#line 125
1242struct device_type;
1243#line 182
1244struct of_device_id;
1245#line 182 "include/linux/device.h"
1246struct device_driver {
1247   char const   *name ;
1248   struct bus_type *bus ;
1249   struct module *owner ;
1250   char const   *mod_name ;
1251   bool suppress_bind_attrs ;
1252   struct of_device_id  const  *of_match_table ;
1253   int (*probe)(struct device * ) ;
1254   int (*remove)(struct device * ) ;
1255   void (*shutdown)(struct device * ) ;
1256   int (*suspend)(struct device * , pm_message_t  ) ;
1257   int (*resume)(struct device * ) ;
1258   struct attribute_group  const  **groups ;
1259   struct dev_pm_ops  const  *pm ;
1260   struct driver_private *p ;
1261};
1262#line 245 "include/linux/device.h"
1263struct driver_attribute {
1264   struct attribute attr ;
1265   ssize_t (*show)(struct device_driver * , char * ) ;
1266   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1267};
1268#line 299
1269struct class_attribute;
1270#line 299 "include/linux/device.h"
1271struct class {
1272   char const   *name ;
1273   struct module *owner ;
1274   struct class_attribute *class_attrs ;
1275   struct device_attribute *dev_attrs ;
1276   struct bin_attribute *dev_bin_attrs ;
1277   struct kobject *dev_kobj ;
1278   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1279   char *(*devnode)(struct device * , umode_t * ) ;
1280   void (*class_release)(struct class * ) ;
1281   void (*dev_release)(struct device * ) ;
1282   int (*suspend)(struct device * , pm_message_t  ) ;
1283   int (*resume)(struct device * ) ;
1284   struct kobj_ns_type_operations  const  *ns_type ;
1285   void const   *(*namespace)(struct device * ) ;
1286   struct dev_pm_ops  const  *pm ;
1287   struct subsys_private *p ;
1288};
1289#line 394 "include/linux/device.h"
1290struct class_attribute {
1291   struct attribute attr ;
1292   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1293   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1294   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1295};
1296#line 447 "include/linux/device.h"
1297struct device_type {
1298   char const   *name ;
1299   struct attribute_group  const  **groups ;
1300   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1301   char *(*devnode)(struct device * , umode_t * ) ;
1302   void (*release)(struct device * ) ;
1303   struct dev_pm_ops  const  *pm ;
1304};
1305#line 474 "include/linux/device.h"
1306struct device_attribute {
1307   struct attribute attr ;
1308   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1309   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1310                    size_t  ) ;
1311};
1312#line 557 "include/linux/device.h"
1313struct device_dma_parameters {
1314   unsigned int max_segment_size ;
1315   unsigned long segment_boundary_mask ;
1316};
1317#line 567
1318struct dma_coherent_mem;
1319#line 567 "include/linux/device.h"
1320struct device {
1321   struct device *parent ;
1322   struct device_private *p ;
1323   struct kobject kobj ;
1324   char const   *init_name ;
1325   struct device_type  const  *type ;
1326   struct mutex mutex ;
1327   struct bus_type *bus ;
1328   struct device_driver *driver ;
1329   void *platform_data ;
1330   struct dev_pm_info power ;
1331   struct dev_pm_domain *pm_domain ;
1332   int numa_node ;
1333   u64 *dma_mask ;
1334   u64 coherent_dma_mask ;
1335   struct device_dma_parameters *dma_parms ;
1336   struct list_head dma_pools ;
1337   struct dma_coherent_mem *dma_mem ;
1338   struct dev_archdata archdata ;
1339   struct device_node *of_node ;
1340   dev_t devt ;
1341   u32 id ;
1342   spinlock_t devres_lock ;
1343   struct list_head devres_head ;
1344   struct klist_node knode_class ;
1345   struct class *class ;
1346   struct attribute_group  const  **groups ;
1347   void (*release)(struct device * ) ;
1348};
1349#line 681 "include/linux/device.h"
1350struct wakeup_source {
1351   char const   *name ;
1352   struct list_head entry ;
1353   spinlock_t lock ;
1354   struct timer_list timer ;
1355   unsigned long timer_expires ;
1356   ktime_t total_time ;
1357   ktime_t max_time ;
1358   ktime_t last_time ;
1359   unsigned long event_count ;
1360   unsigned long active_count ;
1361   unsigned long relax_count ;
1362   unsigned long hit_count ;
1363   unsigned char active : 1 ;
1364};
1365#line 215 "include/linux/mod_devicetable.h"
1366struct of_device_id {
1367   char name[32U] ;
1368   char type[32U] ;
1369   char compatible[128U] ;
1370   void *data ;
1371};
1372#line 93 "include/linux/capability.h"
1373struct kernel_cap_struct {
1374   __u32 cap[2U] ;
1375};
1376#line 96 "include/linux/capability.h"
1377typedef struct kernel_cap_struct kernel_cap_t;
1378#line 105
1379struct user_namespace;
1380#line 105
1381struct user_namespace;
1382#line 554
1383struct prio_tree_node;
1384#line 554 "include/linux/capability.h"
1385struct raw_prio_tree_node {
1386   struct prio_tree_node *left ;
1387   struct prio_tree_node *right ;
1388   struct prio_tree_node *parent ;
1389};
1390#line 19 "include/linux/prio_tree.h"
1391struct prio_tree_node {
1392   struct prio_tree_node *left ;
1393   struct prio_tree_node *right ;
1394   struct prio_tree_node *parent ;
1395   unsigned long start ;
1396   unsigned long last ;
1397};
1398#line 116
1399struct address_space;
1400#line 116
1401struct address_space;
1402#line 117 "include/linux/prio_tree.h"
1403union __anonunion_ldv_15397_138 {
1404   unsigned long index ;
1405   void *freelist ;
1406};
1407#line 117 "include/linux/prio_tree.h"
1408struct __anonstruct_ldv_15407_142 {
1409   unsigned short inuse ;
1410   unsigned short objects : 15 ;
1411   unsigned char frozen : 1 ;
1412};
1413#line 117 "include/linux/prio_tree.h"
1414union __anonunion_ldv_15408_141 {
1415   atomic_t _mapcount ;
1416   struct __anonstruct_ldv_15407_142 ldv_15407 ;
1417};
1418#line 117 "include/linux/prio_tree.h"
1419struct __anonstruct_ldv_15410_140 {
1420   union __anonunion_ldv_15408_141 ldv_15408 ;
1421   atomic_t _count ;
1422};
1423#line 117 "include/linux/prio_tree.h"
1424union __anonunion_ldv_15411_139 {
1425   unsigned long counters ;
1426   struct __anonstruct_ldv_15410_140 ldv_15410 ;
1427};
1428#line 117 "include/linux/prio_tree.h"
1429struct __anonstruct_ldv_15412_137 {
1430   union __anonunion_ldv_15397_138 ldv_15397 ;
1431   union __anonunion_ldv_15411_139 ldv_15411 ;
1432};
1433#line 117 "include/linux/prio_tree.h"
1434struct __anonstruct_ldv_15419_144 {
1435   struct page *next ;
1436   int pages ;
1437   int pobjects ;
1438};
1439#line 117 "include/linux/prio_tree.h"
1440union __anonunion_ldv_15420_143 {
1441   struct list_head lru ;
1442   struct __anonstruct_ldv_15419_144 ldv_15419 ;
1443};
1444#line 117 "include/linux/prio_tree.h"
1445union __anonunion_ldv_15425_145 {
1446   unsigned long private ;
1447   struct kmem_cache *slab ;
1448   struct page *first_page ;
1449};
1450#line 117 "include/linux/prio_tree.h"
1451struct page {
1452   unsigned long flags ;
1453   struct address_space *mapping ;
1454   struct __anonstruct_ldv_15412_137 ldv_15412 ;
1455   union __anonunion_ldv_15420_143 ldv_15420 ;
1456   union __anonunion_ldv_15425_145 ldv_15425 ;
1457   unsigned long debug_flags ;
1458};
1459#line 192 "include/linux/mm_types.h"
1460struct __anonstruct_vm_set_147 {
1461   struct list_head list ;
1462   void *parent ;
1463   struct vm_area_struct *head ;
1464};
1465#line 192 "include/linux/mm_types.h"
1466union __anonunion_shared_146 {
1467   struct __anonstruct_vm_set_147 vm_set ;
1468   struct raw_prio_tree_node prio_tree_node ;
1469};
1470#line 192
1471struct anon_vma;
1472#line 192
1473struct vm_operations_struct;
1474#line 192
1475struct mempolicy;
1476#line 192 "include/linux/mm_types.h"
1477struct vm_area_struct {
1478   struct mm_struct *vm_mm ;
1479   unsigned long vm_start ;
1480   unsigned long vm_end ;
1481   struct vm_area_struct *vm_next ;
1482   struct vm_area_struct *vm_prev ;
1483   pgprot_t vm_page_prot ;
1484   unsigned long vm_flags ;
1485   struct rb_node vm_rb ;
1486   union __anonunion_shared_146 shared ;
1487   struct list_head anon_vma_chain ;
1488   struct anon_vma *anon_vma ;
1489   struct vm_operations_struct  const  *vm_ops ;
1490   unsigned long vm_pgoff ;
1491   struct file *vm_file ;
1492   void *vm_private_data ;
1493   struct mempolicy *vm_policy ;
1494};
1495#line 255 "include/linux/mm_types.h"
1496struct core_thread {
1497   struct task_struct *task ;
1498   struct core_thread *next ;
1499};
1500#line 261 "include/linux/mm_types.h"
1501struct core_state {
1502   atomic_t nr_threads ;
1503   struct core_thread dumper ;
1504   struct completion startup ;
1505};
1506#line 274 "include/linux/mm_types.h"
1507struct mm_rss_stat {
1508   atomic_long_t count[3U] ;
1509};
1510#line 287
1511struct linux_binfmt;
1512#line 287
1513struct mmu_notifier_mm;
1514#line 287 "include/linux/mm_types.h"
1515struct mm_struct {
1516   struct vm_area_struct *mmap ;
1517   struct rb_root mm_rb ;
1518   struct vm_area_struct *mmap_cache ;
1519   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1520                                      unsigned long  , unsigned long  ) ;
1521   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1522   unsigned long mmap_base ;
1523   unsigned long task_size ;
1524   unsigned long cached_hole_size ;
1525   unsigned long free_area_cache ;
1526   pgd_t *pgd ;
1527   atomic_t mm_users ;
1528   atomic_t mm_count ;
1529   int map_count ;
1530   spinlock_t page_table_lock ;
1531   struct rw_semaphore mmap_sem ;
1532   struct list_head mmlist ;
1533   unsigned long hiwater_rss ;
1534   unsigned long hiwater_vm ;
1535   unsigned long total_vm ;
1536   unsigned long locked_vm ;
1537   unsigned long pinned_vm ;
1538   unsigned long shared_vm ;
1539   unsigned long exec_vm ;
1540   unsigned long stack_vm ;
1541   unsigned long reserved_vm ;
1542   unsigned long def_flags ;
1543   unsigned long nr_ptes ;
1544   unsigned long start_code ;
1545   unsigned long end_code ;
1546   unsigned long start_data ;
1547   unsigned long end_data ;
1548   unsigned long start_brk ;
1549   unsigned long brk ;
1550   unsigned long start_stack ;
1551   unsigned long arg_start ;
1552   unsigned long arg_end ;
1553   unsigned long env_start ;
1554   unsigned long env_end ;
1555   unsigned long saved_auxv[44U] ;
1556   struct mm_rss_stat rss_stat ;
1557   struct linux_binfmt *binfmt ;
1558   cpumask_var_t cpu_vm_mask_var ;
1559   mm_context_t context ;
1560   unsigned int faultstamp ;
1561   unsigned int token_priority ;
1562   unsigned int last_interval ;
1563   unsigned long flags ;
1564   struct core_state *core_state ;
1565   spinlock_t ioctx_lock ;
1566   struct hlist_head ioctx_list ;
1567   struct task_struct *owner ;
1568   struct file *exe_file ;
1569   unsigned long num_exe_file_vmas ;
1570   struct mmu_notifier_mm *mmu_notifier_mm ;
1571   pgtable_t pmd_huge_pte ;
1572   struct cpumask cpumask_allocation ;
1573};
1574#line 7 "include/asm-generic/cputime.h"
1575typedef unsigned long cputime_t;
1576#line 98 "include/linux/sem.h"
1577struct sem_undo_list;
1578#line 98 "include/linux/sem.h"
1579struct sysv_sem {
1580   struct sem_undo_list *undo_list ;
1581};
1582#line 107
1583struct siginfo;
1584#line 107
1585struct siginfo;
1586#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1587struct __anonstruct_sigset_t_148 {
1588   unsigned long sig[1U] ;
1589};
1590#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1591typedef struct __anonstruct_sigset_t_148 sigset_t;
1592#line 17 "include/asm-generic/signal-defs.h"
1593typedef void __signalfn_t(int  );
1594#line 18 "include/asm-generic/signal-defs.h"
1595typedef __signalfn_t *__sighandler_t;
1596#line 20 "include/asm-generic/signal-defs.h"
1597typedef void __restorefn_t(void);
1598#line 21 "include/asm-generic/signal-defs.h"
1599typedef __restorefn_t *__sigrestore_t;
1600#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1601struct sigaction {
1602   __sighandler_t sa_handler ;
1603   unsigned long sa_flags ;
1604   __sigrestore_t sa_restorer ;
1605   sigset_t sa_mask ;
1606};
1607#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1608struct k_sigaction {
1609   struct sigaction sa ;
1610};
1611#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1612union sigval {
1613   int sival_int ;
1614   void *sival_ptr ;
1615};
1616#line 10 "include/asm-generic/siginfo.h"
1617typedef union sigval sigval_t;
1618#line 11 "include/asm-generic/siginfo.h"
1619struct __anonstruct__kill_150 {
1620   __kernel_pid_t _pid ;
1621   __kernel_uid32_t _uid ;
1622};
1623#line 11 "include/asm-generic/siginfo.h"
1624struct __anonstruct__timer_151 {
1625   __kernel_timer_t _tid ;
1626   int _overrun ;
1627   char _pad[0U] ;
1628   sigval_t _sigval ;
1629   int _sys_private ;
1630};
1631#line 11 "include/asm-generic/siginfo.h"
1632struct __anonstruct__rt_152 {
1633   __kernel_pid_t _pid ;
1634   __kernel_uid32_t _uid ;
1635   sigval_t _sigval ;
1636};
1637#line 11 "include/asm-generic/siginfo.h"
1638struct __anonstruct__sigchld_153 {
1639   __kernel_pid_t _pid ;
1640   __kernel_uid32_t _uid ;
1641   int _status ;
1642   __kernel_clock_t _utime ;
1643   __kernel_clock_t _stime ;
1644};
1645#line 11 "include/asm-generic/siginfo.h"
1646struct __anonstruct__sigfault_154 {
1647   void *_addr ;
1648   short _addr_lsb ;
1649};
1650#line 11 "include/asm-generic/siginfo.h"
1651struct __anonstruct__sigpoll_155 {
1652   long _band ;
1653   int _fd ;
1654};
1655#line 11 "include/asm-generic/siginfo.h"
1656union __anonunion__sifields_149 {
1657   int _pad[28U] ;
1658   struct __anonstruct__kill_150 _kill ;
1659   struct __anonstruct__timer_151 _timer ;
1660   struct __anonstruct__rt_152 _rt ;
1661   struct __anonstruct__sigchld_153 _sigchld ;
1662   struct __anonstruct__sigfault_154 _sigfault ;
1663   struct __anonstruct__sigpoll_155 _sigpoll ;
1664};
1665#line 11 "include/asm-generic/siginfo.h"
1666struct siginfo {
1667   int si_signo ;
1668   int si_errno ;
1669   int si_code ;
1670   union __anonunion__sifields_149 _sifields ;
1671};
1672#line 102 "include/asm-generic/siginfo.h"
1673typedef struct siginfo siginfo_t;
1674#line 14 "include/linux/signal.h"
1675struct user_struct;
1676#line 24 "include/linux/signal.h"
1677struct sigpending {
1678   struct list_head list ;
1679   sigset_t signal ;
1680};
1681#line 395
1682struct pid_namespace;
1683#line 395 "include/linux/signal.h"
1684struct upid {
1685   int nr ;
1686   struct pid_namespace *ns ;
1687   struct hlist_node pid_chain ;
1688};
1689#line 56 "include/linux/pid.h"
1690struct pid {
1691   atomic_t count ;
1692   unsigned int level ;
1693   struct hlist_head tasks[3U] ;
1694   struct rcu_head rcu ;
1695   struct upid numbers[1U] ;
1696};
1697#line 68 "include/linux/pid.h"
1698struct pid_link {
1699   struct hlist_node node ;
1700   struct pid *pid ;
1701};
1702#line 10 "include/linux/seccomp.h"
1703struct __anonstruct_seccomp_t_158 {
1704   int mode ;
1705};
1706#line 10 "include/linux/seccomp.h"
1707typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1708#line 427 "include/linux/rculist.h"
1709struct plist_head {
1710   struct list_head node_list ;
1711};
1712#line 84 "include/linux/plist.h"
1713struct plist_node {
1714   int prio ;
1715   struct list_head prio_list ;
1716   struct list_head node_list ;
1717};
1718#line 38 "include/linux/rtmutex.h"
1719struct rt_mutex_waiter;
1720#line 38
1721struct rt_mutex_waiter;
1722#line 41 "include/linux/resource.h"
1723struct rlimit {
1724   unsigned long rlim_cur ;
1725   unsigned long rlim_max ;
1726};
1727#line 85 "include/linux/resource.h"
1728struct timerqueue_node {
1729   struct rb_node node ;
1730   ktime_t expires ;
1731};
1732#line 12 "include/linux/timerqueue.h"
1733struct timerqueue_head {
1734   struct rb_root head ;
1735   struct timerqueue_node *next ;
1736};
1737#line 50
1738struct hrtimer_clock_base;
1739#line 50
1740struct hrtimer_clock_base;
1741#line 51
1742struct hrtimer_cpu_base;
1743#line 51
1744struct hrtimer_cpu_base;
1745#line 60
1746enum hrtimer_restart {
1747    HRTIMER_NORESTART = 0,
1748    HRTIMER_RESTART = 1
1749} ;
1750#line 65 "include/linux/timerqueue.h"
1751struct hrtimer {
1752   struct timerqueue_node node ;
1753   ktime_t _softexpires ;
1754   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1755   struct hrtimer_clock_base *base ;
1756   unsigned long state ;
1757   int start_pid ;
1758   void *start_site ;
1759   char start_comm[16U] ;
1760};
1761#line 132 "include/linux/hrtimer.h"
1762struct hrtimer_clock_base {
1763   struct hrtimer_cpu_base *cpu_base ;
1764   int index ;
1765   clockid_t clockid ;
1766   struct timerqueue_head active ;
1767   ktime_t resolution ;
1768   ktime_t (*get_time)(void) ;
1769   ktime_t softirq_time ;
1770   ktime_t offset ;
1771};
1772#line 162 "include/linux/hrtimer.h"
1773struct hrtimer_cpu_base {
1774   raw_spinlock_t lock ;
1775   unsigned long active_bases ;
1776   ktime_t expires_next ;
1777   int hres_active ;
1778   int hang_detected ;
1779   unsigned long nr_events ;
1780   unsigned long nr_retries ;
1781   unsigned long nr_hangs ;
1782   ktime_t max_hang_time ;
1783   struct hrtimer_clock_base clock_base[3U] ;
1784};
1785#line 452 "include/linux/hrtimer.h"
1786struct task_io_accounting {
1787   u64 rchar ;
1788   u64 wchar ;
1789   u64 syscr ;
1790   u64 syscw ;
1791   u64 read_bytes ;
1792   u64 write_bytes ;
1793   u64 cancelled_write_bytes ;
1794};
1795#line 45 "include/linux/task_io_accounting.h"
1796struct latency_record {
1797   unsigned long backtrace[12U] ;
1798   unsigned int count ;
1799   unsigned long time ;
1800   unsigned long max ;
1801};
1802#line 29 "include/linux/key.h"
1803typedef int32_t key_serial_t;
1804#line 32 "include/linux/key.h"
1805typedef uint32_t key_perm_t;
1806#line 33
1807struct key;
1808#line 33
1809struct key;
1810#line 34
1811struct signal_struct;
1812#line 34
1813struct signal_struct;
1814#line 35
1815struct key_type;
1816#line 35
1817struct key_type;
1818#line 37
1819struct keyring_list;
1820#line 37
1821struct keyring_list;
1822#line 115
1823struct key_user;
1824#line 115 "include/linux/key.h"
1825union __anonunion_ldv_16661_159 {
1826   time_t expiry ;
1827   time_t revoked_at ;
1828};
1829#line 115 "include/linux/key.h"
1830union __anonunion_type_data_160 {
1831   struct list_head link ;
1832   unsigned long x[2U] ;
1833   void *p[2U] ;
1834   int reject_error ;
1835};
1836#line 115 "include/linux/key.h"
1837union __anonunion_payload_161 {
1838   unsigned long value ;
1839   void *rcudata ;
1840   void *data ;
1841   struct keyring_list *subscriptions ;
1842};
1843#line 115 "include/linux/key.h"
1844struct key {
1845   atomic_t usage ;
1846   key_serial_t serial ;
1847   struct rb_node serial_node ;
1848   struct key_type *type ;
1849   struct rw_semaphore sem ;
1850   struct key_user *user ;
1851   void *security ;
1852   union __anonunion_ldv_16661_159 ldv_16661 ;
1853   uid_t uid ;
1854   gid_t gid ;
1855   key_perm_t perm ;
1856   unsigned short quotalen ;
1857   unsigned short datalen ;
1858   unsigned long flags ;
1859   char *description ;
1860   union __anonunion_type_data_160 type_data ;
1861   union __anonunion_payload_161 payload ;
1862};
1863#line 316
1864struct audit_context;
1865#line 316
1866struct audit_context;
1867#line 28 "include/linux/selinux.h"
1868struct group_info {
1869   atomic_t usage ;
1870   int ngroups ;
1871   int nblocks ;
1872   gid_t small_block[32U] ;
1873   gid_t *blocks[0U] ;
1874};
1875#line 77 "include/linux/cred.h"
1876struct thread_group_cred {
1877   atomic_t usage ;
1878   pid_t tgid ;
1879   spinlock_t lock ;
1880   struct key *session_keyring ;
1881   struct key *process_keyring ;
1882   struct rcu_head rcu ;
1883};
1884#line 91 "include/linux/cred.h"
1885struct cred {
1886   atomic_t usage ;
1887   atomic_t subscribers ;
1888   void *put_addr ;
1889   unsigned int magic ;
1890   uid_t uid ;
1891   gid_t gid ;
1892   uid_t suid ;
1893   gid_t sgid ;
1894   uid_t euid ;
1895   gid_t egid ;
1896   uid_t fsuid ;
1897   gid_t fsgid ;
1898   unsigned int securebits ;
1899   kernel_cap_t cap_inheritable ;
1900   kernel_cap_t cap_permitted ;
1901   kernel_cap_t cap_effective ;
1902   kernel_cap_t cap_bset ;
1903   unsigned char jit_keyring ;
1904   struct key *thread_keyring ;
1905   struct key *request_key_auth ;
1906   struct thread_group_cred *tgcred ;
1907   void *security ;
1908   struct user_struct *user ;
1909   struct user_namespace *user_ns ;
1910   struct group_info *group_info ;
1911   struct rcu_head rcu ;
1912};
1913#line 264
1914struct llist_node;
1915#line 64 "include/linux/llist.h"
1916struct llist_node {
1917   struct llist_node *next ;
1918};
1919#line 185
1920struct futex_pi_state;
1921#line 185
1922struct futex_pi_state;
1923#line 186
1924struct robust_list_head;
1925#line 186
1926struct robust_list_head;
1927#line 187
1928struct bio_list;
1929#line 187
1930struct bio_list;
1931#line 188
1932struct fs_struct;
1933#line 188
1934struct fs_struct;
1935#line 189
1936struct perf_event_context;
1937#line 189
1938struct perf_event_context;
1939#line 190
1940struct blk_plug;
1941#line 190
1942struct blk_plug;
1943#line 149 "include/linux/sched.h"
1944struct cfs_rq;
1945#line 149
1946struct cfs_rq;
1947#line 406 "include/linux/sched.h"
1948struct sighand_struct {
1949   atomic_t count ;
1950   struct k_sigaction action[64U] ;
1951   spinlock_t siglock ;
1952   wait_queue_head_t signalfd_wqh ;
1953};
1954#line 449 "include/linux/sched.h"
1955struct pacct_struct {
1956   int ac_flag ;
1957   long ac_exitcode ;
1958   unsigned long ac_mem ;
1959   cputime_t ac_utime ;
1960   cputime_t ac_stime ;
1961   unsigned long ac_minflt ;
1962   unsigned long ac_majflt ;
1963};
1964#line 457 "include/linux/sched.h"
1965struct cpu_itimer {
1966   cputime_t expires ;
1967   cputime_t incr ;
1968   u32 error ;
1969   u32 incr_error ;
1970};
1971#line 464 "include/linux/sched.h"
1972struct task_cputime {
1973   cputime_t utime ;
1974   cputime_t stime ;
1975   unsigned long long sum_exec_runtime ;
1976};
1977#line 481 "include/linux/sched.h"
1978struct thread_group_cputimer {
1979   struct task_cputime cputime ;
1980   int running ;
1981   raw_spinlock_t lock ;
1982};
1983#line 517
1984struct autogroup;
1985#line 517
1986struct autogroup;
1987#line 518
1988struct tty_struct;
1989#line 518
1990struct taskstats;
1991#line 518
1992struct tty_audit_buf;
1993#line 518 "include/linux/sched.h"
1994struct signal_struct {
1995   atomic_t sigcnt ;
1996   atomic_t live ;
1997   int nr_threads ;
1998   wait_queue_head_t wait_chldexit ;
1999   struct task_struct *curr_target ;
2000   struct sigpending shared_pending ;
2001   int group_exit_code ;
2002   int notify_count ;
2003   struct task_struct *group_exit_task ;
2004   int group_stop_count ;
2005   unsigned int flags ;
2006   unsigned char is_child_subreaper : 1 ;
2007   unsigned char has_child_subreaper : 1 ;
2008   struct list_head posix_timers ;
2009   struct hrtimer real_timer ;
2010   struct pid *leader_pid ;
2011   ktime_t it_real_incr ;
2012   struct cpu_itimer it[2U] ;
2013   struct thread_group_cputimer cputimer ;
2014   struct task_cputime cputime_expires ;
2015   struct list_head cpu_timers[3U] ;
2016   struct pid *tty_old_pgrp ;
2017   int leader ;
2018   struct tty_struct *tty ;
2019   struct autogroup *autogroup ;
2020   cputime_t utime ;
2021   cputime_t stime ;
2022   cputime_t cutime ;
2023   cputime_t cstime ;
2024   cputime_t gtime ;
2025   cputime_t cgtime ;
2026   cputime_t prev_utime ;
2027   cputime_t prev_stime ;
2028   unsigned long nvcsw ;
2029   unsigned long nivcsw ;
2030   unsigned long cnvcsw ;
2031   unsigned long cnivcsw ;
2032   unsigned long min_flt ;
2033   unsigned long maj_flt ;
2034   unsigned long cmin_flt ;
2035   unsigned long cmaj_flt ;
2036   unsigned long inblock ;
2037   unsigned long oublock ;
2038   unsigned long cinblock ;
2039   unsigned long coublock ;
2040   unsigned long maxrss ;
2041   unsigned long cmaxrss ;
2042   struct task_io_accounting ioac ;
2043   unsigned long long sum_sched_runtime ;
2044   struct rlimit rlim[16U] ;
2045   struct pacct_struct pacct ;
2046   struct taskstats *stats ;
2047   unsigned int audit_tty ;
2048   struct tty_audit_buf *tty_audit_buf ;
2049   struct rw_semaphore group_rwsem ;
2050   int oom_adj ;
2051   int oom_score_adj ;
2052   int oom_score_adj_min ;
2053   struct mutex cred_guard_mutex ;
2054};
2055#line 699 "include/linux/sched.h"
2056struct user_struct {
2057   atomic_t __count ;
2058   atomic_t processes ;
2059   atomic_t files ;
2060   atomic_t sigpending ;
2061   atomic_t inotify_watches ;
2062   atomic_t inotify_devs ;
2063   atomic_t fanotify_listeners ;
2064   atomic_long_t epoll_watches ;
2065   unsigned long mq_bytes ;
2066   unsigned long locked_shm ;
2067   struct key *uid_keyring ;
2068   struct key *session_keyring ;
2069   struct hlist_node uidhash_node ;
2070   uid_t uid ;
2071   struct user_namespace *user_ns ;
2072   atomic_long_t locked_vm ;
2073};
2074#line 744
2075struct backing_dev_info;
2076#line 744
2077struct backing_dev_info;
2078#line 745
2079struct reclaim_state;
2080#line 745
2081struct reclaim_state;
2082#line 746 "include/linux/sched.h"
2083struct sched_info {
2084   unsigned long pcount ;
2085   unsigned long long run_delay ;
2086   unsigned long long last_arrival ;
2087   unsigned long long last_queued ;
2088};
2089#line 760 "include/linux/sched.h"
2090struct task_delay_info {
2091   spinlock_t lock ;
2092   unsigned int flags ;
2093   struct timespec blkio_start ;
2094   struct timespec blkio_end ;
2095   u64 blkio_delay ;
2096   u64 swapin_delay ;
2097   u32 blkio_count ;
2098   u32 swapin_count ;
2099   struct timespec freepages_start ;
2100   struct timespec freepages_end ;
2101   u64 freepages_delay ;
2102   u32 freepages_count ;
2103};
2104#line 1069
2105struct io_context;
2106#line 1069
2107struct io_context;
2108#line 1097
2109struct pipe_inode_info;
2110#line 1097
2111struct pipe_inode_info;
2112#line 1099
2113struct rq;
2114#line 1099
2115struct rq;
2116#line 1100 "include/linux/sched.h"
2117struct sched_class {
2118   struct sched_class  const  *next ;
2119   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2120   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2121   void (*yield_task)(struct rq * ) ;
2122   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2123   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2124   struct task_struct *(*pick_next_task)(struct rq * ) ;
2125   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2126   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2127   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2128   void (*post_schedule)(struct rq * ) ;
2129   void (*task_waking)(struct task_struct * ) ;
2130   void (*task_woken)(struct rq * , struct task_struct * ) ;
2131   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2132   void (*rq_online)(struct rq * ) ;
2133   void (*rq_offline)(struct rq * ) ;
2134   void (*set_curr_task)(struct rq * ) ;
2135   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2136   void (*task_fork)(struct task_struct * ) ;
2137   void (*switched_from)(struct rq * , struct task_struct * ) ;
2138   void (*switched_to)(struct rq * , struct task_struct * ) ;
2139   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2140   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2141   void (*task_move_group)(struct task_struct * , int  ) ;
2142};
2143#line 1165 "include/linux/sched.h"
2144struct load_weight {
2145   unsigned long weight ;
2146   unsigned long inv_weight ;
2147};
2148#line 1170 "include/linux/sched.h"
2149struct sched_statistics {
2150   u64 wait_start ;
2151   u64 wait_max ;
2152   u64 wait_count ;
2153   u64 wait_sum ;
2154   u64 iowait_count ;
2155   u64 iowait_sum ;
2156   u64 sleep_start ;
2157   u64 sleep_max ;
2158   s64 sum_sleep_runtime ;
2159   u64 block_start ;
2160   u64 block_max ;
2161   u64 exec_max ;
2162   u64 slice_max ;
2163   u64 nr_migrations_cold ;
2164   u64 nr_failed_migrations_affine ;
2165   u64 nr_failed_migrations_running ;
2166   u64 nr_failed_migrations_hot ;
2167   u64 nr_forced_migrations ;
2168   u64 nr_wakeups ;
2169   u64 nr_wakeups_sync ;
2170   u64 nr_wakeups_migrate ;
2171   u64 nr_wakeups_local ;
2172   u64 nr_wakeups_remote ;
2173   u64 nr_wakeups_affine ;
2174   u64 nr_wakeups_affine_attempts ;
2175   u64 nr_wakeups_passive ;
2176   u64 nr_wakeups_idle ;
2177};
2178#line 1205 "include/linux/sched.h"
2179struct sched_entity {
2180   struct load_weight load ;
2181   struct rb_node run_node ;
2182   struct list_head group_node ;
2183   unsigned int on_rq ;
2184   u64 exec_start ;
2185   u64 sum_exec_runtime ;
2186   u64 vruntime ;
2187   u64 prev_sum_exec_runtime ;
2188   u64 nr_migrations ;
2189   struct sched_statistics statistics ;
2190   struct sched_entity *parent ;
2191   struct cfs_rq *cfs_rq ;
2192   struct cfs_rq *my_q ;
2193};
2194#line 1231
2195struct rt_rq;
2196#line 1231 "include/linux/sched.h"
2197struct sched_rt_entity {
2198   struct list_head run_list ;
2199   unsigned long timeout ;
2200   unsigned int time_slice ;
2201   int nr_cpus_allowed ;
2202   struct sched_rt_entity *back ;
2203   struct sched_rt_entity *parent ;
2204   struct rt_rq *rt_rq ;
2205   struct rt_rq *my_q ;
2206};
2207#line 1255
2208struct mem_cgroup;
2209#line 1255 "include/linux/sched.h"
2210struct memcg_batch_info {
2211   int do_batch ;
2212   struct mem_cgroup *memcg ;
2213   unsigned long nr_pages ;
2214   unsigned long memsw_nr_pages ;
2215};
2216#line 1616
2217struct files_struct;
2218#line 1616
2219struct css_set;
2220#line 1616
2221struct compat_robust_list_head;
2222#line 1616 "include/linux/sched.h"
2223struct task_struct {
2224   long volatile   state ;
2225   void *stack ;
2226   atomic_t usage ;
2227   unsigned int flags ;
2228   unsigned int ptrace ;
2229   struct llist_node wake_entry ;
2230   int on_cpu ;
2231   int on_rq ;
2232   int prio ;
2233   int static_prio ;
2234   int normal_prio ;
2235   unsigned int rt_priority ;
2236   struct sched_class  const  *sched_class ;
2237   struct sched_entity se ;
2238   struct sched_rt_entity rt ;
2239   struct hlist_head preempt_notifiers ;
2240   unsigned char fpu_counter ;
2241   unsigned int policy ;
2242   cpumask_t cpus_allowed ;
2243   struct sched_info sched_info ;
2244   struct list_head tasks ;
2245   struct plist_node pushable_tasks ;
2246   struct mm_struct *mm ;
2247   struct mm_struct *active_mm ;
2248   unsigned char brk_randomized : 1 ;
2249   int exit_state ;
2250   int exit_code ;
2251   int exit_signal ;
2252   int pdeath_signal ;
2253   unsigned int jobctl ;
2254   unsigned int personality ;
2255   unsigned char did_exec : 1 ;
2256   unsigned char in_execve : 1 ;
2257   unsigned char in_iowait : 1 ;
2258   unsigned char sched_reset_on_fork : 1 ;
2259   unsigned char sched_contributes_to_load : 1 ;
2260   unsigned char irq_thread : 1 ;
2261   pid_t pid ;
2262   pid_t tgid ;
2263   unsigned long stack_canary ;
2264   struct task_struct *real_parent ;
2265   struct task_struct *parent ;
2266   struct list_head children ;
2267   struct list_head sibling ;
2268   struct task_struct *group_leader ;
2269   struct list_head ptraced ;
2270   struct list_head ptrace_entry ;
2271   struct pid_link pids[3U] ;
2272   struct list_head thread_group ;
2273   struct completion *vfork_done ;
2274   int *set_child_tid ;
2275   int *clear_child_tid ;
2276   cputime_t utime ;
2277   cputime_t stime ;
2278   cputime_t utimescaled ;
2279   cputime_t stimescaled ;
2280   cputime_t gtime ;
2281   cputime_t prev_utime ;
2282   cputime_t prev_stime ;
2283   unsigned long nvcsw ;
2284   unsigned long nivcsw ;
2285   struct timespec start_time ;
2286   struct timespec real_start_time ;
2287   unsigned long min_flt ;
2288   unsigned long maj_flt ;
2289   struct task_cputime cputime_expires ;
2290   struct list_head cpu_timers[3U] ;
2291   struct cred  const  *real_cred ;
2292   struct cred  const  *cred ;
2293   struct cred *replacement_session_keyring ;
2294   char comm[16U] ;
2295   int link_count ;
2296   int total_link_count ;
2297   struct sysv_sem sysvsem ;
2298   unsigned long last_switch_count ;
2299   struct thread_struct thread ;
2300   struct fs_struct *fs ;
2301   struct files_struct *files ;
2302   struct nsproxy *nsproxy ;
2303   struct signal_struct *signal ;
2304   struct sighand_struct *sighand ;
2305   sigset_t blocked ;
2306   sigset_t real_blocked ;
2307   sigset_t saved_sigmask ;
2308   struct sigpending pending ;
2309   unsigned long sas_ss_sp ;
2310   size_t sas_ss_size ;
2311   int (*notifier)(void * ) ;
2312   void *notifier_data ;
2313   sigset_t *notifier_mask ;
2314   struct audit_context *audit_context ;
2315   uid_t loginuid ;
2316   unsigned int sessionid ;
2317   seccomp_t seccomp ;
2318   u32 parent_exec_id ;
2319   u32 self_exec_id ;
2320   spinlock_t alloc_lock ;
2321   raw_spinlock_t pi_lock ;
2322   struct plist_head pi_waiters ;
2323   struct rt_mutex_waiter *pi_blocked_on ;
2324   struct mutex_waiter *blocked_on ;
2325   unsigned int irq_events ;
2326   unsigned long hardirq_enable_ip ;
2327   unsigned long hardirq_disable_ip ;
2328   unsigned int hardirq_enable_event ;
2329   unsigned int hardirq_disable_event ;
2330   int hardirqs_enabled ;
2331   int hardirq_context ;
2332   unsigned long softirq_disable_ip ;
2333   unsigned long softirq_enable_ip ;
2334   unsigned int softirq_disable_event ;
2335   unsigned int softirq_enable_event ;
2336   int softirqs_enabled ;
2337   int softirq_context ;
2338   u64 curr_chain_key ;
2339   int lockdep_depth ;
2340   unsigned int lockdep_recursion ;
2341   struct held_lock held_locks[48U] ;
2342   gfp_t lockdep_reclaim_gfp ;
2343   void *journal_info ;
2344   struct bio_list *bio_list ;
2345   struct blk_plug *plug ;
2346   struct reclaim_state *reclaim_state ;
2347   struct backing_dev_info *backing_dev_info ;
2348   struct io_context *io_context ;
2349   unsigned long ptrace_message ;
2350   siginfo_t *last_siginfo ;
2351   struct task_io_accounting ioac ;
2352   u64 acct_rss_mem1 ;
2353   u64 acct_vm_mem1 ;
2354   cputime_t acct_timexpd ;
2355   nodemask_t mems_allowed ;
2356   seqcount_t mems_allowed_seq ;
2357   int cpuset_mem_spread_rotor ;
2358   int cpuset_slab_spread_rotor ;
2359   struct css_set *cgroups ;
2360   struct list_head cg_list ;
2361   struct robust_list_head *robust_list ;
2362   struct compat_robust_list_head *compat_robust_list ;
2363   struct list_head pi_state_list ;
2364   struct futex_pi_state *pi_state_cache ;
2365   struct perf_event_context *perf_event_ctxp[2U] ;
2366   struct mutex perf_event_mutex ;
2367   struct list_head perf_event_list ;
2368   struct mempolicy *mempolicy ;
2369   short il_next ;
2370   short pref_node_fork ;
2371   struct rcu_head rcu ;
2372   struct pipe_inode_info *splice_pipe ;
2373   struct task_delay_info *delays ;
2374   int make_it_fail ;
2375   int nr_dirtied ;
2376   int nr_dirtied_pause ;
2377   unsigned long dirty_paused_when ;
2378   int latency_record_count ;
2379   struct latency_record latency_record[32U] ;
2380   unsigned long timer_slack_ns ;
2381   unsigned long default_timer_slack_ns ;
2382   struct list_head *scm_work_list ;
2383   unsigned long trace ;
2384   unsigned long trace_recursion ;
2385   struct memcg_batch_info memcg_batch ;
2386   atomic_t ptrace_bp_refcnt ;
2387};
2388#line 44 "include/linux/kthread.h"
2389struct kthread_work;
2390#line 44
2391struct kthread_work;
2392#line 57 "include/linux/kthread.h"
2393struct kthread_worker {
2394   spinlock_t lock ;
2395   struct list_head work_list ;
2396   struct task_struct *task ;
2397};
2398#line 63 "include/linux/kthread.h"
2399struct kthread_work {
2400   struct list_head node ;
2401   void (*func)(struct kthread_work * ) ;
2402   wait_queue_head_t done ;
2403   atomic_t flushing ;
2404   int queue_seq ;
2405   int done_seq ;
2406};
2407#line 32 "include/linux/spi/spi.h"
2408struct spi_master;
2409#line 32 "include/linux/spi/spi.h"
2410struct spi_device {
2411   struct device dev ;
2412   struct spi_master *master ;
2413   u32 max_speed_hz ;
2414   u8 chip_select ;
2415   u8 mode ;
2416   u8 bits_per_word ;
2417   int irq ;
2418   void *controller_state ;
2419   void *controller_data ;
2420   char modalias[32U] ;
2421};
2422#line 144
2423struct spi_message;
2424#line 144
2425struct spi_message;
2426#line 203 "include/linux/spi/spi.h"
2427struct spi_master {
2428   struct device dev ;
2429   struct list_head list ;
2430   s16 bus_num ;
2431   u16 num_chipselect ;
2432   u16 dma_alignment ;
2433   u16 mode_bits ;
2434   u16 flags ;
2435   spinlock_t bus_lock_spinlock ;
2436   struct mutex bus_lock_mutex ;
2437   bool bus_lock_flag ;
2438   int (*setup)(struct spi_device * ) ;
2439   int (*transfer)(struct spi_device * , struct spi_message * ) ;
2440   void (*cleanup)(struct spi_device * ) ;
2441   bool queued ;
2442   struct kthread_worker kworker ;
2443   struct task_struct *kworker_task ;
2444   struct kthread_work pump_messages ;
2445   spinlock_t queue_lock ;
2446   struct list_head queue ;
2447   struct spi_message *cur_msg ;
2448   bool busy ;
2449   bool running ;
2450   bool rt ;
2451   int (*prepare_transfer_hardware)(struct spi_master * ) ;
2452   int (*transfer_one_message)(struct spi_master * , struct spi_message * ) ;
2453   int (*unprepare_transfer_hardware)(struct spi_master * ) ;
2454};
2455#line 406 "include/linux/spi/spi.h"
2456struct spi_transfer {
2457   void const   *tx_buf ;
2458   void *rx_buf ;
2459   unsigned int len ;
2460   dma_addr_t tx_dma ;
2461   dma_addr_t rx_dma ;
2462   unsigned char cs_change : 1 ;
2463   u8 bits_per_word ;
2464   u16 delay_usecs ;
2465   u32 speed_hz ;
2466   struct list_head transfer_list ;
2467};
2468#line 512 "include/linux/spi/spi.h"
2469struct spi_message {
2470   struct list_head transfers ;
2471   struct spi_device *spi ;
2472   unsigned char is_dma_mapped : 1 ;
2473   void (*complete)(void * ) ;
2474   void *context ;
2475   unsigned int actual_length ;
2476   int status ;
2477   struct list_head queue ;
2478   void *state ;
2479};
2480#line 858 "include/linux/spi/spi.h"
2481struct dac124s085_led {
2482   struct led_classdev ldev ;
2483   struct spi_device *spi ;
2484   int id ;
2485   int brightness ;
2486   char name[13U] ;
2487   struct mutex mutex ;
2488   struct work_struct work ;
2489   spinlock_t lock ;
2490};
2491#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
2492struct dac124s085 {
2493   struct dac124s085_led leds[4U] ;
2494};
2495#line 2
2496void ldv_spin_lock(void) ;
2497#line 3
2498void ldv_spin_unlock(void) ;
2499#line 4
2500int ldv_spin_trylock(void) ;
2501#line 323 "include/linux/kernel.h"
2502extern int snprintf(char * , size_t  , char const   *  , ...) ;
2503#line 24 "include/linux/list.h"
2504__inline static void INIT_LIST_HEAD(struct list_head *list ) 
2505{ unsigned long __cil_tmp2 ;
2506  unsigned long __cil_tmp3 ;
2507
2508  {
2509#line 26
2510  *((struct list_head **)list) = list;
2511#line 27
2512  __cil_tmp2 = (unsigned long )list;
2513#line 27
2514  __cil_tmp3 = __cil_tmp2 + 8;
2515#line 27
2516  *((struct list_head **)__cil_tmp3) = list;
2517#line 28
2518  return;
2519}
2520}
2521#line 47
2522extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
2523#line 74 "include/linux/list.h"
2524__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
2525{ unsigned long __cil_tmp3 ;
2526  unsigned long __cil_tmp4 ;
2527  struct list_head *__cil_tmp5 ;
2528
2529  {
2530  {
2531#line 76
2532  __cil_tmp3 = (unsigned long )head;
2533#line 76
2534  __cil_tmp4 = __cil_tmp3 + 8;
2535#line 76
2536  __cil_tmp5 = *((struct list_head **)__cil_tmp4);
2537#line 76
2538  __list_add(new, __cil_tmp5, head);
2539  }
2540#line 77
2541  return;
2542}
2543}
2544#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2545extern void *memset(void * , int  , size_t  ) ;
2546#line 261 "include/linux/lockdep.h"
2547extern void lockdep_init_map(struct lockdep_map * , char const   * , struct lock_class_key * ,
2548                             int  ) ;
2549#line 93 "include/linux/spinlock.h"
2550extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
2551#line 22 "include/linux/spinlock_api_smp.h"
2552extern void _raw_spin_lock(raw_spinlock_t * ) ;
2553#line 39
2554extern void _raw_spin_unlock(raw_spinlock_t * ) ;
2555#line 272 "include/linux/spinlock.h"
2556__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
2557{ 
2558
2559  {
2560#line 274
2561  return ((struct raw_spinlock *)lock);
2562}
2563}
2564#line 283 "include/linux/spinlock.h"
2565__inline static void ldv_spin_lock_1(spinlock_t *lock ) 
2566{ struct raw_spinlock *__cil_tmp2 ;
2567
2568  {
2569  {
2570#line 285
2571  __cil_tmp2 = (struct raw_spinlock *)lock;
2572#line 285
2573  _raw_spin_lock(__cil_tmp2);
2574  }
2575#line 286
2576  return;
2577}
2578}
2579#line 283
2580__inline static void spin_lock(spinlock_t *lock ) ;
2581#line 323 "include/linux/spinlock.h"
2582__inline static void ldv_spin_unlock_5(spinlock_t *lock ) 
2583{ struct raw_spinlock *__cil_tmp2 ;
2584
2585  {
2586  {
2587#line 325
2588  __cil_tmp2 = (struct raw_spinlock *)lock;
2589#line 325
2590  _raw_spin_unlock(__cil_tmp2);
2591  }
2592#line 326
2593  return;
2594}
2595}
2596#line 323
2597__inline static void spin_unlock(spinlock_t *lock ) ;
2598#line 115 "include/linux/mutex.h"
2599extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
2600#line 134
2601extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
2602#line 169
2603extern void mutex_unlock(struct mutex * ) ;
2604#line 156 "include/linux/workqueue.h"
2605extern void __init_work(struct work_struct * , int  ) ;
2606#line 380
2607extern int schedule_work(struct work_struct * ) ;
2608#line 392
2609extern bool cancel_work_sync(struct work_struct * ) ;
2610#line 161 "include/linux/slab.h"
2611extern void kfree(void const   * ) ;
2612#line 220 "include/linux/slub_def.h"
2613extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2614#line 223
2615void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2616#line 353 "include/linux/slab.h"
2617__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2618#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
2619extern void *__VERIFIER_nondet_pointer(void) ;
2620#line 11
2621void ldv_check_alloc_flags(gfp_t flags ) ;
2622#line 12
2623void ldv_check_alloc_nonatomic(void) ;
2624#line 14
2625struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2626#line 79 "include/linux/leds.h"
2627extern int led_classdev_register(struct device * , struct led_classdev * ) ;
2628#line 81
2629extern void led_classdev_unregister(struct led_classdev * ) ;
2630#line 792 "include/linux/device.h"
2631extern void *dev_get_drvdata(struct device  const  * ) ;
2632#line 793
2633extern int dev_set_drvdata(struct device * , void * ) ;
2634#line 135 "include/linux/spi/spi.h"
2635__inline static void spi_set_drvdata(struct spi_device *spi , void *data ) 
2636{ struct device *__cil_tmp3 ;
2637
2638  {
2639  {
2640#line 137
2641  __cil_tmp3 = (struct device *)spi;
2642#line 137
2643  dev_set_drvdata(__cil_tmp3, data);
2644  }
2645#line 138
2646  return;
2647}
2648}
2649#line 140 "include/linux/spi/spi.h"
2650__inline static void *spi_get_drvdata(struct spi_device *spi ) 
2651{ void *tmp ;
2652  struct device *__cil_tmp3 ;
2653  struct device  const  *__cil_tmp4 ;
2654
2655  {
2656  {
2657#line 142
2658  __cil_tmp3 = (struct device *)spi;
2659#line 142
2660  __cil_tmp4 = (struct device  const  *)__cil_tmp3;
2661#line 142
2662  tmp = dev_get_drvdata(__cil_tmp4);
2663  }
2664#line 142
2665  return (tmp);
2666}
2667}
2668#line 573 "include/linux/spi/spi.h"
2669__inline static void spi_message_init(struct spi_message *m ) 
2670{ void *__cil_tmp2 ;
2671  struct list_head *__cil_tmp3 ;
2672
2673  {
2674  {
2675#line 575
2676  __cil_tmp2 = (void *)m;
2677#line 575
2678  memset(__cil_tmp2, 0, 80UL);
2679#line 576
2680  __cil_tmp3 = (struct list_head *)m;
2681#line 576
2682  INIT_LIST_HEAD(__cil_tmp3);
2683  }
2684#line 577
2685  return;
2686}
2687}
2688#line 580 "include/linux/spi/spi.h"
2689__inline static void spi_message_add_tail(struct spi_transfer *t , struct spi_message *m ) 
2690{ unsigned long __cil_tmp3 ;
2691  unsigned long __cil_tmp4 ;
2692  struct list_head *__cil_tmp5 ;
2693  struct list_head *__cil_tmp6 ;
2694
2695  {
2696  {
2697#line 582
2698  __cil_tmp3 = (unsigned long )t;
2699#line 582
2700  __cil_tmp4 = __cil_tmp3 + 48;
2701#line 582
2702  __cil_tmp5 = (struct list_head *)__cil_tmp4;
2703#line 582
2704  __cil_tmp6 = (struct list_head *)m;
2705#line 582
2706  list_add_tail(__cil_tmp5, __cil_tmp6);
2707  }
2708#line 583
2709  return;
2710}
2711}
2712#line 630
2713extern int spi_sync(struct spi_device * , struct spi_message * ) ;
2714#line 646 "include/linux/spi/spi.h"
2715__inline static int spi_write(struct spi_device *spi , void const   *buf , size_t len ) 
2716{ struct spi_transfer t ;
2717  struct spi_message m ;
2718  int tmp ;
2719  struct spi_transfer *__cil_tmp7 ;
2720  unsigned long __cil_tmp8 ;
2721  unsigned long __cil_tmp9 ;
2722  unsigned long __cil_tmp10 ;
2723  unsigned long __cil_tmp11 ;
2724  unsigned long __cil_tmp12 ;
2725  unsigned long __cil_tmp13 ;
2726  unsigned long __cil_tmp14 ;
2727  unsigned long __cil_tmp15 ;
2728  unsigned long __cil_tmp16 ;
2729  unsigned long __cil_tmp17 ;
2730  unsigned long __cil_tmp18 ;
2731
2732  {
2733  {
2734#line 648
2735  __cil_tmp7 = & t;
2736#line 648
2737  *((void const   **)__cil_tmp7) = buf;
2738#line 648
2739  __cil_tmp8 = (unsigned long )(& t) + 8;
2740#line 648
2741  *((void **)__cil_tmp8) = (void *)0;
2742#line 648
2743  __cil_tmp9 = (unsigned long )(& t) + 16;
2744#line 648
2745  *((unsigned int *)__cil_tmp9) = (unsigned int )len;
2746#line 648
2747  __cil_tmp10 = (unsigned long )(& t) + 24;
2748#line 648
2749  *((dma_addr_t *)__cil_tmp10) = 0ULL;
2750#line 648
2751  __cil_tmp11 = (unsigned long )(& t) + 32;
2752#line 648
2753  *((dma_addr_t *)__cil_tmp11) = 0ULL;
2754#line 648
2755  __cil_tmp12 = (unsigned long )(& t) + 40;
2756#line 648
2757  *((unsigned char *)__cil_tmp12) = (unsigned char)0;
2758#line 648
2759  __cil_tmp13 = (unsigned long )(& t) + 41;
2760#line 648
2761  *((u8 *)__cil_tmp13) = (unsigned char)0;
2762#line 648
2763  __cil_tmp14 = (unsigned long )(& t) + 42;
2764#line 648
2765  *((u16 *)__cil_tmp14) = (unsigned short)0;
2766#line 648
2767  __cil_tmp15 = (unsigned long )(& t) + 44;
2768#line 648
2769  *((u32 *)__cil_tmp15) = 0U;
2770#line 648
2771  __cil_tmp16 = (unsigned long )(& t) + 48;
2772#line 648
2773  *((struct list_head **)__cil_tmp16) = (struct list_head *)0;
2774#line 648
2775  __cil_tmp17 = 48 + 8;
2776#line 648
2777  __cil_tmp18 = (unsigned long )(& t) + __cil_tmp17;
2778#line 648
2779  *((struct list_head **)__cil_tmp18) = (struct list_head *)0;
2780#line 654
2781  spi_message_init(& m);
2782#line 655
2783  spi_message_add_tail(& t, & m);
2784#line 656
2785  tmp = spi_sync(spi, & m);
2786  }
2787#line 656
2788  return (tmp);
2789}
2790}
2791#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
2792static void dac124s085_led_work(struct work_struct *work ) 
2793{ struct dac124s085_led *led ;
2794  struct work_struct  const  *__mptr ;
2795  u16 word ;
2796  struct dac124s085_led *__cil_tmp5 ;
2797  unsigned long __cil_tmp6 ;
2798  unsigned long __cil_tmp7 ;
2799  struct mutex *__cil_tmp8 ;
2800  u16 *__cil_tmp9 ;
2801  unsigned long __cil_tmp10 ;
2802  unsigned long __cil_tmp11 ;
2803  int __cil_tmp12 ;
2804  short __cil_tmp13 ;
2805  int __cil_tmp14 ;
2806  int __cil_tmp15 ;
2807  unsigned long __cil_tmp16 ;
2808  unsigned long __cil_tmp17 ;
2809  int __cil_tmp18 ;
2810  int __cil_tmp19 ;
2811  short __cil_tmp20 ;
2812  int __cil_tmp21 ;
2813  int __cil_tmp22 ;
2814  int __cil_tmp23 ;
2815  unsigned long __cil_tmp24 ;
2816  unsigned long __cil_tmp25 ;
2817  struct spi_device *__cil_tmp26 ;
2818  void const   *__cil_tmp27 ;
2819  unsigned long __cil_tmp28 ;
2820  unsigned long __cil_tmp29 ;
2821  struct mutex *__cil_tmp30 ;
2822
2823  {
2824  {
2825#line 58
2826  __mptr = (struct work_struct  const  *)work;
2827#line 58
2828  __cil_tmp5 = (struct dac124s085_led *)__mptr;
2829#line 58
2830  led = __cil_tmp5 + 0xfffffffffffffda0UL;
2831#line 62
2832  __cil_tmp6 = (unsigned long )led;
2833#line 62
2834  __cil_tmp7 = __cil_tmp6 + 440;
2835#line 62
2836  __cil_tmp8 = (struct mutex *)__cil_tmp7;
2837#line 62
2838  mutex_lock_nested(__cil_tmp8, 0U);
2839#line 63
2840  __cil_tmp9 = & word;
2841#line 63
2842  __cil_tmp10 = (unsigned long )led;
2843#line 63
2844  __cil_tmp11 = __cil_tmp10 + 420;
2845#line 63
2846  __cil_tmp12 = *((int *)__cil_tmp11);
2847#line 63
2848  __cil_tmp13 = (short )__cil_tmp12;
2849#line 63
2850  __cil_tmp14 = (int )__cil_tmp13;
2851#line 63
2852  __cil_tmp15 = __cil_tmp14 & 4095;
2853#line 63
2854  __cil_tmp16 = (unsigned long )led;
2855#line 63
2856  __cil_tmp17 = __cil_tmp16 + 416;
2857#line 63
2858  __cil_tmp18 = *((int *)__cil_tmp17);
2859#line 63
2860  __cil_tmp19 = __cil_tmp18 << 14;
2861#line 63
2862  __cil_tmp20 = (short )__cil_tmp19;
2863#line 63
2864  __cil_tmp21 = (int )__cil_tmp20;
2865#line 63
2866  __cil_tmp22 = __cil_tmp21 | 4096;
2867#line 63
2868  __cil_tmp23 = __cil_tmp22 | __cil_tmp15;
2869#line 63
2870  *__cil_tmp9 = (unsigned short )__cil_tmp23;
2871#line 65
2872  __cil_tmp24 = (unsigned long )led;
2873#line 65
2874  __cil_tmp25 = __cil_tmp24 + 408;
2875#line 65
2876  __cil_tmp26 = *((struct spi_device **)__cil_tmp25);
2877#line 65
2878  __cil_tmp27 = (void const   *)(& word);
2879#line 65
2880  spi_write(__cil_tmp26, __cil_tmp27, 2UL);
2881#line 66
2882  __cil_tmp28 = (unsigned long )led;
2883#line 66
2884  __cil_tmp29 = __cil_tmp28 + 440;
2885#line 66
2886  __cil_tmp30 = (struct mutex *)__cil_tmp29;
2887#line 66
2888  mutex_unlock(__cil_tmp30);
2889  }
2890#line 67
2891  return;
2892}
2893}
2894#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
2895static void dac124s085_set_brightness(struct led_classdev *ldev , enum led_brightness brightness ) 
2896{ struct dac124s085_led *led ;
2897  struct led_classdev  const  *__mptr ;
2898  unsigned long __cil_tmp5 ;
2899  unsigned long __cil_tmp6 ;
2900  spinlock_t *__cil_tmp7 ;
2901  unsigned long __cil_tmp8 ;
2902  unsigned long __cil_tmp9 ;
2903  unsigned long __cil_tmp10 ;
2904  unsigned long __cil_tmp11 ;
2905  struct work_struct *__cil_tmp12 ;
2906  unsigned long __cil_tmp13 ;
2907  unsigned long __cil_tmp14 ;
2908  spinlock_t *__cil_tmp15 ;
2909
2910  {
2911  {
2912#line 72
2913  __mptr = (struct led_classdev  const  *)ldev;
2914#line 72
2915  led = (struct dac124s085_led *)__mptr;
2916#line 75
2917  __cil_tmp5 = (unsigned long )led;
2918#line 75
2919  __cil_tmp6 = __cil_tmp5 + 688;
2920#line 75
2921  __cil_tmp7 = (spinlock_t *)__cil_tmp6;
2922#line 75
2923  spin_lock(__cil_tmp7);
2924#line 76
2925  __cil_tmp8 = (unsigned long )led;
2926#line 76
2927  __cil_tmp9 = __cil_tmp8 + 420;
2928#line 76
2929  *((int *)__cil_tmp9) = (int )brightness;
2930#line 77
2931  __cil_tmp10 = (unsigned long )led;
2932#line 77
2933  __cil_tmp11 = __cil_tmp10 + 608;
2934#line 77
2935  __cil_tmp12 = (struct work_struct *)__cil_tmp11;
2936#line 77
2937  schedule_work(__cil_tmp12);
2938#line 78
2939  __cil_tmp13 = (unsigned long )led;
2940#line 78
2941  __cil_tmp14 = __cil_tmp13 + 688;
2942#line 78
2943  __cil_tmp15 = (spinlock_t *)__cil_tmp14;
2944#line 78
2945  spin_unlock(__cil_tmp15);
2946  }
2947#line 79
2948  return;
2949}
2950}
2951#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
2952static int dac124s085_probe(struct spi_device *spi ) 
2953{ struct dac124s085 *dac ;
2954  struct dac124s085_led *led ;
2955  int i ;
2956  int ret ;
2957  void *tmp ;
2958  struct lock_class_key __key ;
2959  struct lock_class_key __key___0 ;
2960  atomic_long_t __constr_expr_0 ;
2961  struct lock_class_key __key___1 ;
2962  int tmp___0 ;
2963  struct dac124s085 *__cil_tmp12 ;
2964  unsigned long __cil_tmp13 ;
2965  unsigned long __cil_tmp14 ;
2966  unsigned long __cil_tmp15 ;
2967  unsigned long __cil_tmp16 ;
2968  unsigned long __cil_tmp17 ;
2969  struct dac124s085_led (*__cil_tmp18)[4U] ;
2970  struct dac124s085_led *__cil_tmp19 ;
2971  unsigned long __cil_tmp20 ;
2972  unsigned long __cil_tmp21 ;
2973  unsigned long __cil_tmp22 ;
2974  unsigned long __cil_tmp23 ;
2975  unsigned long __cil_tmp24 ;
2976  unsigned long __cil_tmp25 ;
2977  unsigned long __cil_tmp26 ;
2978  unsigned long __cil_tmp27 ;
2979  char (*__cil_tmp28)[13U] ;
2980  char *__cil_tmp29 ;
2981  unsigned long __cil_tmp30 ;
2982  unsigned long __cil_tmp31 ;
2983  spinlock_t *__cil_tmp32 ;
2984  unsigned long __cil_tmp33 ;
2985  unsigned long __cil_tmp34 ;
2986  struct raw_spinlock *__cil_tmp35 ;
2987  unsigned long __cil_tmp36 ;
2988  unsigned long __cil_tmp37 ;
2989  struct work_struct *__cil_tmp38 ;
2990  unsigned long __cil_tmp39 ;
2991  unsigned long __cil_tmp40 ;
2992  unsigned long __cil_tmp41 ;
2993  unsigned long __cil_tmp42 ;
2994  unsigned long __cil_tmp43 ;
2995  struct lockdep_map *__cil_tmp44 ;
2996  unsigned long __cil_tmp45 ;
2997  unsigned long __cil_tmp46 ;
2998  unsigned long __cil_tmp47 ;
2999  struct list_head *__cil_tmp48 ;
3000  unsigned long __cil_tmp49 ;
3001  unsigned long __cil_tmp50 ;
3002  unsigned long __cil_tmp51 ;
3003  unsigned long __cil_tmp52 ;
3004  unsigned long __cil_tmp53 ;
3005  struct mutex *__cil_tmp54 ;
3006  unsigned long __cil_tmp55 ;
3007  unsigned long __cil_tmp56 ;
3008  char (*__cil_tmp57)[13U] ;
3009  unsigned long __cil_tmp58 ;
3010  unsigned long __cil_tmp59 ;
3011  unsigned long __cil_tmp60 ;
3012  unsigned long __cil_tmp61 ;
3013  unsigned long __cil_tmp62 ;
3014  unsigned long __cil_tmp63 ;
3015  unsigned long __cil_tmp64 ;
3016  unsigned long __cil_tmp65 ;
3017  unsigned long __cil_tmp66 ;
3018  struct device *__cil_tmp67 ;
3019  struct led_classdev *__cil_tmp68 ;
3020  unsigned int __cil_tmp69 ;
3021  void *__cil_tmp70 ;
3022  unsigned long __cil_tmp71 ;
3023  unsigned long __cil_tmp72 ;
3024  unsigned long __cil_tmp73 ;
3025  unsigned long __cil_tmp74 ;
3026  struct led_classdev *__cil_tmp75 ;
3027  void *__cil_tmp76 ;
3028  void const   *__cil_tmp77 ;
3029  long __constr_expr_0_counter78 ;
3030
3031  {
3032  {
3033#line 87
3034  tmp = kzalloc(3040UL, 208U);
3035#line 87
3036  dac = (struct dac124s085 *)tmp;
3037  }
3038  {
3039#line 88
3040  __cil_tmp12 = (struct dac124s085 *)0;
3041#line 88
3042  __cil_tmp13 = (unsigned long )__cil_tmp12;
3043#line 88
3044  __cil_tmp14 = (unsigned long )dac;
3045#line 88
3046  if (__cil_tmp14 == __cil_tmp13) {
3047#line 89
3048    return (-12);
3049  } else {
3050
3051  }
3052  }
3053#line 91
3054  __cil_tmp15 = (unsigned long )spi;
3055#line 91
3056  __cil_tmp16 = __cil_tmp15 + 1166;
3057#line 91
3058  *((u8 *)__cil_tmp16) = (u8 )16U;
3059#line 93
3060  i = 0;
3061#line 93
3062  goto ldv_18834;
3063  ldv_18833: 
3064  {
3065#line 94
3066  __cil_tmp17 = (unsigned long )i;
3067#line 94
3068  __cil_tmp18 = (struct dac124s085_led (*)[4U])dac;
3069#line 94
3070  __cil_tmp19 = (struct dac124s085_led *)__cil_tmp18;
3071#line 94
3072  led = __cil_tmp19 + __cil_tmp17;
3073#line 95
3074  __cil_tmp20 = (unsigned long )led;
3075#line 95
3076  __cil_tmp21 = __cil_tmp20 + 416;
3077#line 95
3078  *((int *)__cil_tmp21) = i;
3079#line 96
3080  __cil_tmp22 = (unsigned long )led;
3081#line 96
3082  __cil_tmp23 = __cil_tmp22 + 420;
3083#line 96
3084  *((int *)__cil_tmp23) = 0;
3085#line 97
3086  __cil_tmp24 = (unsigned long )led;
3087#line 97
3088  __cil_tmp25 = __cil_tmp24 + 408;
3089#line 97
3090  *((struct spi_device **)__cil_tmp25) = spi;
3091#line 98
3092  __cil_tmp26 = (unsigned long )led;
3093#line 98
3094  __cil_tmp27 = __cil_tmp26 + 424;
3095#line 98
3096  __cil_tmp28 = (char (*)[13U])__cil_tmp27;
3097#line 98
3098  __cil_tmp29 = (char *)__cil_tmp28;
3099#line 98
3100  snprintf(__cil_tmp29, 13UL, "dac124s085-%d", i);
3101#line 99
3102  __cil_tmp30 = (unsigned long )led;
3103#line 99
3104  __cil_tmp31 = __cil_tmp30 + 688;
3105#line 99
3106  __cil_tmp32 = (spinlock_t *)__cil_tmp31;
3107#line 99
3108  spinlock_check(__cil_tmp32);
3109#line 99
3110  __cil_tmp33 = (unsigned long )led;
3111#line 99
3112  __cil_tmp34 = __cil_tmp33 + 688;
3113#line 99
3114  __cil_tmp35 = (struct raw_spinlock *)__cil_tmp34;
3115#line 99
3116  __raw_spin_lock_init(__cil_tmp35, "&(&led->lock)->rlock", & __key);
3117#line 100
3118  __cil_tmp36 = (unsigned long )led;
3119#line 100
3120  __cil_tmp37 = __cil_tmp36 + 608;
3121#line 100
3122  __cil_tmp38 = (struct work_struct *)__cil_tmp37;
3123#line 100
3124  __init_work(__cil_tmp38, 0);
3125#line 100
3126  __constr_expr_0_counter78 = 2097664L;
3127#line 100
3128  __cil_tmp39 = (unsigned long )led;
3129#line 100
3130  __cil_tmp40 = __cil_tmp39 + 608;
3131#line 100
3132  ((atomic_long_t *)__cil_tmp40)->counter = __constr_expr_0_counter78;
3133#line 100
3134  __cil_tmp41 = 608 + 32;
3135#line 100
3136  __cil_tmp42 = (unsigned long )led;
3137#line 100
3138  __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
3139#line 100
3140  __cil_tmp44 = (struct lockdep_map *)__cil_tmp43;
3141#line 100
3142  lockdep_init_map(__cil_tmp44, "(&led->work)", & __key___0, 0);
3143#line 100
3144  __cil_tmp45 = 608 + 8;
3145#line 100
3146  __cil_tmp46 = (unsigned long )led;
3147#line 100
3148  __cil_tmp47 = __cil_tmp46 + __cil_tmp45;
3149#line 100
3150  __cil_tmp48 = (struct list_head *)__cil_tmp47;
3151#line 100
3152  INIT_LIST_HEAD(__cil_tmp48);
3153#line 100
3154  __cil_tmp49 = 608 + 24;
3155#line 100
3156  __cil_tmp50 = (unsigned long )led;
3157#line 100
3158  __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
3159#line 100
3160  *((void (**)(struct work_struct * ))__cil_tmp51) = & dac124s085_led_work;
3161#line 101
3162  __cil_tmp52 = (unsigned long )led;
3163#line 101
3164  __cil_tmp53 = __cil_tmp52 + 440;
3165#line 101
3166  __cil_tmp54 = (struct mutex *)__cil_tmp53;
3167#line 101
3168  __mutex_init(__cil_tmp54, "&led->mutex", & __key___1);
3169#line 102
3170  __cil_tmp55 = (unsigned long )led;
3171#line 102
3172  __cil_tmp56 = __cil_tmp55 + 424;
3173#line 102
3174  __cil_tmp57 = (char (*)[13U])__cil_tmp56;
3175#line 102
3176  *((char const   **)led) = (char const   *)__cil_tmp57;
3177#line 103
3178  __cil_tmp58 = 0 + 8;
3179#line 103
3180  __cil_tmp59 = (unsigned long )led;
3181#line 103
3182  __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
3183#line 103
3184  *((int *)__cil_tmp60) = 0;
3185#line 104
3186  __cil_tmp61 = 0 + 12;
3187#line 104
3188  __cil_tmp62 = (unsigned long )led;
3189#line 104
3190  __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
3191#line 104
3192  *((int *)__cil_tmp63) = 4095;
3193#line 105
3194  __cil_tmp64 = 0 + 24;
3195#line 105
3196  __cil_tmp65 = (unsigned long )led;
3197#line 105
3198  __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
3199#line 105
3200  *((void (**)(struct led_classdev * , enum led_brightness  ))__cil_tmp66) = & dac124s085_set_brightness;
3201#line 106
3202  __cil_tmp67 = (struct device *)spi;
3203#line 106
3204  __cil_tmp68 = (struct led_classdev *)led;
3205#line 106
3206  ret = led_classdev_register(__cil_tmp67, __cil_tmp68);
3207  }
3208#line 107
3209  if (ret < 0) {
3210#line 108
3211    goto eledcr;
3212  } else {
3213
3214  }
3215#line 93
3216  i = i + 1;
3217  ldv_18834: ;
3218  {
3219#line 93
3220  __cil_tmp69 = (unsigned int )i;
3221#line 93
3222  if (__cil_tmp69 <= 3U) {
3223#line 94
3224    goto ldv_18833;
3225  } else {
3226#line 96
3227    goto ldv_18835;
3228  }
3229  }
3230  ldv_18835: 
3231  {
3232#line 111
3233  __cil_tmp70 = (void *)dac;
3234#line 111
3235  spi_set_drvdata(spi, __cil_tmp70);
3236  }
3237#line 113
3238  return (0);
3239  eledcr: ;
3240#line 116
3241  goto ldv_18837;
3242  ldv_18836: 
3243  {
3244#line 117
3245  __cil_tmp71 = i * 760UL;
3246#line 117
3247  __cil_tmp72 = 0 + __cil_tmp71;
3248#line 117
3249  __cil_tmp73 = (unsigned long )dac;
3250#line 117
3251  __cil_tmp74 = __cil_tmp73 + __cil_tmp72;
3252#line 117
3253  __cil_tmp75 = (struct led_classdev *)__cil_tmp74;
3254#line 117
3255  led_classdev_unregister(__cil_tmp75);
3256  }
3257  ldv_18837: 
3258#line 116
3259  tmp___0 = i;
3260#line 116
3261  i = i - 1;
3262#line 116
3263  if (tmp___0 != 0) {
3264#line 117
3265    goto ldv_18836;
3266  } else {
3267#line 119
3268    goto ldv_18838;
3269  }
3270  ldv_18838: 
3271  {
3272#line 119
3273  __cil_tmp76 = (void *)0;
3274#line 119
3275  spi_set_drvdata(spi, __cil_tmp76);
3276#line 120
3277  __cil_tmp77 = (void const   *)dac;
3278#line 120
3279  kfree(__cil_tmp77);
3280  }
3281#line 121
3282  return (ret);
3283}
3284}
3285#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3286static int dac124s085_remove(struct spi_device *spi ) 
3287{ struct dac124s085 *dac ;
3288  void *tmp ;
3289  int i ;
3290  unsigned long __cil_tmp5 ;
3291  unsigned long __cil_tmp6 ;
3292  unsigned long __cil_tmp7 ;
3293  unsigned long __cil_tmp8 ;
3294  struct led_classdev *__cil_tmp9 ;
3295  unsigned long __cil_tmp10 ;
3296  unsigned long __cil_tmp11 ;
3297  unsigned long __cil_tmp12 ;
3298  unsigned long __cil_tmp13 ;
3299  unsigned long __cil_tmp14 ;
3300  struct work_struct *__cil_tmp15 ;
3301  unsigned int __cil_tmp16 ;
3302  void *__cil_tmp17 ;
3303  void const   *__cil_tmp18 ;
3304
3305  {
3306  {
3307#line 126
3308  tmp = spi_get_drvdata(spi);
3309#line 126
3310  dac = (struct dac124s085 *)tmp;
3311#line 129
3312  i = 0;
3313  }
3314#line 129
3315  goto ldv_18847;
3316  ldv_18846: 
3317  {
3318#line 130
3319  __cil_tmp5 = i * 760UL;
3320#line 130
3321  __cil_tmp6 = 0 + __cil_tmp5;
3322#line 130
3323  __cil_tmp7 = (unsigned long )dac;
3324#line 130
3325  __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
3326#line 130
3327  __cil_tmp9 = (struct led_classdev *)__cil_tmp8;
3328#line 130
3329  led_classdev_unregister(__cil_tmp9);
3330#line 131
3331  __cil_tmp10 = i * 760UL;
3332#line 131
3333  __cil_tmp11 = __cil_tmp10 + 608;
3334#line 131
3335  __cil_tmp12 = 0 + __cil_tmp11;
3336#line 131
3337  __cil_tmp13 = (unsigned long )dac;
3338#line 131
3339  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3340#line 131
3341  __cil_tmp15 = (struct work_struct *)__cil_tmp14;
3342#line 131
3343  cancel_work_sync(__cil_tmp15);
3344#line 129
3345  i = i + 1;
3346  }
3347  ldv_18847: ;
3348  {
3349#line 129
3350  __cil_tmp16 = (unsigned int )i;
3351#line 129
3352  if (__cil_tmp16 <= 3U) {
3353#line 130
3354    goto ldv_18846;
3355  } else {
3356#line 132
3357    goto ldv_18848;
3358  }
3359  }
3360  ldv_18848: 
3361  {
3362#line 134
3363  __cil_tmp17 = (void *)0;
3364#line 134
3365  spi_set_drvdata(spi, __cil_tmp17);
3366#line 135
3367  __cil_tmp18 = (void const   *)dac;
3368#line 135
3369  kfree(__cil_tmp18);
3370  }
3371#line 137
3372  return (0);
3373}
3374}
3375#line 172
3376extern void ldv_check_final_state(void) ;
3377#line 175
3378extern void ldv_check_return_value(int  ) ;
3379#line 178
3380extern void ldv_initialize(void) ;
3381#line 181
3382extern int __VERIFIER_nondet_int(void) ;
3383#line 184 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3384int LDV_IN_INTERRUPT  ;
3385#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3386void main(void) 
3387{ struct spi_device *var_group1 ;
3388  int res_dac124s085_probe_2 ;
3389  int ldv_s_dac124s085_driver_spi_driver ;
3390  int tmp ;
3391  int tmp___0 ;
3392
3393  {
3394  {
3395#line 229
3396  ldv_s_dac124s085_driver_spi_driver = 0;
3397#line 219
3398  LDV_IN_INTERRUPT = 1;
3399#line 228
3400  ldv_initialize();
3401  }
3402#line 233
3403  goto ldv_18891;
3404  ldv_18890: 
3405  {
3406#line 237
3407  tmp = __VERIFIER_nondet_int();
3408  }
3409#line 239
3410  if (tmp == 0) {
3411#line 239
3412    goto case_0;
3413  } else
3414#line 263
3415  if (tmp == 1) {
3416#line 263
3417    goto case_1;
3418  } else {
3419    {
3420#line 284
3421    goto switch_default;
3422#line 237
3423    if (0) {
3424      case_0: /* CIL Label */ ;
3425#line 242
3426      if (ldv_s_dac124s085_driver_spi_driver == 0) {
3427        {
3428#line 252
3429        res_dac124s085_probe_2 = dac124s085_probe(var_group1);
3430#line 253
3431        ldv_check_return_value(res_dac124s085_probe_2);
3432        }
3433#line 254
3434        if (res_dac124s085_probe_2 != 0) {
3435#line 255
3436          goto ldv_module_exit;
3437        } else {
3438
3439        }
3440#line 256
3441        ldv_s_dac124s085_driver_spi_driver = 0;
3442      } else {
3443
3444      }
3445#line 262
3446      goto ldv_18887;
3447      case_1: /* CIL Label */ 
3448      {
3449#line 276
3450      dac124s085_remove(var_group1);
3451      }
3452#line 283
3453      goto ldv_18887;
3454      switch_default: /* CIL Label */ ;
3455#line 284
3456      goto ldv_18887;
3457    } else {
3458      switch_break: /* CIL Label */ ;
3459    }
3460    }
3461  }
3462  ldv_18887: ;
3463  ldv_18891: 
3464  {
3465#line 233
3466  tmp___0 = __VERIFIER_nondet_int();
3467  }
3468#line 233
3469  if (tmp___0 != 0) {
3470#line 235
3471    goto ldv_18890;
3472  } else
3473#line 233
3474  if (ldv_s_dac124s085_driver_spi_driver != 0) {
3475#line 235
3476    goto ldv_18890;
3477  } else {
3478#line 237
3479    goto ldv_18892;
3480  }
3481  ldv_18892: ;
3482  ldv_module_exit: ;
3483  {
3484#line 293
3485  ldv_check_final_state();
3486  }
3487#line 296
3488  return;
3489}
3490}
3491#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3492void ldv_blast_assert(void) 
3493{ 
3494
3495  {
3496  ERROR: ;
3497#line 6
3498  goto ERROR;
3499}
3500}
3501#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3502extern int __VERIFIER_nondet_int(void) ;
3503#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3504int ldv_spin  =    0;
3505#line 321 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3506void ldv_check_alloc_flags(gfp_t flags ) 
3507{ 
3508
3509  {
3510#line 324
3511  if (ldv_spin != 0) {
3512#line 324
3513    if (flags != 32U) {
3514      {
3515#line 324
3516      ldv_blast_assert();
3517      }
3518    } else {
3519
3520    }
3521  } else {
3522
3523  }
3524#line 327
3525  return;
3526}
3527}
3528#line 327
3529extern struct page *ldv_some_page(void) ;
3530#line 330 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3531struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3532{ struct page *tmp ;
3533
3534  {
3535#line 333
3536  if (ldv_spin != 0) {
3537#line 333
3538    if (flags != 32U) {
3539      {
3540#line 333
3541      ldv_blast_assert();
3542      }
3543    } else {
3544
3545    }
3546  } else {
3547
3548  }
3549  {
3550#line 335
3551  tmp = ldv_some_page();
3552  }
3553#line 335
3554  return (tmp);
3555}
3556}
3557#line 339 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3558void ldv_check_alloc_nonatomic(void) 
3559{ 
3560
3561  {
3562#line 342
3563  if (ldv_spin != 0) {
3564    {
3565#line 342
3566    ldv_blast_assert();
3567    }
3568  } else {
3569
3570  }
3571#line 345
3572  return;
3573}
3574}
3575#line 346 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3576void ldv_spin_lock(void) 
3577{ 
3578
3579  {
3580#line 349
3581  ldv_spin = 1;
3582#line 350
3583  return;
3584}
3585}
3586#line 353 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3587void ldv_spin_unlock(void) 
3588{ 
3589
3590  {
3591#line 356
3592  ldv_spin = 0;
3593#line 357
3594  return;
3595}
3596}
3597#line 360 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3598int ldv_spin_trylock(void) 
3599{ int is_lock ;
3600
3601  {
3602  {
3603#line 365
3604  is_lock = __VERIFIER_nondet_int();
3605  }
3606#line 367
3607  if (is_lock != 0) {
3608#line 370
3609    return (0);
3610  } else {
3611#line 375
3612    ldv_spin = 1;
3613#line 377
3614    return (1);
3615  }
3616}
3617}
3618#line 381 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3619__inline static void spin_lock(spinlock_t *lock ) 
3620{ 
3621
3622  {
3623  {
3624#line 386
3625  ldv_spin_lock();
3626#line 388
3627  ldv_spin_lock_1(lock);
3628  }
3629#line 389
3630  return;
3631}
3632}
3633#line 423 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3634__inline static void spin_unlock(spinlock_t *lock ) 
3635{ 
3636
3637  {
3638  {
3639#line 428
3640  ldv_spin_unlock();
3641#line 430
3642  ldv_spin_unlock_5(lock);
3643  }
3644#line 431
3645  return;
3646}
3647}
3648#line 544 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3649void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3650{ 
3651
3652  {
3653  {
3654#line 550
3655  ldv_check_alloc_flags(ldv_func_arg2);
3656#line 552
3657  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3658  }
3659#line 553
3660  return ((void *)0);
3661}
3662}
3663#line 555 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12442/dscv_tempdir/dscv/ri/43_1a/drivers/leds/leds-dac124s085.c.p"
3664__inline static void *kzalloc(size_t size , gfp_t flags ) 
3665{ void *tmp ;
3666
3667  {
3668  {
3669#line 561
3670  ldv_check_alloc_flags(flags);
3671#line 562
3672  tmp = __VERIFIER_nondet_pointer();
3673  }
3674#line 562
3675  return (tmp);
3676}
3677}