Showing error 486

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


Source:

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