Showing error 314

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-pca9633.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3944
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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