Showing error 311

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