Showing error 196

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


Source:

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