Showing error 787

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--gpu--drm--i2c--sil164.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 7426
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 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 29 "include/asm-generic/int-ll64.h"
  17typedef long long __s64;
  18#line 30 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long __u64;
  20#line 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 27 "include/asm-generic/posix_types.h"
  39typedef __kernel_ulong_t __kernel_nlink_t;
  40#line 31 "include/asm-generic/posix_types.h"
  41typedef int __kernel_pid_t;
  42#line 44 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_suseconds_t;
  44#line 52 "include/asm-generic/posix_types.h"
  45typedef unsigned int __kernel_uid32_t;
  46#line 53 "include/asm-generic/posix_types.h"
  47typedef unsigned int __kernel_gid32_t;
  48#line 75 "include/asm-generic/posix_types.h"
  49typedef __kernel_ulong_t __kernel_size_t;
  50#line 76 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_ssize_t;
  52#line 90 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_off_t;
  54#line 91 "include/asm-generic/posix_types.h"
  55typedef long long __kernel_loff_t;
  56#line 92 "include/asm-generic/posix_types.h"
  57typedef __kernel_long_t __kernel_time_t;
  58#line 93 "include/asm-generic/posix_types.h"
  59typedef __kernel_long_t __kernel_clock_t;
  60#line 94 "include/asm-generic/posix_types.h"
  61typedef int __kernel_timer_t;
  62#line 95 "include/asm-generic/posix_types.h"
  63typedef int __kernel_clockid_t;
  64#line 21 "include/linux/types.h"
  65typedef __u32 __kernel_dev_t;
  66#line 24 "include/linux/types.h"
  67typedef __kernel_dev_t dev_t;
  68#line 27 "include/linux/types.h"
  69typedef unsigned short umode_t;
  70#line 28 "include/linux/types.h"
  71typedef __kernel_nlink_t nlink_t;
  72#line 29 "include/linux/types.h"
  73typedef __kernel_off_t off_t;
  74#line 30 "include/linux/types.h"
  75typedef __kernel_pid_t pid_t;
  76#line 35 "include/linux/types.h"
  77typedef __kernel_clockid_t clockid_t;
  78#line 38 "include/linux/types.h"
  79typedef _Bool bool;
  80#line 40 "include/linux/types.h"
  81typedef __kernel_uid32_t uid_t;
  82#line 41 "include/linux/types.h"
  83typedef __kernel_gid32_t gid_t;
  84#line 54 "include/linux/types.h"
  85typedef __kernel_loff_t loff_t;
  86#line 63 "include/linux/types.h"
  87typedef __kernel_size_t size_t;
  88#line 68 "include/linux/types.h"
  89typedef __kernel_ssize_t ssize_t;
  90#line 78 "include/linux/types.h"
  91typedef __kernel_time_t time_t;
  92#line 111 "include/linux/types.h"
  93typedef __s32 int32_t;
  94#line 115 "include/linux/types.h"
  95typedef __u8 uint8_t;
  96#line 116 "include/linux/types.h"
  97typedef __u16 uint16_t;
  98#line 117 "include/linux/types.h"
  99typedef __u32 uint32_t;
 100#line 120 "include/linux/types.h"
 101typedef __u64 uint64_t;
 102#line 142 "include/linux/types.h"
 103typedef unsigned long sector_t;
 104#line 143 "include/linux/types.h"
 105typedef unsigned long blkcnt_t;
 106#line 155 "include/linux/types.h"
 107typedef u64 dma_addr_t;
 108#line 202 "include/linux/types.h"
 109typedef unsigned int gfp_t;
 110#line 203 "include/linux/types.h"
 111typedef unsigned int fmode_t;
 112#line 206 "include/linux/types.h"
 113typedef u64 phys_addr_t;
 114#line 211 "include/linux/types.h"
 115typedef phys_addr_t resource_size_t;
 116#line 221 "include/linux/types.h"
 117struct __anonstruct_atomic_t_6 {
 118   int counter ;
 119};
 120#line 221 "include/linux/types.h"
 121typedef struct __anonstruct_atomic_t_6 atomic_t;
 122#line 226 "include/linux/types.h"
 123struct __anonstruct_atomic64_t_7 {
 124   long counter ;
 125};
 126#line 226 "include/linux/types.h"
 127typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 128#line 227 "include/linux/types.h"
 129struct list_head {
 130   struct list_head *next ;
 131   struct list_head *prev ;
 132};
 133#line 232
 134struct hlist_node;
 135#line 232 "include/linux/types.h"
 136struct hlist_head {
 137   struct hlist_node *first ;
 138};
 139#line 236 "include/linux/types.h"
 140struct hlist_node {
 141   struct hlist_node *next ;
 142   struct hlist_node **pprev ;
 143};
 144#line 247 "include/linux/types.h"
 145struct rcu_head {
 146   struct rcu_head *next ;
 147   void (*func)(struct rcu_head * ) ;
 148};
 149#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 150struct module;
 151#line 55
 152struct module;
 153#line 146 "include/linux/init.h"
 154typedef void (*ctor_fn_t)(void);
 155#line 46 "include/linux/dynamic_debug.h"
 156struct device;
 157#line 46
 158struct device;
 159#line 57
 160struct completion;
 161#line 57
 162struct completion;
 163#line 58
 164struct pt_regs;
 165#line 58
 166struct pt_regs;
 167#line 348 "include/linux/kernel.h"
 168struct pid;
 169#line 348
 170struct pid;
 171#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 172struct timespec;
 173#line 112
 174struct timespec;
 175#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 176struct page;
 177#line 58
 178struct page;
 179#line 26 "include/asm-generic/getorder.h"
 180struct task_struct;
 181#line 26
 182struct task_struct;
 183#line 28
 184struct mm_struct;
 185#line 28
 186struct mm_struct;
 187#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 188struct pt_regs {
 189   unsigned long r15 ;
 190   unsigned long r14 ;
 191   unsigned long r13 ;
 192   unsigned long r12 ;
 193   unsigned long bp ;
 194   unsigned long bx ;
 195   unsigned long r11 ;
 196   unsigned long r10 ;
 197   unsigned long r9 ;
 198   unsigned long r8 ;
 199   unsigned long ax ;
 200   unsigned long cx ;
 201   unsigned long dx ;
 202   unsigned long si ;
 203   unsigned long di ;
 204   unsigned long orig_ax ;
 205   unsigned long ip ;
 206   unsigned long cs ;
 207   unsigned long flags ;
 208   unsigned long sp ;
 209   unsigned long ss ;
 210};
 211#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 212struct __anonstruct_ldv_2180_13 {
 213   unsigned int a ;
 214   unsigned int b ;
 215};
 216#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 217struct __anonstruct_ldv_2195_14 {
 218   u16 limit0 ;
 219   u16 base0 ;
 220   unsigned char base1 ;
 221   unsigned char type : 4 ;
 222   unsigned char s : 1 ;
 223   unsigned char dpl : 2 ;
 224   unsigned char p : 1 ;
 225   unsigned char limit : 4 ;
 226   unsigned char avl : 1 ;
 227   unsigned char l : 1 ;
 228   unsigned char d : 1 ;
 229   unsigned char g : 1 ;
 230   unsigned char base2 ;
 231};
 232#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 233union __anonunion_ldv_2196_12 {
 234   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 235   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 236};
 237#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 238struct desc_struct {
 239   union __anonunion_ldv_2196_12 ldv_2196 ;
 240};
 241#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 242typedef unsigned long pgdval_t;
 243#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 244typedef unsigned long pgprotval_t;
 245#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 246struct pgprot {
 247   pgprotval_t pgprot ;
 248};
 249#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 250typedef struct pgprot pgprot_t;
 251#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 252struct __anonstruct_pgd_t_16 {
 253   pgdval_t pgd ;
 254};
 255#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 256typedef struct __anonstruct_pgd_t_16 pgd_t;
 257#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 258typedef struct page *pgtable_t;
 259#line 290
 260struct file;
 261#line 290
 262struct file;
 263#line 305
 264struct seq_file;
 265#line 305
 266struct seq_file;
 267#line 337
 268struct thread_struct;
 269#line 337
 270struct thread_struct;
 271#line 339
 272struct cpumask;
 273#line 339
 274struct cpumask;
 275#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 276struct arch_spinlock;
 277#line 327
 278struct arch_spinlock;
 279#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 280struct kernel_vm86_regs {
 281   struct pt_regs pt ;
 282   unsigned short es ;
 283   unsigned short __esh ;
 284   unsigned short ds ;
 285   unsigned short __dsh ;
 286   unsigned short fs ;
 287   unsigned short __fsh ;
 288   unsigned short gs ;
 289   unsigned short __gsh ;
 290};
 291#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 292union __anonunion_ldv_2824_19 {
 293   struct pt_regs *regs ;
 294   struct kernel_vm86_regs *vm86 ;
 295};
 296#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 297struct math_emu_info {
 298   long ___orig_eip ;
 299   union __anonunion_ldv_2824_19 ldv_2824 ;
 300};
 301#line 306 "include/linux/bitmap.h"
 302struct bug_entry {
 303   int bug_addr_disp ;
 304   int file_disp ;
 305   unsigned short line ;
 306   unsigned short flags ;
 307};
 308#line 89 "include/linux/bug.h"
 309struct cpumask {
 310   unsigned long bits[64U] ;
 311};
 312#line 14 "include/linux/cpumask.h"
 313typedef struct cpumask cpumask_t;
 314#line 637 "include/linux/cpumask.h"
 315typedef struct cpumask *cpumask_var_t;
 316#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 317struct static_key;
 318#line 234
 319struct static_key;
 320#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 321struct seq_operations;
 322#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323struct i387_fsave_struct {
 324   u32 cwd ;
 325   u32 swd ;
 326   u32 twd ;
 327   u32 fip ;
 328   u32 fcs ;
 329   u32 foo ;
 330   u32 fos ;
 331   u32 st_space[20U] ;
 332   u32 status ;
 333};
 334#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335struct __anonstruct_ldv_5180_24 {
 336   u64 rip ;
 337   u64 rdp ;
 338};
 339#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340struct __anonstruct_ldv_5186_25 {
 341   u32 fip ;
 342   u32 fcs ;
 343   u32 foo ;
 344   u32 fos ;
 345};
 346#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 347union __anonunion_ldv_5187_23 {
 348   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 349   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 350};
 351#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 352union __anonunion_ldv_5196_26 {
 353   u32 padding1[12U] ;
 354   u32 sw_reserved[12U] ;
 355};
 356#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 357struct i387_fxsave_struct {
 358   u16 cwd ;
 359   u16 swd ;
 360   u16 twd ;
 361   u16 fop ;
 362   union __anonunion_ldv_5187_23 ldv_5187 ;
 363   u32 mxcsr ;
 364   u32 mxcsr_mask ;
 365   u32 st_space[32U] ;
 366   u32 xmm_space[64U] ;
 367   u32 padding[12U] ;
 368   union __anonunion_ldv_5196_26 ldv_5196 ;
 369};
 370#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 371struct i387_soft_struct {
 372   u32 cwd ;
 373   u32 swd ;
 374   u32 twd ;
 375   u32 fip ;
 376   u32 fcs ;
 377   u32 foo ;
 378   u32 fos ;
 379   u32 st_space[20U] ;
 380   u8 ftop ;
 381   u8 changed ;
 382   u8 lookahead ;
 383   u8 no_update ;
 384   u8 rm ;
 385   u8 alimit ;
 386   struct math_emu_info *info ;
 387   u32 entry_eip ;
 388};
 389#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 390struct ymmh_struct {
 391   u32 ymmh_space[64U] ;
 392};
 393#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394struct xsave_hdr_struct {
 395   u64 xstate_bv ;
 396   u64 reserved1[2U] ;
 397   u64 reserved2[5U] ;
 398};
 399#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 400struct xsave_struct {
 401   struct i387_fxsave_struct i387 ;
 402   struct xsave_hdr_struct xsave_hdr ;
 403   struct ymmh_struct ymmh ;
 404};
 405#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 406union thread_xstate {
 407   struct i387_fsave_struct fsave ;
 408   struct i387_fxsave_struct fxsave ;
 409   struct i387_soft_struct soft ;
 410   struct xsave_struct xsave ;
 411};
 412#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 413struct fpu {
 414   unsigned int last_cpu ;
 415   unsigned int has_fpu ;
 416   union thread_xstate *state ;
 417};
 418#line 433
 419struct kmem_cache;
 420#line 434
 421struct perf_event;
 422#line 434
 423struct perf_event;
 424#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 425struct thread_struct {
 426   struct desc_struct tls_array[3U] ;
 427   unsigned long sp0 ;
 428   unsigned long sp ;
 429   unsigned long usersp ;
 430   unsigned short es ;
 431   unsigned short ds ;
 432   unsigned short fsindex ;
 433   unsigned short gsindex ;
 434   unsigned long fs ;
 435   unsigned long gs ;
 436   struct perf_event *ptrace_bps[4U] ;
 437   unsigned long debugreg6 ;
 438   unsigned long ptrace_dr7 ;
 439   unsigned long cr2 ;
 440   unsigned long trap_nr ;
 441   unsigned long error_code ;
 442   struct fpu fpu ;
 443   unsigned long *io_bitmap_ptr ;
 444   unsigned long iopl ;
 445   unsigned int io_bitmap_max ;
 446};
 447#line 23 "include/asm-generic/atomic-long.h"
 448typedef atomic64_t atomic_long_t;
 449#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 450typedef u16 __ticket_t;
 451#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 452typedef u32 __ticketpair_t;
 453#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 454struct __raw_tickets {
 455   __ticket_t head ;
 456   __ticket_t tail ;
 457};
 458#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 459union __anonunion_ldv_5907_29 {
 460   __ticketpair_t head_tail ;
 461   struct __raw_tickets tickets ;
 462};
 463#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 464struct arch_spinlock {
 465   union __anonunion_ldv_5907_29 ldv_5907 ;
 466};
 467#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 468typedef struct arch_spinlock arch_spinlock_t;
 469#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 470struct __anonstruct_ldv_5914_31 {
 471   u32 read ;
 472   s32 write ;
 473};
 474#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 475union __anonunion_arch_rwlock_t_30 {
 476   s64 lock ;
 477   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 478};
 479#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 480typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 481#line 34
 482struct lockdep_map;
 483#line 34
 484struct lockdep_map;
 485#line 55 "include/linux/debug_locks.h"
 486struct stack_trace {
 487   unsigned int nr_entries ;
 488   unsigned int max_entries ;
 489   unsigned long *entries ;
 490   int skip ;
 491};
 492#line 26 "include/linux/stacktrace.h"
 493struct lockdep_subclass_key {
 494   char __one_byte ;
 495};
 496#line 53 "include/linux/lockdep.h"
 497struct lock_class_key {
 498   struct lockdep_subclass_key subkeys[8U] ;
 499};
 500#line 59 "include/linux/lockdep.h"
 501struct lock_class {
 502   struct list_head hash_entry ;
 503   struct list_head lock_entry ;
 504   struct lockdep_subclass_key *key ;
 505   unsigned int subclass ;
 506   unsigned int dep_gen_id ;
 507   unsigned long usage_mask ;
 508   struct stack_trace usage_traces[13U] ;
 509   struct list_head locks_after ;
 510   struct list_head locks_before ;
 511   unsigned int version ;
 512   unsigned long ops ;
 513   char const   *name ;
 514   int name_version ;
 515   unsigned long contention_point[4U] ;
 516   unsigned long contending_point[4U] ;
 517};
 518#line 144 "include/linux/lockdep.h"
 519struct lockdep_map {
 520   struct lock_class_key *key ;
 521   struct lock_class *class_cache[2U] ;
 522   char const   *name ;
 523   int cpu ;
 524   unsigned long ip ;
 525};
 526#line 187 "include/linux/lockdep.h"
 527struct held_lock {
 528   u64 prev_chain_key ;
 529   unsigned long acquire_ip ;
 530   struct lockdep_map *instance ;
 531   struct lockdep_map *nest_lock ;
 532   u64 waittime_stamp ;
 533   u64 holdtime_stamp ;
 534   unsigned short class_idx : 13 ;
 535   unsigned char irq_context : 2 ;
 536   unsigned char trylock : 1 ;
 537   unsigned char read : 2 ;
 538   unsigned char check : 2 ;
 539   unsigned char hardirqs_off : 1 ;
 540   unsigned short references : 11 ;
 541};
 542#line 556 "include/linux/lockdep.h"
 543struct raw_spinlock {
 544   arch_spinlock_t raw_lock ;
 545   unsigned int magic ;
 546   unsigned int owner_cpu ;
 547   void *owner ;
 548   struct lockdep_map dep_map ;
 549};
 550#line 32 "include/linux/spinlock_types.h"
 551typedef struct raw_spinlock raw_spinlock_t;
 552#line 33 "include/linux/spinlock_types.h"
 553struct __anonstruct_ldv_6122_33 {
 554   u8 __padding[24U] ;
 555   struct lockdep_map dep_map ;
 556};
 557#line 33 "include/linux/spinlock_types.h"
 558union __anonunion_ldv_6123_32 {
 559   struct raw_spinlock rlock ;
 560   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 561};
 562#line 33 "include/linux/spinlock_types.h"
 563struct spinlock {
 564   union __anonunion_ldv_6123_32 ldv_6123 ;
 565};
 566#line 76 "include/linux/spinlock_types.h"
 567typedef struct spinlock spinlock_t;
 568#line 23 "include/linux/rwlock_types.h"
 569struct __anonstruct_rwlock_t_34 {
 570   arch_rwlock_t raw_lock ;
 571   unsigned int magic ;
 572   unsigned int owner_cpu ;
 573   void *owner ;
 574   struct lockdep_map dep_map ;
 575};
 576#line 23 "include/linux/rwlock_types.h"
 577typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 578#line 110 "include/linux/seqlock.h"
 579struct seqcount {
 580   unsigned int sequence ;
 581};
 582#line 121 "include/linux/seqlock.h"
 583typedef struct seqcount seqcount_t;
 584#line 254 "include/linux/seqlock.h"
 585struct timespec {
 586   __kernel_time_t tv_sec ;
 587   long tv_nsec ;
 588};
 589#line 18 "include/linux/time.h"
 590struct timeval {
 591   __kernel_time_t tv_sec ;
 592   __kernel_suseconds_t tv_usec ;
 593};
 594#line 286 "include/linux/time.h"
 595struct kstat {
 596   u64 ino ;
 597   dev_t dev ;
 598   umode_t mode ;
 599   unsigned int nlink ;
 600   uid_t uid ;
 601   gid_t gid ;
 602   dev_t rdev ;
 603   loff_t size ;
 604   struct timespec atime ;
 605   struct timespec mtime ;
 606   struct timespec ctime ;
 607   unsigned long blksize ;
 608   unsigned long long blocks ;
 609};
 610#line 48 "include/linux/wait.h"
 611struct __wait_queue_head {
 612   spinlock_t lock ;
 613   struct list_head task_list ;
 614};
 615#line 53 "include/linux/wait.h"
 616typedef struct __wait_queue_head wait_queue_head_t;
 617#line 98 "include/linux/nodemask.h"
 618struct __anonstruct_nodemask_t_36 {
 619   unsigned long bits[16U] ;
 620};
 621#line 98 "include/linux/nodemask.h"
 622typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 623#line 670 "include/linux/mmzone.h"
 624struct mutex {
 625   atomic_t count ;
 626   spinlock_t wait_lock ;
 627   struct list_head wait_list ;
 628   struct task_struct *owner ;
 629   char const   *name ;
 630   void *magic ;
 631   struct lockdep_map dep_map ;
 632};
 633#line 63 "include/linux/mutex.h"
 634struct mutex_waiter {
 635   struct list_head list ;
 636   struct task_struct *task ;
 637   void *magic ;
 638};
 639#line 171
 640struct rw_semaphore;
 641#line 171
 642struct rw_semaphore;
 643#line 172 "include/linux/mutex.h"
 644struct rw_semaphore {
 645   long count ;
 646   raw_spinlock_t wait_lock ;
 647   struct list_head wait_list ;
 648   struct lockdep_map dep_map ;
 649};
 650#line 128 "include/linux/rwsem.h"
 651struct completion {
 652   unsigned int done ;
 653   wait_queue_head_t wait ;
 654};
 655#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 656struct resource {
 657   resource_size_t start ;
 658   resource_size_t end ;
 659   char const   *name ;
 660   unsigned long flags ;
 661   struct resource *parent ;
 662   struct resource *sibling ;
 663   struct resource *child ;
 664};
 665#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 666struct pci_dev;
 667#line 181
 668struct pci_dev;
 669#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/tsc.h"
 670typedef unsigned long long cycles_t;
 671#line 312 "include/linux/jiffies.h"
 672union ktime {
 673   s64 tv64 ;
 674};
 675#line 59 "include/linux/ktime.h"
 676typedef union ktime ktime_t;
 677#line 341
 678struct tvec_base;
 679#line 341
 680struct tvec_base;
 681#line 342 "include/linux/ktime.h"
 682struct timer_list {
 683   struct list_head entry ;
 684   unsigned long expires ;
 685   struct tvec_base *base ;
 686   void (*function)(unsigned long  ) ;
 687   unsigned long data ;
 688   int slack ;
 689   int start_pid ;
 690   void *start_site ;
 691   char start_comm[16U] ;
 692   struct lockdep_map lockdep_map ;
 693};
 694#line 289 "include/linux/timer.h"
 695struct hrtimer;
 696#line 289
 697struct hrtimer;
 698#line 290
 699enum hrtimer_restart;
 700#line 302
 701struct work_struct;
 702#line 302
 703struct work_struct;
 704#line 45 "include/linux/workqueue.h"
 705struct work_struct {
 706   atomic_long_t data ;
 707   struct list_head entry ;
 708   void (*func)(struct work_struct * ) ;
 709   struct lockdep_map lockdep_map ;
 710};
 711#line 86 "include/linux/workqueue.h"
 712struct delayed_work {
 713   struct work_struct work ;
 714   struct timer_list timer ;
 715};
 716#line 46 "include/linux/pm.h"
 717struct pm_message {
 718   int event ;
 719};
 720#line 52 "include/linux/pm.h"
 721typedef struct pm_message pm_message_t;
 722#line 53 "include/linux/pm.h"
 723struct dev_pm_ops {
 724   int (*prepare)(struct device * ) ;
 725   void (*complete)(struct device * ) ;
 726   int (*suspend)(struct device * ) ;
 727   int (*resume)(struct device * ) ;
 728   int (*freeze)(struct device * ) ;
 729   int (*thaw)(struct device * ) ;
 730   int (*poweroff)(struct device * ) ;
 731   int (*restore)(struct device * ) ;
 732   int (*suspend_late)(struct device * ) ;
 733   int (*resume_early)(struct device * ) ;
 734   int (*freeze_late)(struct device * ) ;
 735   int (*thaw_early)(struct device * ) ;
 736   int (*poweroff_late)(struct device * ) ;
 737   int (*restore_early)(struct device * ) ;
 738   int (*suspend_noirq)(struct device * ) ;
 739   int (*resume_noirq)(struct device * ) ;
 740   int (*freeze_noirq)(struct device * ) ;
 741   int (*thaw_noirq)(struct device * ) ;
 742   int (*poweroff_noirq)(struct device * ) ;
 743   int (*restore_noirq)(struct device * ) ;
 744   int (*runtime_suspend)(struct device * ) ;
 745   int (*runtime_resume)(struct device * ) ;
 746   int (*runtime_idle)(struct device * ) ;
 747};
 748#line 289
 749enum rpm_status {
 750    RPM_ACTIVE = 0,
 751    RPM_RESUMING = 1,
 752    RPM_SUSPENDED = 2,
 753    RPM_SUSPENDING = 3
 754} ;
 755#line 296
 756enum rpm_request {
 757    RPM_REQ_NONE = 0,
 758    RPM_REQ_IDLE = 1,
 759    RPM_REQ_SUSPEND = 2,
 760    RPM_REQ_AUTOSUSPEND = 3,
 761    RPM_REQ_RESUME = 4
 762} ;
 763#line 304
 764struct wakeup_source;
 765#line 304
 766struct wakeup_source;
 767#line 494 "include/linux/pm.h"
 768struct pm_subsys_data {
 769   spinlock_t lock ;
 770   unsigned int refcount ;
 771};
 772#line 499
 773struct dev_pm_qos_request;
 774#line 499
 775struct pm_qos_constraints;
 776#line 499 "include/linux/pm.h"
 777struct dev_pm_info {
 778   pm_message_t power_state ;
 779   unsigned char can_wakeup : 1 ;
 780   unsigned char async_suspend : 1 ;
 781   bool is_prepared ;
 782   bool is_suspended ;
 783   bool ignore_children ;
 784   spinlock_t lock ;
 785   struct list_head entry ;
 786   struct completion completion ;
 787   struct wakeup_source *wakeup ;
 788   bool wakeup_path ;
 789   struct timer_list suspend_timer ;
 790   unsigned long timer_expires ;
 791   struct work_struct work ;
 792   wait_queue_head_t wait_queue ;
 793   atomic_t usage_count ;
 794   atomic_t child_count ;
 795   unsigned char disable_depth : 3 ;
 796   unsigned char idle_notification : 1 ;
 797   unsigned char request_pending : 1 ;
 798   unsigned char deferred_resume : 1 ;
 799   unsigned char run_wake : 1 ;
 800   unsigned char runtime_auto : 1 ;
 801   unsigned char no_callbacks : 1 ;
 802   unsigned char irq_safe : 1 ;
 803   unsigned char use_autosuspend : 1 ;
 804   unsigned char timer_autosuspends : 1 ;
 805   enum rpm_request request ;
 806   enum rpm_status runtime_status ;
 807   int runtime_error ;
 808   int autosuspend_delay ;
 809   unsigned long last_busy ;
 810   unsigned long active_jiffies ;
 811   unsigned long suspended_jiffies ;
 812   unsigned long accounting_timestamp ;
 813   ktime_t suspend_time ;
 814   s64 max_time_suspended_ns ;
 815   struct dev_pm_qos_request *pq_req ;
 816   struct pm_subsys_data *subsys_data ;
 817   struct pm_qos_constraints *constraints ;
 818};
 819#line 558 "include/linux/pm.h"
 820struct dev_pm_domain {
 821   struct dev_pm_ops ops ;
 822};
 823#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 824struct pci_bus;
 825#line 173
 826struct pci_bus;
 827#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 828struct __anonstruct_mm_context_t_101 {
 829   void *ldt ;
 830   int size ;
 831   unsigned short ia32_compat ;
 832   struct mutex lock ;
 833   void *vdso ;
 834};
 835#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 836typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 837#line 18 "include/asm-generic/pci_iomap.h"
 838struct vm_area_struct;
 839#line 18
 840struct vm_area_struct;
 841#line 835 "include/linux/sysctl.h"
 842struct rb_node {
 843   unsigned long rb_parent_color ;
 844   struct rb_node *rb_right ;
 845   struct rb_node *rb_left ;
 846};
 847#line 108 "include/linux/rbtree.h"
 848struct rb_root {
 849   struct rb_node *rb_node ;
 850};
 851#line 176
 852struct nsproxy;
 853#line 176
 854struct nsproxy;
 855#line 37 "include/linux/kmod.h"
 856struct cred;
 857#line 37
 858struct cred;
 859#line 18 "include/linux/elf.h"
 860typedef __u64 Elf64_Addr;
 861#line 19 "include/linux/elf.h"
 862typedef __u16 Elf64_Half;
 863#line 23 "include/linux/elf.h"
 864typedef __u32 Elf64_Word;
 865#line 24 "include/linux/elf.h"
 866typedef __u64 Elf64_Xword;
 867#line 193 "include/linux/elf.h"
 868struct elf64_sym {
 869   Elf64_Word st_name ;
 870   unsigned char st_info ;
 871   unsigned char st_other ;
 872   Elf64_Half st_shndx ;
 873   Elf64_Addr st_value ;
 874   Elf64_Xword st_size ;
 875};
 876#line 201 "include/linux/elf.h"
 877typedef struct elf64_sym Elf64_Sym;
 878#line 445
 879struct sock;
 880#line 445
 881struct sock;
 882#line 446
 883struct kobject;
 884#line 446
 885struct kobject;
 886#line 447
 887enum kobj_ns_type {
 888    KOBJ_NS_TYPE_NONE = 0,
 889    KOBJ_NS_TYPE_NET = 1,
 890    KOBJ_NS_TYPES = 2
 891} ;
 892#line 453 "include/linux/elf.h"
 893struct kobj_ns_type_operations {
 894   enum kobj_ns_type type ;
 895   void *(*grab_current_ns)(void) ;
 896   void const   *(*netlink_ns)(struct sock * ) ;
 897   void const   *(*initial_ns)(void) ;
 898   void (*drop_ns)(void * ) ;
 899};
 900#line 57 "include/linux/kobject_ns.h"
 901struct attribute {
 902   char const   *name ;
 903   umode_t mode ;
 904   struct lock_class_key *key ;
 905   struct lock_class_key skey ;
 906};
 907#line 33 "include/linux/sysfs.h"
 908struct attribute_group {
 909   char const   *name ;
 910   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 911   struct attribute **attrs ;
 912};
 913#line 62 "include/linux/sysfs.h"
 914struct bin_attribute {
 915   struct attribute attr ;
 916   size_t size ;
 917   void *private ;
 918   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 919                   loff_t  , size_t  ) ;
 920   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 921                    loff_t  , size_t  ) ;
 922   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 923};
 924#line 98 "include/linux/sysfs.h"
 925struct sysfs_ops {
 926   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 927   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 928   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 929};
 930#line 117
 931struct sysfs_dirent;
 932#line 117
 933struct sysfs_dirent;
 934#line 182 "include/linux/sysfs.h"
 935struct kref {
 936   atomic_t refcount ;
 937};
 938#line 49 "include/linux/kobject.h"
 939struct kset;
 940#line 49
 941struct kobj_type;
 942#line 49 "include/linux/kobject.h"
 943struct kobject {
 944   char const   *name ;
 945   struct list_head entry ;
 946   struct kobject *parent ;
 947   struct kset *kset ;
 948   struct kobj_type *ktype ;
 949   struct sysfs_dirent *sd ;
 950   struct kref kref ;
 951   unsigned char state_initialized : 1 ;
 952   unsigned char state_in_sysfs : 1 ;
 953   unsigned char state_add_uevent_sent : 1 ;
 954   unsigned char state_remove_uevent_sent : 1 ;
 955   unsigned char uevent_suppress : 1 ;
 956};
 957#line 107 "include/linux/kobject.h"
 958struct kobj_type {
 959   void (*release)(struct kobject * ) ;
 960   struct sysfs_ops  const  *sysfs_ops ;
 961   struct attribute **default_attrs ;
 962   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 963   void const   *(*namespace)(struct kobject * ) ;
 964};
 965#line 115 "include/linux/kobject.h"
 966struct kobj_uevent_env {
 967   char *envp[32U] ;
 968   int envp_idx ;
 969   char buf[2048U] ;
 970   int buflen ;
 971};
 972#line 122 "include/linux/kobject.h"
 973struct kset_uevent_ops {
 974   int (* const  filter)(struct kset * , struct kobject * ) ;
 975   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 976   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 977};
 978#line 139 "include/linux/kobject.h"
 979struct kset {
 980   struct list_head list ;
 981   spinlock_t list_lock ;
 982   struct kobject kobj ;
 983   struct kset_uevent_ops  const  *uevent_ops ;
 984};
 985#line 215
 986struct kernel_param;
 987#line 215
 988struct kernel_param;
 989#line 216 "include/linux/kobject.h"
 990struct kernel_param_ops {
 991   int (*set)(char const   * , struct kernel_param  const  * ) ;
 992   int (*get)(char * , struct kernel_param  const  * ) ;
 993   void (*free)(void * ) ;
 994};
 995#line 49 "include/linux/moduleparam.h"
 996struct kparam_string;
 997#line 49
 998struct kparam_array;
 999#line 49 "include/linux/moduleparam.h"
1000union __anonunion_ldv_13363_134 {
1001   void *arg ;
1002   struct kparam_string  const  *str ;
1003   struct kparam_array  const  *arr ;
1004};
1005#line 49 "include/linux/moduleparam.h"
1006struct kernel_param {
1007   char const   *name ;
1008   struct kernel_param_ops  const  *ops ;
1009   u16 perm ;
1010   s16 level ;
1011   union __anonunion_ldv_13363_134 ldv_13363 ;
1012};
1013#line 61 "include/linux/moduleparam.h"
1014struct kparam_string {
1015   unsigned int maxlen ;
1016   char *string ;
1017};
1018#line 67 "include/linux/moduleparam.h"
1019struct kparam_array {
1020   unsigned int max ;
1021   unsigned int elemsize ;
1022   unsigned int *num ;
1023   struct kernel_param_ops  const  *ops ;
1024   void *elem ;
1025};
1026#line 458 "include/linux/moduleparam.h"
1027struct static_key {
1028   atomic_t enabled ;
1029};
1030#line 225 "include/linux/jump_label.h"
1031struct tracepoint;
1032#line 225
1033struct tracepoint;
1034#line 226 "include/linux/jump_label.h"
1035struct tracepoint_func {
1036   void *func ;
1037   void *data ;
1038};
1039#line 29 "include/linux/tracepoint.h"
1040struct tracepoint {
1041   char const   *name ;
1042   struct static_key key ;
1043   void (*regfunc)(void) ;
1044   void (*unregfunc)(void) ;
1045   struct tracepoint_func *funcs ;
1046};
1047#line 86 "include/linux/tracepoint.h"
1048struct kernel_symbol {
1049   unsigned long value ;
1050   char const   *name ;
1051};
1052#line 27 "include/linux/export.h"
1053struct mod_arch_specific {
1054
1055};
1056#line 34 "include/linux/module.h"
1057struct module_param_attrs;
1058#line 34 "include/linux/module.h"
1059struct module_kobject {
1060   struct kobject kobj ;
1061   struct module *mod ;
1062   struct kobject *drivers_dir ;
1063   struct module_param_attrs *mp ;
1064};
1065#line 43 "include/linux/module.h"
1066struct module_attribute {
1067   struct attribute attr ;
1068   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1069   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1070                    size_t  ) ;
1071   void (*setup)(struct module * , char const   * ) ;
1072   int (*test)(struct module * ) ;
1073   void (*free)(struct module * ) ;
1074};
1075#line 69
1076struct exception_table_entry;
1077#line 69
1078struct exception_table_entry;
1079#line 198
1080enum module_state {
1081    MODULE_STATE_LIVE = 0,
1082    MODULE_STATE_COMING = 1,
1083    MODULE_STATE_GOING = 2
1084} ;
1085#line 204 "include/linux/module.h"
1086struct module_ref {
1087   unsigned long incs ;
1088   unsigned long decs ;
1089};
1090#line 219
1091struct module_sect_attrs;
1092#line 219
1093struct module_notes_attrs;
1094#line 219
1095struct ftrace_event_call;
1096#line 219 "include/linux/module.h"
1097struct module {
1098   enum module_state state ;
1099   struct list_head list ;
1100   char name[56U] ;
1101   struct module_kobject mkobj ;
1102   struct module_attribute *modinfo_attrs ;
1103   char const   *version ;
1104   char const   *srcversion ;
1105   struct kobject *holders_dir ;
1106   struct kernel_symbol  const  *syms ;
1107   unsigned long const   *crcs ;
1108   unsigned int num_syms ;
1109   struct kernel_param *kp ;
1110   unsigned int num_kp ;
1111   unsigned int num_gpl_syms ;
1112   struct kernel_symbol  const  *gpl_syms ;
1113   unsigned long const   *gpl_crcs ;
1114   struct kernel_symbol  const  *unused_syms ;
1115   unsigned long const   *unused_crcs ;
1116   unsigned int num_unused_syms ;
1117   unsigned int num_unused_gpl_syms ;
1118   struct kernel_symbol  const  *unused_gpl_syms ;
1119   unsigned long const   *unused_gpl_crcs ;
1120   struct kernel_symbol  const  *gpl_future_syms ;
1121   unsigned long const   *gpl_future_crcs ;
1122   unsigned int num_gpl_future_syms ;
1123   unsigned int num_exentries ;
1124   struct exception_table_entry *extable ;
1125   int (*init)(void) ;
1126   void *module_init ;
1127   void *module_core ;
1128   unsigned int init_size ;
1129   unsigned int core_size ;
1130   unsigned int init_text_size ;
1131   unsigned int core_text_size ;
1132   unsigned int init_ro_size ;
1133   unsigned int core_ro_size ;
1134   struct mod_arch_specific arch ;
1135   unsigned int taints ;
1136   unsigned int num_bugs ;
1137   struct list_head bug_list ;
1138   struct bug_entry *bug_table ;
1139   Elf64_Sym *symtab ;
1140   Elf64_Sym *core_symtab ;
1141   unsigned int num_symtab ;
1142   unsigned int core_num_syms ;
1143   char *strtab ;
1144   char *core_strtab ;
1145   struct module_sect_attrs *sect_attrs ;
1146   struct module_notes_attrs *notes_attrs ;
1147   char *args ;
1148   void *percpu ;
1149   unsigned int percpu_size ;
1150   unsigned int num_tracepoints ;
1151   struct tracepoint * const  *tracepoints_ptrs ;
1152   unsigned int num_trace_bprintk_fmt ;
1153   char const   **trace_bprintk_fmt_start ;
1154   struct ftrace_event_call **trace_events ;
1155   unsigned int num_trace_events ;
1156   struct list_head source_list ;
1157   struct list_head target_list ;
1158   struct task_struct *waiter ;
1159   void (*exit)(void) ;
1160   struct module_ref *refptr ;
1161   ctor_fn_t (**ctors)(void) ;
1162   unsigned int num_ctors ;
1163};
1164#line 88 "include/linux/kmemleak.h"
1165struct kmem_cache_cpu {
1166   void **freelist ;
1167   unsigned long tid ;
1168   struct page *page ;
1169   struct page *partial ;
1170   int node ;
1171   unsigned int stat[26U] ;
1172};
1173#line 55 "include/linux/slub_def.h"
1174struct kmem_cache_node {
1175   spinlock_t list_lock ;
1176   unsigned long nr_partial ;
1177   struct list_head partial ;
1178   atomic_long_t nr_slabs ;
1179   atomic_long_t total_objects ;
1180   struct list_head full ;
1181};
1182#line 66 "include/linux/slub_def.h"
1183struct kmem_cache_order_objects {
1184   unsigned long x ;
1185};
1186#line 76 "include/linux/slub_def.h"
1187struct kmem_cache {
1188   struct kmem_cache_cpu *cpu_slab ;
1189   unsigned long flags ;
1190   unsigned long min_partial ;
1191   int size ;
1192   int objsize ;
1193   int offset ;
1194   int cpu_partial ;
1195   struct kmem_cache_order_objects oo ;
1196   struct kmem_cache_order_objects max ;
1197   struct kmem_cache_order_objects min ;
1198   gfp_t allocflags ;
1199   int refcount ;
1200   void (*ctor)(void * ) ;
1201   int inuse ;
1202   int align ;
1203   int reserved ;
1204   char const   *name ;
1205   struct list_head list ;
1206   struct kobject kobj ;
1207   int remote_node_defrag_ratio ;
1208   struct kmem_cache_node *node[1024U] ;
1209};
1210#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
1211struct file_operations;
1212#line 66 "include/linux/miscdevice.h"
1213struct block_device;
1214#line 66
1215struct block_device;
1216#line 93 "include/linux/bit_spinlock.h"
1217struct hlist_bl_node;
1218#line 93 "include/linux/bit_spinlock.h"
1219struct hlist_bl_head {
1220   struct hlist_bl_node *first ;
1221};
1222#line 36 "include/linux/list_bl.h"
1223struct hlist_bl_node {
1224   struct hlist_bl_node *next ;
1225   struct hlist_bl_node **pprev ;
1226};
1227#line 114 "include/linux/rculist_bl.h"
1228struct nameidata;
1229#line 114
1230struct nameidata;
1231#line 115
1232struct path;
1233#line 115
1234struct path;
1235#line 116
1236struct vfsmount;
1237#line 116
1238struct vfsmount;
1239#line 117 "include/linux/rculist_bl.h"
1240struct qstr {
1241   unsigned int hash ;
1242   unsigned int len ;
1243   unsigned char const   *name ;
1244};
1245#line 72 "include/linux/dcache.h"
1246struct inode;
1247#line 72
1248struct dentry_operations;
1249#line 72
1250struct super_block;
1251#line 72 "include/linux/dcache.h"
1252union __anonunion_d_u_135 {
1253   struct list_head d_child ;
1254   struct rcu_head d_rcu ;
1255};
1256#line 72 "include/linux/dcache.h"
1257struct dentry {
1258   unsigned int d_flags ;
1259   seqcount_t d_seq ;
1260   struct hlist_bl_node d_hash ;
1261   struct dentry *d_parent ;
1262   struct qstr d_name ;
1263   struct inode *d_inode ;
1264   unsigned char d_iname[32U] ;
1265   unsigned int d_count ;
1266   spinlock_t d_lock ;
1267   struct dentry_operations  const  *d_op ;
1268   struct super_block *d_sb ;
1269   unsigned long d_time ;
1270   void *d_fsdata ;
1271   struct list_head d_lru ;
1272   union __anonunion_d_u_135 d_u ;
1273   struct list_head d_subdirs ;
1274   struct list_head d_alias ;
1275};
1276#line 123 "include/linux/dcache.h"
1277struct dentry_operations {
1278   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1279   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1280   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1281                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1282   int (*d_delete)(struct dentry  const  * ) ;
1283   void (*d_release)(struct dentry * ) ;
1284   void (*d_prune)(struct dentry * ) ;
1285   void (*d_iput)(struct dentry * , struct inode * ) ;
1286   char *(*d_dname)(struct dentry * , char * , int  ) ;
1287   struct vfsmount *(*d_automount)(struct path * ) ;
1288   int (*d_manage)(struct dentry * , bool  ) ;
1289};
1290#line 402 "include/linux/dcache.h"
1291struct path {
1292   struct vfsmount *mnt ;
1293   struct dentry *dentry ;
1294};
1295#line 58 "include/linux/radix-tree.h"
1296struct radix_tree_node;
1297#line 58 "include/linux/radix-tree.h"
1298struct radix_tree_root {
1299   unsigned int height ;
1300   gfp_t gfp_mask ;
1301   struct radix_tree_node *rnode ;
1302};
1303#line 377
1304struct prio_tree_node;
1305#line 377 "include/linux/radix-tree.h"
1306struct raw_prio_tree_node {
1307   struct prio_tree_node *left ;
1308   struct prio_tree_node *right ;
1309   struct prio_tree_node *parent ;
1310};
1311#line 19 "include/linux/prio_tree.h"
1312struct prio_tree_node {
1313   struct prio_tree_node *left ;
1314   struct prio_tree_node *right ;
1315   struct prio_tree_node *parent ;
1316   unsigned long start ;
1317   unsigned long last ;
1318};
1319#line 27 "include/linux/prio_tree.h"
1320struct prio_tree_root {
1321   struct prio_tree_node *prio_tree_node ;
1322   unsigned short index_bits ;
1323   unsigned short raw ;
1324};
1325#line 111
1326enum pid_type {
1327    PIDTYPE_PID = 0,
1328    PIDTYPE_PGID = 1,
1329    PIDTYPE_SID = 2,
1330    PIDTYPE_MAX = 3
1331} ;
1332#line 118
1333struct pid_namespace;
1334#line 118 "include/linux/prio_tree.h"
1335struct upid {
1336   int nr ;
1337   struct pid_namespace *ns ;
1338   struct hlist_node pid_chain ;
1339};
1340#line 56 "include/linux/pid.h"
1341struct pid {
1342   atomic_t count ;
1343   unsigned int level ;
1344   struct hlist_head tasks[3U] ;
1345   struct rcu_head rcu ;
1346   struct upid numbers[1U] ;
1347};
1348#line 68 "include/linux/pid.h"
1349struct pid_link {
1350   struct hlist_node node ;
1351   struct pid *pid ;
1352};
1353#line 93 "include/linux/capability.h"
1354struct kernel_cap_struct {
1355   __u32 cap[2U] ;
1356};
1357#line 96 "include/linux/capability.h"
1358typedef struct kernel_cap_struct kernel_cap_t;
1359#line 104
1360struct user_namespace;
1361#line 104
1362struct user_namespace;
1363#line 45 "include/linux/semaphore.h"
1364struct fiemap_extent {
1365   __u64 fe_logical ;
1366   __u64 fe_physical ;
1367   __u64 fe_length ;
1368   __u64 fe_reserved64[2U] ;
1369   __u32 fe_flags ;
1370   __u32 fe_reserved[3U] ;
1371};
1372#line 38 "include/linux/fiemap.h"
1373struct shrink_control {
1374   gfp_t gfp_mask ;
1375   unsigned long nr_to_scan ;
1376};
1377#line 14 "include/linux/shrinker.h"
1378struct shrinker {
1379   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1380   int seeks ;
1381   long batch ;
1382   struct list_head list ;
1383   atomic_long_t nr_in_batch ;
1384};
1385#line 43
1386enum migrate_mode {
1387    MIGRATE_ASYNC = 0,
1388    MIGRATE_SYNC_LIGHT = 1,
1389    MIGRATE_SYNC = 2
1390} ;
1391#line 49
1392struct export_operations;
1393#line 49
1394struct export_operations;
1395#line 51
1396struct iovec;
1397#line 51
1398struct iovec;
1399#line 52
1400struct kiocb;
1401#line 52
1402struct kiocb;
1403#line 53
1404struct pipe_inode_info;
1405#line 53
1406struct pipe_inode_info;
1407#line 54
1408struct poll_table_struct;
1409#line 54
1410struct poll_table_struct;
1411#line 55
1412struct kstatfs;
1413#line 55
1414struct kstatfs;
1415#line 435 "include/linux/fs.h"
1416struct iattr {
1417   unsigned int ia_valid ;
1418   umode_t ia_mode ;
1419   uid_t ia_uid ;
1420   gid_t ia_gid ;
1421   loff_t ia_size ;
1422   struct timespec ia_atime ;
1423   struct timespec ia_mtime ;
1424   struct timespec ia_ctime ;
1425   struct file *ia_file ;
1426};
1427#line 119 "include/linux/quota.h"
1428struct if_dqinfo {
1429   __u64 dqi_bgrace ;
1430   __u64 dqi_igrace ;
1431   __u32 dqi_flags ;
1432   __u32 dqi_valid ;
1433};
1434#line 176 "include/linux/percpu_counter.h"
1435struct fs_disk_quota {
1436   __s8 d_version ;
1437   __s8 d_flags ;
1438   __u16 d_fieldmask ;
1439   __u32 d_id ;
1440   __u64 d_blk_hardlimit ;
1441   __u64 d_blk_softlimit ;
1442   __u64 d_ino_hardlimit ;
1443   __u64 d_ino_softlimit ;
1444   __u64 d_bcount ;
1445   __u64 d_icount ;
1446   __s32 d_itimer ;
1447   __s32 d_btimer ;
1448   __u16 d_iwarns ;
1449   __u16 d_bwarns ;
1450   __s32 d_padding2 ;
1451   __u64 d_rtb_hardlimit ;
1452   __u64 d_rtb_softlimit ;
1453   __u64 d_rtbcount ;
1454   __s32 d_rtbtimer ;
1455   __u16 d_rtbwarns ;
1456   __s16 d_padding3 ;
1457   char d_padding4[8U] ;
1458};
1459#line 75 "include/linux/dqblk_xfs.h"
1460struct fs_qfilestat {
1461   __u64 qfs_ino ;
1462   __u64 qfs_nblks ;
1463   __u32 qfs_nextents ;
1464};
1465#line 150 "include/linux/dqblk_xfs.h"
1466typedef struct fs_qfilestat fs_qfilestat_t;
1467#line 151 "include/linux/dqblk_xfs.h"
1468struct fs_quota_stat {
1469   __s8 qs_version ;
1470   __u16 qs_flags ;
1471   __s8 qs_pad ;
1472   fs_qfilestat_t qs_uquota ;
1473   fs_qfilestat_t qs_gquota ;
1474   __u32 qs_incoredqs ;
1475   __s32 qs_btimelimit ;
1476   __s32 qs_itimelimit ;
1477   __s32 qs_rtbtimelimit ;
1478   __u16 qs_bwarnlimit ;
1479   __u16 qs_iwarnlimit ;
1480};
1481#line 165
1482struct dquot;
1483#line 165
1484struct dquot;
1485#line 185 "include/linux/quota.h"
1486typedef __kernel_uid32_t qid_t;
1487#line 186 "include/linux/quota.h"
1488typedef long long qsize_t;
1489#line 189 "include/linux/quota.h"
1490struct mem_dqblk {
1491   qsize_t dqb_bhardlimit ;
1492   qsize_t dqb_bsoftlimit ;
1493   qsize_t dqb_curspace ;
1494   qsize_t dqb_rsvspace ;
1495   qsize_t dqb_ihardlimit ;
1496   qsize_t dqb_isoftlimit ;
1497   qsize_t dqb_curinodes ;
1498   time_t dqb_btime ;
1499   time_t dqb_itime ;
1500};
1501#line 211
1502struct quota_format_type;
1503#line 211
1504struct quota_format_type;
1505#line 212 "include/linux/quota.h"
1506struct mem_dqinfo {
1507   struct quota_format_type *dqi_format ;
1508   int dqi_fmt_id ;
1509   struct list_head dqi_dirty_list ;
1510   unsigned long dqi_flags ;
1511   unsigned int dqi_bgrace ;
1512   unsigned int dqi_igrace ;
1513   qsize_t dqi_maxblimit ;
1514   qsize_t dqi_maxilimit ;
1515   void *dqi_priv ;
1516};
1517#line 275 "include/linux/quota.h"
1518struct dquot {
1519   struct hlist_node dq_hash ;
1520   struct list_head dq_inuse ;
1521   struct list_head dq_free ;
1522   struct list_head dq_dirty ;
1523   struct mutex dq_lock ;
1524   atomic_t dq_count ;
1525   wait_queue_head_t dq_wait_unused ;
1526   struct super_block *dq_sb ;
1527   unsigned int dq_id ;
1528   loff_t dq_off ;
1529   unsigned long dq_flags ;
1530   short dq_type ;
1531   struct mem_dqblk dq_dqb ;
1532};
1533#line 303 "include/linux/quota.h"
1534struct quota_format_ops {
1535   int (*check_quota_file)(struct super_block * , int  ) ;
1536   int (*read_file_info)(struct super_block * , int  ) ;
1537   int (*write_file_info)(struct super_block * , int  ) ;
1538   int (*free_file_info)(struct super_block * , int  ) ;
1539   int (*read_dqblk)(struct dquot * ) ;
1540   int (*commit_dqblk)(struct dquot * ) ;
1541   int (*release_dqblk)(struct dquot * ) ;
1542};
1543#line 314 "include/linux/quota.h"
1544struct dquot_operations {
1545   int (*write_dquot)(struct dquot * ) ;
1546   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1547   void (*destroy_dquot)(struct dquot * ) ;
1548   int (*acquire_dquot)(struct dquot * ) ;
1549   int (*release_dquot)(struct dquot * ) ;
1550   int (*mark_dirty)(struct dquot * ) ;
1551   int (*write_info)(struct super_block * , int  ) ;
1552   qsize_t *(*get_reserved_space)(struct inode * ) ;
1553};
1554#line 328 "include/linux/quota.h"
1555struct quotactl_ops {
1556   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1557   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1558   int (*quota_off)(struct super_block * , int  ) ;
1559   int (*quota_sync)(struct super_block * , int  , int  ) ;
1560   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1561   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1562   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1563   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1564   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1565   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1566};
1567#line 344 "include/linux/quota.h"
1568struct quota_format_type {
1569   int qf_fmt_id ;
1570   struct quota_format_ops  const  *qf_ops ;
1571   struct module *qf_owner ;
1572   struct quota_format_type *qf_next ;
1573};
1574#line 390 "include/linux/quota.h"
1575struct quota_info {
1576   unsigned int flags ;
1577   struct mutex dqio_mutex ;
1578   struct mutex dqonoff_mutex ;
1579   struct rw_semaphore dqptr_sem ;
1580   struct inode *files[2U] ;
1581   struct mem_dqinfo info[2U] ;
1582   struct quota_format_ops  const  *ops[2U] ;
1583};
1584#line 421
1585struct address_space;
1586#line 421
1587struct address_space;
1588#line 422
1589struct writeback_control;
1590#line 422
1591struct writeback_control;
1592#line 585 "include/linux/fs.h"
1593union __anonunion_arg_138 {
1594   char *buf ;
1595   void *data ;
1596};
1597#line 585 "include/linux/fs.h"
1598struct __anonstruct_read_descriptor_t_137 {
1599   size_t written ;
1600   size_t count ;
1601   union __anonunion_arg_138 arg ;
1602   int error ;
1603};
1604#line 585 "include/linux/fs.h"
1605typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1606#line 588 "include/linux/fs.h"
1607struct address_space_operations {
1608   int (*writepage)(struct page * , struct writeback_control * ) ;
1609   int (*readpage)(struct file * , struct page * ) ;
1610   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1611   int (*set_page_dirty)(struct page * ) ;
1612   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1613                    unsigned int  ) ;
1614   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1615                      unsigned int  , struct page ** , void ** ) ;
1616   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1617                    unsigned int  , struct page * , void * ) ;
1618   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1619   void (*invalidatepage)(struct page * , unsigned long  ) ;
1620   int (*releasepage)(struct page * , gfp_t  ) ;
1621   void (*freepage)(struct page * ) ;
1622   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1623                        unsigned long  ) ;
1624   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1625   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1626   int (*launder_page)(struct page * ) ;
1627   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1628   int (*error_remove_page)(struct address_space * , struct page * ) ;
1629};
1630#line 642
1631struct backing_dev_info;
1632#line 642
1633struct backing_dev_info;
1634#line 643 "include/linux/fs.h"
1635struct address_space {
1636   struct inode *host ;
1637   struct radix_tree_root page_tree ;
1638   spinlock_t tree_lock ;
1639   unsigned int i_mmap_writable ;
1640   struct prio_tree_root i_mmap ;
1641   struct list_head i_mmap_nonlinear ;
1642   struct mutex i_mmap_mutex ;
1643   unsigned long nrpages ;
1644   unsigned long writeback_index ;
1645   struct address_space_operations  const  *a_ops ;
1646   unsigned long flags ;
1647   struct backing_dev_info *backing_dev_info ;
1648   spinlock_t private_lock ;
1649   struct list_head private_list ;
1650   struct address_space *assoc_mapping ;
1651};
1652#line 664
1653struct request_queue;
1654#line 664
1655struct request_queue;
1656#line 665
1657struct hd_struct;
1658#line 665
1659struct gendisk;
1660#line 665 "include/linux/fs.h"
1661struct block_device {
1662   dev_t bd_dev ;
1663   int bd_openers ;
1664   struct inode *bd_inode ;
1665   struct super_block *bd_super ;
1666   struct mutex bd_mutex ;
1667   struct list_head bd_inodes ;
1668   void *bd_claiming ;
1669   void *bd_holder ;
1670   int bd_holders ;
1671   bool bd_write_holder ;
1672   struct list_head bd_holder_disks ;
1673   struct block_device *bd_contains ;
1674   unsigned int bd_block_size ;
1675   struct hd_struct *bd_part ;
1676   unsigned int bd_part_count ;
1677   int bd_invalidated ;
1678   struct gendisk *bd_disk ;
1679   struct request_queue *bd_queue ;
1680   struct list_head bd_list ;
1681   unsigned long bd_private ;
1682   int bd_fsfreeze_count ;
1683   struct mutex bd_fsfreeze_mutex ;
1684};
1685#line 737
1686struct posix_acl;
1687#line 737
1688struct posix_acl;
1689#line 738
1690struct inode_operations;
1691#line 738 "include/linux/fs.h"
1692union __anonunion_ldv_15762_139 {
1693   unsigned int const   i_nlink ;
1694   unsigned int __i_nlink ;
1695};
1696#line 738 "include/linux/fs.h"
1697union __anonunion_ldv_15781_140 {
1698   struct list_head i_dentry ;
1699   struct rcu_head i_rcu ;
1700};
1701#line 738
1702struct file_lock;
1703#line 738
1704struct cdev;
1705#line 738 "include/linux/fs.h"
1706union __anonunion_ldv_15798_141 {
1707   struct pipe_inode_info *i_pipe ;
1708   struct block_device *i_bdev ;
1709   struct cdev *i_cdev ;
1710};
1711#line 738 "include/linux/fs.h"
1712struct inode {
1713   umode_t i_mode ;
1714   unsigned short i_opflags ;
1715   uid_t i_uid ;
1716   gid_t i_gid ;
1717   unsigned int i_flags ;
1718   struct posix_acl *i_acl ;
1719   struct posix_acl *i_default_acl ;
1720   struct inode_operations  const  *i_op ;
1721   struct super_block *i_sb ;
1722   struct address_space *i_mapping ;
1723   void *i_security ;
1724   unsigned long i_ino ;
1725   union __anonunion_ldv_15762_139 ldv_15762 ;
1726   dev_t i_rdev ;
1727   struct timespec i_atime ;
1728   struct timespec i_mtime ;
1729   struct timespec i_ctime ;
1730   spinlock_t i_lock ;
1731   unsigned short i_bytes ;
1732   blkcnt_t i_blocks ;
1733   loff_t i_size ;
1734   unsigned long i_state ;
1735   struct mutex i_mutex ;
1736   unsigned long dirtied_when ;
1737   struct hlist_node i_hash ;
1738   struct list_head i_wb_list ;
1739   struct list_head i_lru ;
1740   struct list_head i_sb_list ;
1741   union __anonunion_ldv_15781_140 ldv_15781 ;
1742   atomic_t i_count ;
1743   unsigned int i_blkbits ;
1744   u64 i_version ;
1745   atomic_t i_dio_count ;
1746   atomic_t i_writecount ;
1747   struct file_operations  const  *i_fop ;
1748   struct file_lock *i_flock ;
1749   struct address_space i_data ;
1750   struct dquot *i_dquot[2U] ;
1751   struct list_head i_devices ;
1752   union __anonunion_ldv_15798_141 ldv_15798 ;
1753   __u32 i_generation ;
1754   __u32 i_fsnotify_mask ;
1755   struct hlist_head i_fsnotify_marks ;
1756   atomic_t i_readcount ;
1757   void *i_private ;
1758};
1759#line 941 "include/linux/fs.h"
1760struct fown_struct {
1761   rwlock_t lock ;
1762   struct pid *pid ;
1763   enum pid_type pid_type ;
1764   uid_t uid ;
1765   uid_t euid ;
1766   int signum ;
1767};
1768#line 949 "include/linux/fs.h"
1769struct file_ra_state {
1770   unsigned long start ;
1771   unsigned int size ;
1772   unsigned int async_size ;
1773   unsigned int ra_pages ;
1774   unsigned int mmap_miss ;
1775   loff_t prev_pos ;
1776};
1777#line 972 "include/linux/fs.h"
1778union __anonunion_f_u_142 {
1779   struct list_head fu_list ;
1780   struct rcu_head fu_rcuhead ;
1781};
1782#line 972 "include/linux/fs.h"
1783struct file {
1784   union __anonunion_f_u_142 f_u ;
1785   struct path f_path ;
1786   struct file_operations  const  *f_op ;
1787   spinlock_t f_lock ;
1788   int f_sb_list_cpu ;
1789   atomic_long_t f_count ;
1790   unsigned int f_flags ;
1791   fmode_t f_mode ;
1792   loff_t f_pos ;
1793   struct fown_struct f_owner ;
1794   struct cred  const  *f_cred ;
1795   struct file_ra_state f_ra ;
1796   u64 f_version ;
1797   void *f_security ;
1798   void *private_data ;
1799   struct list_head f_ep_links ;
1800   struct list_head f_tfile_llink ;
1801   struct address_space *f_mapping ;
1802   unsigned long f_mnt_write_state ;
1803};
1804#line 1111
1805struct files_struct;
1806#line 1111 "include/linux/fs.h"
1807typedef struct files_struct *fl_owner_t;
1808#line 1112 "include/linux/fs.h"
1809struct file_lock_operations {
1810   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1811   void (*fl_release_private)(struct file_lock * ) ;
1812};
1813#line 1117 "include/linux/fs.h"
1814struct lock_manager_operations {
1815   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1816   void (*lm_notify)(struct file_lock * ) ;
1817   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1818   void (*lm_release_private)(struct file_lock * ) ;
1819   void (*lm_break)(struct file_lock * ) ;
1820   int (*lm_change)(struct file_lock ** , int  ) ;
1821};
1822#line 1134
1823struct nlm_lockowner;
1824#line 1134
1825struct nlm_lockowner;
1826#line 1135 "include/linux/fs.h"
1827struct nfs_lock_info {
1828   u32 state ;
1829   struct nlm_lockowner *owner ;
1830   struct list_head list ;
1831};
1832#line 14 "include/linux/nfs_fs_i.h"
1833struct nfs4_lock_state;
1834#line 14
1835struct nfs4_lock_state;
1836#line 15 "include/linux/nfs_fs_i.h"
1837struct nfs4_lock_info {
1838   struct nfs4_lock_state *owner ;
1839};
1840#line 19
1841struct fasync_struct;
1842#line 19 "include/linux/nfs_fs_i.h"
1843struct __anonstruct_afs_144 {
1844   struct list_head link ;
1845   int state ;
1846};
1847#line 19 "include/linux/nfs_fs_i.h"
1848union __anonunion_fl_u_143 {
1849   struct nfs_lock_info nfs_fl ;
1850   struct nfs4_lock_info nfs4_fl ;
1851   struct __anonstruct_afs_144 afs ;
1852};
1853#line 19 "include/linux/nfs_fs_i.h"
1854struct file_lock {
1855   struct file_lock *fl_next ;
1856   struct list_head fl_link ;
1857   struct list_head fl_block ;
1858   fl_owner_t fl_owner ;
1859   unsigned int fl_flags ;
1860   unsigned char fl_type ;
1861   unsigned int fl_pid ;
1862   struct pid *fl_nspid ;
1863   wait_queue_head_t fl_wait ;
1864   struct file *fl_file ;
1865   loff_t fl_start ;
1866   loff_t fl_end ;
1867   struct fasync_struct *fl_fasync ;
1868   unsigned long fl_break_time ;
1869   unsigned long fl_downgrade_time ;
1870   struct file_lock_operations  const  *fl_ops ;
1871   struct lock_manager_operations  const  *fl_lmops ;
1872   union __anonunion_fl_u_143 fl_u ;
1873};
1874#line 1221 "include/linux/fs.h"
1875struct fasync_struct {
1876   spinlock_t fa_lock ;
1877   int magic ;
1878   int fa_fd ;
1879   struct fasync_struct *fa_next ;
1880   struct file *fa_file ;
1881   struct rcu_head fa_rcu ;
1882};
1883#line 1417
1884struct file_system_type;
1885#line 1417
1886struct super_operations;
1887#line 1417
1888struct xattr_handler;
1889#line 1417
1890struct mtd_info;
1891#line 1417 "include/linux/fs.h"
1892struct super_block {
1893   struct list_head s_list ;
1894   dev_t s_dev ;
1895   unsigned char s_dirt ;
1896   unsigned char s_blocksize_bits ;
1897   unsigned long s_blocksize ;
1898   loff_t s_maxbytes ;
1899   struct file_system_type *s_type ;
1900   struct super_operations  const  *s_op ;
1901   struct dquot_operations  const  *dq_op ;
1902   struct quotactl_ops  const  *s_qcop ;
1903   struct export_operations  const  *s_export_op ;
1904   unsigned long s_flags ;
1905   unsigned long s_magic ;
1906   struct dentry *s_root ;
1907   struct rw_semaphore s_umount ;
1908   struct mutex s_lock ;
1909   int s_count ;
1910   atomic_t s_active ;
1911   void *s_security ;
1912   struct xattr_handler  const  **s_xattr ;
1913   struct list_head s_inodes ;
1914   struct hlist_bl_head s_anon ;
1915   struct list_head *s_files ;
1916   struct list_head s_mounts ;
1917   struct list_head s_dentry_lru ;
1918   int s_nr_dentry_unused ;
1919   spinlock_t s_inode_lru_lock ;
1920   struct list_head s_inode_lru ;
1921   int s_nr_inodes_unused ;
1922   struct block_device *s_bdev ;
1923   struct backing_dev_info *s_bdi ;
1924   struct mtd_info *s_mtd ;
1925   struct hlist_node s_instances ;
1926   struct quota_info s_dquot ;
1927   int s_frozen ;
1928   wait_queue_head_t s_wait_unfrozen ;
1929   char s_id[32U] ;
1930   u8 s_uuid[16U] ;
1931   void *s_fs_info ;
1932   unsigned int s_max_links ;
1933   fmode_t s_mode ;
1934   u32 s_time_gran ;
1935   struct mutex s_vfs_rename_mutex ;
1936   char *s_subtype ;
1937   char *s_options ;
1938   struct dentry_operations  const  *s_d_op ;
1939   int cleancache_poolid ;
1940   struct shrinker s_shrink ;
1941   atomic_long_t s_remove_count ;
1942   int s_readonly_remount ;
1943};
1944#line 1563 "include/linux/fs.h"
1945struct fiemap_extent_info {
1946   unsigned int fi_flags ;
1947   unsigned int fi_extents_mapped ;
1948   unsigned int fi_extents_max ;
1949   struct fiemap_extent *fi_extents_start ;
1950};
1951#line 1602 "include/linux/fs.h"
1952struct file_operations {
1953   struct module *owner ;
1954   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1955   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1956   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1957   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1958                       loff_t  ) ;
1959   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1960                        loff_t  ) ;
1961   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1962                                                   loff_t  , u64  , unsigned int  ) ) ;
1963   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1964   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1965   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1966   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1967   int (*open)(struct inode * , struct file * ) ;
1968   int (*flush)(struct file * , fl_owner_t  ) ;
1969   int (*release)(struct inode * , struct file * ) ;
1970   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1971   int (*aio_fsync)(struct kiocb * , int  ) ;
1972   int (*fasync)(int  , struct file * , int  ) ;
1973   int (*lock)(struct file * , int  , struct file_lock * ) ;
1974   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1975                       int  ) ;
1976   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1977                                      unsigned long  , unsigned long  ) ;
1978   int (*check_flags)(int  ) ;
1979   int (*flock)(struct file * , int  , struct file_lock * ) ;
1980   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1981                           unsigned int  ) ;
1982   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1983                          unsigned int  ) ;
1984   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1985   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1986};
1987#line 1637 "include/linux/fs.h"
1988struct inode_operations {
1989   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1990   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1991   int (*permission)(struct inode * , int  ) ;
1992   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1993   int (*readlink)(struct dentry * , char * , int  ) ;
1994   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1995   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1996   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1997   int (*unlink)(struct inode * , struct dentry * ) ;
1998   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1999   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
2000   int (*rmdir)(struct inode * , struct dentry * ) ;
2001   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
2002   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2003   void (*truncate)(struct inode * ) ;
2004   int (*setattr)(struct dentry * , struct iattr * ) ;
2005   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
2006   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
2007   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
2008   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
2009   int (*removexattr)(struct dentry * , char const   * ) ;
2010   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
2011   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
2012};
2013#line 1682 "include/linux/fs.h"
2014struct super_operations {
2015   struct inode *(*alloc_inode)(struct super_block * ) ;
2016   void (*destroy_inode)(struct inode * ) ;
2017   void (*dirty_inode)(struct inode * , int  ) ;
2018   int (*write_inode)(struct inode * , struct writeback_control * ) ;
2019   int (*drop_inode)(struct inode * ) ;
2020   void (*evict_inode)(struct inode * ) ;
2021   void (*put_super)(struct super_block * ) ;
2022   void (*write_super)(struct super_block * ) ;
2023   int (*sync_fs)(struct super_block * , int  ) ;
2024   int (*freeze_fs)(struct super_block * ) ;
2025   int (*unfreeze_fs)(struct super_block * ) ;
2026   int (*statfs)(struct dentry * , struct kstatfs * ) ;
2027   int (*remount_fs)(struct super_block * , int * , char * ) ;
2028   void (*umount_begin)(struct super_block * ) ;
2029   int (*show_options)(struct seq_file * , struct dentry * ) ;
2030   int (*show_devname)(struct seq_file * , struct dentry * ) ;
2031   int (*show_path)(struct seq_file * , struct dentry * ) ;
2032   int (*show_stats)(struct seq_file * , struct dentry * ) ;
2033   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
2034   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
2035                          loff_t  ) ;
2036   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
2037   int (*nr_cached_objects)(struct super_block * ) ;
2038   void (*free_cached_objects)(struct super_block * , int  ) ;
2039};
2040#line 1834 "include/linux/fs.h"
2041struct file_system_type {
2042   char const   *name ;
2043   int fs_flags ;
2044   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
2045   void (*kill_sb)(struct super_block * ) ;
2046   struct module *owner ;
2047   struct file_system_type *next ;
2048   struct hlist_head fs_supers ;
2049   struct lock_class_key s_lock_key ;
2050   struct lock_class_key s_umount_key ;
2051   struct lock_class_key s_vfs_rename_key ;
2052   struct lock_class_key i_lock_key ;
2053   struct lock_class_key i_mutex_key ;
2054   struct lock_class_key i_mutex_dir_key ;
2055};
2056#line 46 "include/linux/proc_fs.h"
2057typedef int read_proc_t(char * , char ** , off_t  , int  , int * , void * );
2058#line 48 "include/linux/proc_fs.h"
2059typedef int write_proc_t(struct file * , char const   * , unsigned long  , void * );
2060#line 49 "include/linux/proc_fs.h"
2061struct proc_dir_entry {
2062   unsigned int low_ino ;
2063   umode_t mode ;
2064   nlink_t nlink ;
2065   uid_t uid ;
2066   gid_t gid ;
2067   loff_t size ;
2068   struct inode_operations  const  *proc_iops ;
2069   struct file_operations  const  *proc_fops ;
2070   struct proc_dir_entry *next ;
2071   struct proc_dir_entry *parent ;
2072   struct proc_dir_entry *subdir ;
2073   void *data ;
2074   read_proc_t *read_proc ;
2075   write_proc_t *write_proc ;
2076   atomic_t count ;
2077   int pde_users ;
2078   struct completion *pde_unload_completion ;
2079   struct list_head pde_openers ;
2080   spinlock_t pde_unload_lock ;
2081   u8 namelen ;
2082   char name[0U] ;
2083};
2084#line 121
2085struct tty_driver;
2086#line 121
2087struct tty_driver;
2088#line 41 "include/linux/file.h"
2089struct klist_node;
2090#line 41
2091struct klist_node;
2092#line 37 "include/linux/klist.h"
2093struct klist_node {
2094   void *n_klist ;
2095   struct list_head n_node ;
2096   struct kref n_ref ;
2097};
2098#line 67
2099struct dma_map_ops;
2100#line 67 "include/linux/klist.h"
2101struct dev_archdata {
2102   void *acpi_handle ;
2103   struct dma_map_ops *dma_ops ;
2104   void *iommu ;
2105};
2106#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2107struct pdev_archdata {
2108
2109};
2110#line 17
2111struct device_private;
2112#line 17
2113struct device_private;
2114#line 18
2115struct device_driver;
2116#line 18
2117struct device_driver;
2118#line 19
2119struct driver_private;
2120#line 19
2121struct driver_private;
2122#line 20
2123struct class;
2124#line 20
2125struct class;
2126#line 21
2127struct subsys_private;
2128#line 21
2129struct subsys_private;
2130#line 22
2131struct bus_type;
2132#line 22
2133struct bus_type;
2134#line 23
2135struct device_node;
2136#line 23
2137struct device_node;
2138#line 24
2139struct iommu_ops;
2140#line 24
2141struct iommu_ops;
2142#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2143struct bus_attribute {
2144   struct attribute attr ;
2145   ssize_t (*show)(struct bus_type * , char * ) ;
2146   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
2147};
2148#line 51 "include/linux/device.h"
2149struct device_attribute;
2150#line 51
2151struct driver_attribute;
2152#line 51 "include/linux/device.h"
2153struct bus_type {
2154   char const   *name ;
2155   char const   *dev_name ;
2156   struct device *dev_root ;
2157   struct bus_attribute *bus_attrs ;
2158   struct device_attribute *dev_attrs ;
2159   struct driver_attribute *drv_attrs ;
2160   int (*match)(struct device * , struct device_driver * ) ;
2161   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2162   int (*probe)(struct device * ) ;
2163   int (*remove)(struct device * ) ;
2164   void (*shutdown)(struct device * ) ;
2165   int (*suspend)(struct device * , pm_message_t  ) ;
2166   int (*resume)(struct device * ) ;
2167   struct dev_pm_ops  const  *pm ;
2168   struct iommu_ops *iommu_ops ;
2169   struct subsys_private *p ;
2170};
2171#line 125
2172struct device_type;
2173#line 182
2174struct of_device_id;
2175#line 182 "include/linux/device.h"
2176struct device_driver {
2177   char const   *name ;
2178   struct bus_type *bus ;
2179   struct module *owner ;
2180   char const   *mod_name ;
2181   bool suppress_bind_attrs ;
2182   struct of_device_id  const  *of_match_table ;
2183   int (*probe)(struct device * ) ;
2184   int (*remove)(struct device * ) ;
2185   void (*shutdown)(struct device * ) ;
2186   int (*suspend)(struct device * , pm_message_t  ) ;
2187   int (*resume)(struct device * ) ;
2188   struct attribute_group  const  **groups ;
2189   struct dev_pm_ops  const  *pm ;
2190   struct driver_private *p ;
2191};
2192#line 245 "include/linux/device.h"
2193struct driver_attribute {
2194   struct attribute attr ;
2195   ssize_t (*show)(struct device_driver * , char * ) ;
2196   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
2197};
2198#line 299
2199struct class_attribute;
2200#line 299 "include/linux/device.h"
2201struct class {
2202   char const   *name ;
2203   struct module *owner ;
2204   struct class_attribute *class_attrs ;
2205   struct device_attribute *dev_attrs ;
2206   struct bin_attribute *dev_bin_attrs ;
2207   struct kobject *dev_kobj ;
2208   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
2209   char *(*devnode)(struct device * , umode_t * ) ;
2210   void (*class_release)(struct class * ) ;
2211   void (*dev_release)(struct device * ) ;
2212   int (*suspend)(struct device * , pm_message_t  ) ;
2213   int (*resume)(struct device * ) ;
2214   struct kobj_ns_type_operations  const  *ns_type ;
2215   void const   *(*namespace)(struct device * ) ;
2216   struct dev_pm_ops  const  *pm ;
2217   struct subsys_private *p ;
2218};
2219#line 394 "include/linux/device.h"
2220struct class_attribute {
2221   struct attribute attr ;
2222   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
2223   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
2224   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
2225};
2226#line 447 "include/linux/device.h"
2227struct device_type {
2228   char const   *name ;
2229   struct attribute_group  const  **groups ;
2230   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2231   char *(*devnode)(struct device * , umode_t * ) ;
2232   void (*release)(struct device * ) ;
2233   struct dev_pm_ops  const  *pm ;
2234};
2235#line 474 "include/linux/device.h"
2236struct device_attribute {
2237   struct attribute attr ;
2238   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
2239   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
2240                    size_t  ) ;
2241};
2242#line 557 "include/linux/device.h"
2243struct device_dma_parameters {
2244   unsigned int max_segment_size ;
2245   unsigned long segment_boundary_mask ;
2246};
2247#line 567
2248struct dma_coherent_mem;
2249#line 567 "include/linux/device.h"
2250struct device {
2251   struct device *parent ;
2252   struct device_private *p ;
2253   struct kobject kobj ;
2254   char const   *init_name ;
2255   struct device_type  const  *type ;
2256   struct mutex mutex ;
2257   struct bus_type *bus ;
2258   struct device_driver *driver ;
2259   void *platform_data ;
2260   struct dev_pm_info power ;
2261   struct dev_pm_domain *pm_domain ;
2262   int numa_node ;
2263   u64 *dma_mask ;
2264   u64 coherent_dma_mask ;
2265   struct device_dma_parameters *dma_parms ;
2266   struct list_head dma_pools ;
2267   struct dma_coherent_mem *dma_mem ;
2268   struct dev_archdata archdata ;
2269   struct device_node *of_node ;
2270   dev_t devt ;
2271   u32 id ;
2272   spinlock_t devres_lock ;
2273   struct list_head devres_head ;
2274   struct klist_node knode_class ;
2275   struct class *class ;
2276   struct attribute_group  const  **groups ;
2277   void (*release)(struct device * ) ;
2278};
2279#line 681 "include/linux/device.h"
2280struct wakeup_source {
2281   char const   *name ;
2282   struct list_head entry ;
2283   spinlock_t lock ;
2284   struct timer_list timer ;
2285   unsigned long timer_expires ;
2286   ktime_t total_time ;
2287   ktime_t max_time ;
2288   ktime_t last_time ;
2289   unsigned long event_count ;
2290   unsigned long active_count ;
2291   unsigned long relax_count ;
2292   unsigned long hit_count ;
2293   unsigned char active : 1 ;
2294};
2295#line 12 "include/linux/mod_devicetable.h"
2296typedef unsigned long kernel_ulong_t;
2297#line 13 "include/linux/mod_devicetable.h"
2298struct pci_device_id {
2299   __u32 vendor ;
2300   __u32 device ;
2301   __u32 subvendor ;
2302   __u32 subdevice ;
2303   __u32 class ;
2304   __u32 class_mask ;
2305   kernel_ulong_t driver_data ;
2306};
2307#line 215 "include/linux/mod_devicetable.h"
2308struct of_device_id {
2309   char name[32U] ;
2310   char type[32U] ;
2311   char compatible[128U] ;
2312   void *data ;
2313};
2314#line 425 "include/linux/mod_devicetable.h"
2315struct i2c_device_id {
2316   char name[20U] ;
2317   kernel_ulong_t driver_data ;
2318};
2319#line 492 "include/linux/mod_devicetable.h"
2320struct platform_device_id {
2321   char name[20U] ;
2322   kernel_ulong_t driver_data ;
2323};
2324#line 584
2325struct mfd_cell;
2326#line 584
2327struct mfd_cell;
2328#line 585 "include/linux/mod_devicetable.h"
2329struct platform_device {
2330   char const   *name ;
2331   int id ;
2332   struct device dev ;
2333   u32 num_resources ;
2334   struct resource *resource ;
2335   struct platform_device_id  const  *id_entry ;
2336   struct mfd_cell *mfd_cell ;
2337   struct pdev_archdata archdata ;
2338};
2339#line 69 "include/linux/io.h"
2340enum irqreturn {
2341    IRQ_NONE = 0,
2342    IRQ_HANDLED = 1,
2343    IRQ_WAKE_THREAD = 2
2344} ;
2345#line 16 "include/linux/irqreturn.h"
2346typedef enum irqreturn irqreturn_t;
2347#line 17
2348struct hotplug_slot;
2349#line 17 "include/linux/irqreturn.h"
2350struct pci_slot {
2351   struct pci_bus *bus ;
2352   struct list_head list ;
2353   struct hotplug_slot *hotplug ;
2354   unsigned char number ;
2355   struct kobject kobj ;
2356};
2357#line 117 "include/linux/pci.h"
2358typedef int pci_power_t;
2359#line 143 "include/linux/pci.h"
2360typedef unsigned int pci_channel_state_t;
2361#line 144
2362enum pci_channel_state {
2363    pci_channel_io_normal = 1,
2364    pci_channel_io_frozen = 2,
2365    pci_channel_io_perm_failure = 3
2366} ;
2367#line 169 "include/linux/pci.h"
2368typedef unsigned short pci_dev_flags_t;
2369#line 186 "include/linux/pci.h"
2370typedef unsigned short pci_bus_flags_t;
2371#line 229
2372struct pcie_link_state;
2373#line 229
2374struct pcie_link_state;
2375#line 230
2376struct pci_vpd;
2377#line 230
2378struct pci_vpd;
2379#line 231
2380struct pci_sriov;
2381#line 231
2382struct pci_sriov;
2383#line 232
2384struct pci_ats;
2385#line 232
2386struct pci_ats;
2387#line 233
2388struct pci_driver;
2389#line 233 "include/linux/pci.h"
2390union __anonunion_ldv_19208_146 {
2391   struct pci_sriov *sriov ;
2392   struct pci_dev *physfn ;
2393};
2394#line 233 "include/linux/pci.h"
2395struct pci_dev {
2396   struct list_head bus_list ;
2397   struct pci_bus *bus ;
2398   struct pci_bus *subordinate ;
2399   void *sysdata ;
2400   struct proc_dir_entry *procent ;
2401   struct pci_slot *slot ;
2402   unsigned int devfn ;
2403   unsigned short vendor ;
2404   unsigned short device ;
2405   unsigned short subsystem_vendor ;
2406   unsigned short subsystem_device ;
2407   unsigned int class ;
2408   u8 revision ;
2409   u8 hdr_type ;
2410   u8 pcie_cap ;
2411   unsigned char pcie_type : 4 ;
2412   unsigned char pcie_mpss : 3 ;
2413   u8 rom_base_reg ;
2414   u8 pin ;
2415   struct pci_driver *driver ;
2416   u64 dma_mask ;
2417   struct device_dma_parameters dma_parms ;
2418   pci_power_t current_state ;
2419   int pm_cap ;
2420   unsigned char pme_support : 5 ;
2421   unsigned char pme_interrupt : 1 ;
2422   unsigned char pme_poll : 1 ;
2423   unsigned char d1_support : 1 ;
2424   unsigned char d2_support : 1 ;
2425   unsigned char no_d1d2 : 1 ;
2426   unsigned char mmio_always_on : 1 ;
2427   unsigned char wakeup_prepared : 1 ;
2428   unsigned int d3_delay ;
2429   struct pcie_link_state *link_state ;
2430   pci_channel_state_t error_state ;
2431   struct device dev ;
2432   int cfg_size ;
2433   unsigned int irq ;
2434   struct resource resource[17U] ;
2435   unsigned char transparent : 1 ;
2436   unsigned char multifunction : 1 ;
2437   unsigned char is_added : 1 ;
2438   unsigned char is_busmaster : 1 ;
2439   unsigned char no_msi : 1 ;
2440   unsigned char block_cfg_access : 1 ;
2441   unsigned char broken_parity_status : 1 ;
2442   unsigned char irq_reroute_variant : 2 ;
2443   unsigned char msi_enabled : 1 ;
2444   unsigned char msix_enabled : 1 ;
2445   unsigned char ari_enabled : 1 ;
2446   unsigned char is_managed : 1 ;
2447   unsigned char is_pcie : 1 ;
2448   unsigned char needs_freset : 1 ;
2449   unsigned char state_saved : 1 ;
2450   unsigned char is_physfn : 1 ;
2451   unsigned char is_virtfn : 1 ;
2452   unsigned char reset_fn : 1 ;
2453   unsigned char is_hotplug_bridge : 1 ;
2454   unsigned char __aer_firmware_first_valid : 1 ;
2455   unsigned char __aer_firmware_first : 1 ;
2456   pci_dev_flags_t dev_flags ;
2457   atomic_t enable_cnt ;
2458   u32 saved_config_space[16U] ;
2459   struct hlist_head saved_cap_space ;
2460   struct bin_attribute *rom_attr ;
2461   int rom_attr_enabled ;
2462   struct bin_attribute *res_attr[17U] ;
2463   struct bin_attribute *res_attr_wc[17U] ;
2464   struct list_head msi_list ;
2465   struct kset *msi_kset ;
2466   struct pci_vpd *vpd ;
2467   union __anonunion_ldv_19208_146 ldv_19208 ;
2468   struct pci_ats *ats ;
2469};
2470#line 403
2471struct pci_ops;
2472#line 403 "include/linux/pci.h"
2473struct pci_bus {
2474   struct list_head node ;
2475   struct pci_bus *parent ;
2476   struct list_head children ;
2477   struct list_head devices ;
2478   struct pci_dev *self ;
2479   struct list_head slots ;
2480   struct resource *resource[4U] ;
2481   struct list_head resources ;
2482   struct pci_ops *ops ;
2483   void *sysdata ;
2484   struct proc_dir_entry *procdir ;
2485   unsigned char number ;
2486   unsigned char primary ;
2487   unsigned char secondary ;
2488   unsigned char subordinate ;
2489   unsigned char max_bus_speed ;
2490   unsigned char cur_bus_speed ;
2491   char name[48U] ;
2492   unsigned short bridge_ctl ;
2493   pci_bus_flags_t bus_flags ;
2494   struct device *bridge ;
2495   struct device dev ;
2496   struct bin_attribute *legacy_io ;
2497   struct bin_attribute *legacy_mem ;
2498   unsigned char is_added : 1 ;
2499};
2500#line 455 "include/linux/pci.h"
2501struct pci_ops {
2502   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
2503   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
2504};
2505#line 490 "include/linux/pci.h"
2506struct pci_dynids {
2507   spinlock_t lock ;
2508   struct list_head list ;
2509};
2510#line 503 "include/linux/pci.h"
2511typedef unsigned int pci_ers_result_t;
2512#line 512 "include/linux/pci.h"
2513struct pci_error_handlers {
2514   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
2515   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
2516   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
2517   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
2518   void (*resume)(struct pci_dev * ) ;
2519};
2520#line 540 "include/linux/pci.h"
2521struct pci_driver {
2522   struct list_head node ;
2523   char const   *name ;
2524   struct pci_device_id  const  *id_table ;
2525   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
2526   void (*remove)(struct pci_dev * ) ;
2527   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
2528   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
2529   int (*resume_early)(struct pci_dev * ) ;
2530   int (*resume)(struct pci_dev * ) ;
2531   void (*shutdown)(struct pci_dev * ) ;
2532   struct pci_error_handlers *err_handler ;
2533   struct device_driver driver ;
2534   struct pci_dynids dynids ;
2535};
2536#line 986 "include/linux/pci.h"
2537struct scatterlist {
2538   unsigned long sg_magic ;
2539   unsigned long page_link ;
2540   unsigned int offset ;
2541   unsigned int length ;
2542   dma_addr_t dma_address ;
2543   unsigned int dma_length ;
2544};
2545#line 1139 "include/linux/pci.h"
2546union __anonunion_ldv_20027_148 {
2547   unsigned long index ;
2548   void *freelist ;
2549};
2550#line 1139 "include/linux/pci.h"
2551struct __anonstruct_ldv_20037_152 {
2552   unsigned short inuse ;
2553   unsigned short objects : 15 ;
2554   unsigned char frozen : 1 ;
2555};
2556#line 1139 "include/linux/pci.h"
2557union __anonunion_ldv_20038_151 {
2558   atomic_t _mapcount ;
2559   struct __anonstruct_ldv_20037_152 ldv_20037 ;
2560};
2561#line 1139 "include/linux/pci.h"
2562struct __anonstruct_ldv_20040_150 {
2563   union __anonunion_ldv_20038_151 ldv_20038 ;
2564   atomic_t _count ;
2565};
2566#line 1139 "include/linux/pci.h"
2567union __anonunion_ldv_20041_149 {
2568   unsigned long counters ;
2569   struct __anonstruct_ldv_20040_150 ldv_20040 ;
2570};
2571#line 1139 "include/linux/pci.h"
2572struct __anonstruct_ldv_20042_147 {
2573   union __anonunion_ldv_20027_148 ldv_20027 ;
2574   union __anonunion_ldv_20041_149 ldv_20041 ;
2575};
2576#line 1139 "include/linux/pci.h"
2577struct __anonstruct_ldv_20049_154 {
2578   struct page *next ;
2579   int pages ;
2580   int pobjects ;
2581};
2582#line 1139 "include/linux/pci.h"
2583union __anonunion_ldv_20050_153 {
2584   struct list_head lru ;
2585   struct __anonstruct_ldv_20049_154 ldv_20049 ;
2586};
2587#line 1139 "include/linux/pci.h"
2588union __anonunion_ldv_20055_155 {
2589   unsigned long private ;
2590   struct kmem_cache *slab ;
2591   struct page *first_page ;
2592};
2593#line 1139 "include/linux/pci.h"
2594struct page {
2595   unsigned long flags ;
2596   struct address_space *mapping ;
2597   struct __anonstruct_ldv_20042_147 ldv_20042 ;
2598   union __anonunion_ldv_20050_153 ldv_20050 ;
2599   union __anonunion_ldv_20055_155 ldv_20055 ;
2600   unsigned long debug_flags ;
2601};
2602#line 192 "include/linux/mm_types.h"
2603struct __anonstruct_vm_set_157 {
2604   struct list_head list ;
2605   void *parent ;
2606   struct vm_area_struct *head ;
2607};
2608#line 192 "include/linux/mm_types.h"
2609union __anonunion_shared_156 {
2610   struct __anonstruct_vm_set_157 vm_set ;
2611   struct raw_prio_tree_node prio_tree_node ;
2612};
2613#line 192
2614struct anon_vma;
2615#line 192
2616struct vm_operations_struct;
2617#line 192
2618struct mempolicy;
2619#line 192 "include/linux/mm_types.h"
2620struct vm_area_struct {
2621   struct mm_struct *vm_mm ;
2622   unsigned long vm_start ;
2623   unsigned long vm_end ;
2624   struct vm_area_struct *vm_next ;
2625   struct vm_area_struct *vm_prev ;
2626   pgprot_t vm_page_prot ;
2627   unsigned long vm_flags ;
2628   struct rb_node vm_rb ;
2629   union __anonunion_shared_156 shared ;
2630   struct list_head anon_vma_chain ;
2631   struct anon_vma *anon_vma ;
2632   struct vm_operations_struct  const  *vm_ops ;
2633   unsigned long vm_pgoff ;
2634   struct file *vm_file ;
2635   void *vm_private_data ;
2636   struct mempolicy *vm_policy ;
2637};
2638#line 255 "include/linux/mm_types.h"
2639struct core_thread {
2640   struct task_struct *task ;
2641   struct core_thread *next ;
2642};
2643#line 261 "include/linux/mm_types.h"
2644struct core_state {
2645   atomic_t nr_threads ;
2646   struct core_thread dumper ;
2647   struct completion startup ;
2648};
2649#line 274 "include/linux/mm_types.h"
2650struct mm_rss_stat {
2651   atomic_long_t count[3U] ;
2652};
2653#line 287
2654struct linux_binfmt;
2655#line 287
2656struct mmu_notifier_mm;
2657#line 287 "include/linux/mm_types.h"
2658struct mm_struct {
2659   struct vm_area_struct *mmap ;
2660   struct rb_root mm_rb ;
2661   struct vm_area_struct *mmap_cache ;
2662   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
2663                                      unsigned long  , unsigned long  ) ;
2664   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
2665   unsigned long mmap_base ;
2666   unsigned long task_size ;
2667   unsigned long cached_hole_size ;
2668   unsigned long free_area_cache ;
2669   pgd_t *pgd ;
2670   atomic_t mm_users ;
2671   atomic_t mm_count ;
2672   int map_count ;
2673   spinlock_t page_table_lock ;
2674   struct rw_semaphore mmap_sem ;
2675   struct list_head mmlist ;
2676   unsigned long hiwater_rss ;
2677   unsigned long hiwater_vm ;
2678   unsigned long total_vm ;
2679   unsigned long locked_vm ;
2680   unsigned long pinned_vm ;
2681   unsigned long shared_vm ;
2682   unsigned long exec_vm ;
2683   unsigned long stack_vm ;
2684   unsigned long reserved_vm ;
2685   unsigned long def_flags ;
2686   unsigned long nr_ptes ;
2687   unsigned long start_code ;
2688   unsigned long end_code ;
2689   unsigned long start_data ;
2690   unsigned long end_data ;
2691   unsigned long start_brk ;
2692   unsigned long brk ;
2693   unsigned long start_stack ;
2694   unsigned long arg_start ;
2695   unsigned long arg_end ;
2696   unsigned long env_start ;
2697   unsigned long env_end ;
2698   unsigned long saved_auxv[44U] ;
2699   struct mm_rss_stat rss_stat ;
2700   struct linux_binfmt *binfmt ;
2701   cpumask_var_t cpu_vm_mask_var ;
2702   mm_context_t context ;
2703   unsigned int faultstamp ;
2704   unsigned int token_priority ;
2705   unsigned int last_interval ;
2706   unsigned long flags ;
2707   struct core_state *core_state ;
2708   spinlock_t ioctx_lock ;
2709   struct hlist_head ioctx_list ;
2710   struct task_struct *owner ;
2711   struct file *exe_file ;
2712   unsigned long num_exe_file_vmas ;
2713   struct mmu_notifier_mm *mmu_notifier_mm ;
2714   pgtable_t pmd_huge_pte ;
2715   struct cpumask cpumask_allocation ;
2716};
2717#line 30 "include/linux/range.h"
2718struct user_struct;
2719#line 30
2720struct user_struct;
2721#line 178 "include/linux/mm.h"
2722struct vm_fault {
2723   unsigned int flags ;
2724   unsigned long pgoff ;
2725   void *virtual_address ;
2726   struct page *page ;
2727};
2728#line 195 "include/linux/mm.h"
2729struct vm_operations_struct {
2730   void (*open)(struct vm_area_struct * ) ;
2731   void (*close)(struct vm_area_struct * ) ;
2732   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2733   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2734   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
2735   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2736   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
2737   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
2738                  unsigned long  ) ;
2739};
2740#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
2741struct dma_attrs {
2742   unsigned long flags[1U] ;
2743};
2744#line 67 "include/linux/dma-attrs.h"
2745enum dma_data_direction {
2746    DMA_BIDIRECTIONAL = 0,
2747    DMA_TO_DEVICE = 1,
2748    DMA_FROM_DEVICE = 2,
2749    DMA_NONE = 3
2750} ;
2751#line 268 "include/linux/scatterlist.h"
2752struct dma_map_ops {
2753   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
2754   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
2755   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
2756               size_t  , struct dma_attrs * ) ;
2757   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
2758                          enum dma_data_direction  , struct dma_attrs * ) ;
2759   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
2760                      struct dma_attrs * ) ;
2761   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2762                 struct dma_attrs * ) ;
2763   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
2764                    struct dma_attrs * ) ;
2765   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
2766   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
2767   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
2768   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
2769   int (*mapping_error)(struct device * , dma_addr_t  ) ;
2770   int (*dma_supported)(struct device * , u64  ) ;
2771   int (*set_dma_mask)(struct device * , u64  ) ;
2772   int is_phys ;
2773};
2774#line 1722 "include/linux/pci.h"
2775struct cdev {
2776   struct kobject kobj ;
2777   struct module *owner ;
2778   struct file_operations  const  *ops ;
2779   struct list_head list ;
2780   dev_t dev ;
2781   unsigned int count ;
2782};
2783#line 34 "include/linux/cdev.h"
2784struct exception_table_entry {
2785   unsigned long insn ;
2786   unsigned long fixup ;
2787};
2788#line 98 "include/linux/sem.h"
2789struct sem_undo_list;
2790#line 98 "include/linux/sem.h"
2791struct sysv_sem {
2792   struct sem_undo_list *undo_list ;
2793};
2794#line 18 "include/linux/socket.h"
2795struct iovec {
2796   void *iov_base ;
2797   __kernel_size_t iov_len ;
2798};
2799#line 44 "include/linux/aio_abi.h"
2800struct io_event {
2801   __u64 data ;
2802   __u64 obj ;
2803   __s64 res ;
2804   __s64 res2 ;
2805};
2806#line 7 "include/asm-generic/cputime.h"
2807typedef unsigned long cputime_t;
2808#line 15
2809struct siginfo;
2810#line 15
2811struct siginfo;
2812#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2813struct __anonstruct_sigset_t_169 {
2814   unsigned long sig[1U] ;
2815};
2816#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2817typedef struct __anonstruct_sigset_t_169 sigset_t;
2818#line 17 "include/asm-generic/signal-defs.h"
2819typedef void __signalfn_t(int  );
2820#line 18 "include/asm-generic/signal-defs.h"
2821typedef __signalfn_t *__sighandler_t;
2822#line 20 "include/asm-generic/signal-defs.h"
2823typedef void __restorefn_t(void);
2824#line 21 "include/asm-generic/signal-defs.h"
2825typedef __restorefn_t *__sigrestore_t;
2826#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2827struct sigaction {
2828   __sighandler_t sa_handler ;
2829   unsigned long sa_flags ;
2830   __sigrestore_t sa_restorer ;
2831   sigset_t sa_mask ;
2832};
2833#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2834struct k_sigaction {
2835   struct sigaction sa ;
2836};
2837#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2838union sigval {
2839   int sival_int ;
2840   void *sival_ptr ;
2841};
2842#line 10 "include/asm-generic/siginfo.h"
2843typedef union sigval sigval_t;
2844#line 11 "include/asm-generic/siginfo.h"
2845struct __anonstruct__kill_171 {
2846   __kernel_pid_t _pid ;
2847   __kernel_uid32_t _uid ;
2848};
2849#line 11 "include/asm-generic/siginfo.h"
2850struct __anonstruct__timer_172 {
2851   __kernel_timer_t _tid ;
2852   int _overrun ;
2853   char _pad[0U] ;
2854   sigval_t _sigval ;
2855   int _sys_private ;
2856};
2857#line 11 "include/asm-generic/siginfo.h"
2858struct __anonstruct__rt_173 {
2859   __kernel_pid_t _pid ;
2860   __kernel_uid32_t _uid ;
2861   sigval_t _sigval ;
2862};
2863#line 11 "include/asm-generic/siginfo.h"
2864struct __anonstruct__sigchld_174 {
2865   __kernel_pid_t _pid ;
2866   __kernel_uid32_t _uid ;
2867   int _status ;
2868   __kernel_clock_t _utime ;
2869   __kernel_clock_t _stime ;
2870};
2871#line 11 "include/asm-generic/siginfo.h"
2872struct __anonstruct__sigfault_175 {
2873   void *_addr ;
2874   short _addr_lsb ;
2875};
2876#line 11 "include/asm-generic/siginfo.h"
2877struct __anonstruct__sigpoll_176 {
2878   long _band ;
2879   int _fd ;
2880};
2881#line 11 "include/asm-generic/siginfo.h"
2882union __anonunion__sifields_170 {
2883   int _pad[28U] ;
2884   struct __anonstruct__kill_171 _kill ;
2885   struct __anonstruct__timer_172 _timer ;
2886   struct __anonstruct__rt_173 _rt ;
2887   struct __anonstruct__sigchld_174 _sigchld ;
2888   struct __anonstruct__sigfault_175 _sigfault ;
2889   struct __anonstruct__sigpoll_176 _sigpoll ;
2890};
2891#line 11 "include/asm-generic/siginfo.h"
2892struct siginfo {
2893   int si_signo ;
2894   int si_errno ;
2895   int si_code ;
2896   union __anonunion__sifields_170 _sifields ;
2897};
2898#line 102 "include/asm-generic/siginfo.h"
2899typedef struct siginfo siginfo_t;
2900#line 24 "include/linux/signal.h"
2901struct sigpending {
2902   struct list_head list ;
2903   sigset_t signal ;
2904};
2905#line 10 "include/linux/seccomp.h"
2906struct __anonstruct_seccomp_t_179 {
2907   int mode ;
2908};
2909#line 10 "include/linux/seccomp.h"
2910typedef struct __anonstruct_seccomp_t_179 seccomp_t;
2911#line 26 "include/linux/seccomp.h"
2912struct plist_head {
2913   struct list_head node_list ;
2914};
2915#line 84 "include/linux/plist.h"
2916struct plist_node {
2917   int prio ;
2918   struct list_head prio_list ;
2919   struct list_head node_list ;
2920};
2921#line 20 "include/linux/rtmutex.h"
2922struct rt_mutex {
2923   raw_spinlock_t wait_lock ;
2924   struct plist_head wait_list ;
2925   struct task_struct *owner ;
2926   int save_state ;
2927   char const   *name ;
2928   char const   *file ;
2929   int line ;
2930   void *magic ;
2931};
2932#line 38
2933struct rt_mutex_waiter;
2934#line 38
2935struct rt_mutex_waiter;
2936#line 41 "include/linux/resource.h"
2937struct rlimit {
2938   unsigned long rlim_cur ;
2939   unsigned long rlim_max ;
2940};
2941#line 85 "include/linux/resource.h"
2942struct timerqueue_node {
2943   struct rb_node node ;
2944   ktime_t expires ;
2945};
2946#line 12 "include/linux/timerqueue.h"
2947struct timerqueue_head {
2948   struct rb_root head ;
2949   struct timerqueue_node *next ;
2950};
2951#line 50
2952struct hrtimer_clock_base;
2953#line 50
2954struct hrtimer_clock_base;
2955#line 51
2956struct hrtimer_cpu_base;
2957#line 51
2958struct hrtimer_cpu_base;
2959#line 60
2960enum hrtimer_restart {
2961    HRTIMER_NORESTART = 0,
2962    HRTIMER_RESTART = 1
2963} ;
2964#line 65 "include/linux/timerqueue.h"
2965struct hrtimer {
2966   struct timerqueue_node node ;
2967   ktime_t _softexpires ;
2968   enum hrtimer_restart (*function)(struct hrtimer * ) ;
2969   struct hrtimer_clock_base *base ;
2970   unsigned long state ;
2971   int start_pid ;
2972   void *start_site ;
2973   char start_comm[16U] ;
2974};
2975#line 132 "include/linux/hrtimer.h"
2976struct hrtimer_clock_base {
2977   struct hrtimer_cpu_base *cpu_base ;
2978   int index ;
2979   clockid_t clockid ;
2980   struct timerqueue_head active ;
2981   ktime_t resolution ;
2982   ktime_t (*get_time)(void) ;
2983   ktime_t softirq_time ;
2984   ktime_t offset ;
2985};
2986#line 162 "include/linux/hrtimer.h"
2987struct hrtimer_cpu_base {
2988   raw_spinlock_t lock ;
2989   unsigned long active_bases ;
2990   ktime_t expires_next ;
2991   int hres_active ;
2992   int hang_detected ;
2993   unsigned long nr_events ;
2994   unsigned long nr_retries ;
2995   unsigned long nr_hangs ;
2996   ktime_t max_hang_time ;
2997   struct hrtimer_clock_base clock_base[3U] ;
2998};
2999#line 452 "include/linux/hrtimer.h"
3000struct task_io_accounting {
3001   u64 rchar ;
3002   u64 wchar ;
3003   u64 syscr ;
3004   u64 syscw ;
3005   u64 read_bytes ;
3006   u64 write_bytes ;
3007   u64 cancelled_write_bytes ;
3008};
3009#line 45 "include/linux/task_io_accounting.h"
3010struct latency_record {
3011   unsigned long backtrace[12U] ;
3012   unsigned int count ;
3013   unsigned long time ;
3014   unsigned long max ;
3015};
3016#line 29 "include/linux/key.h"
3017typedef int32_t key_serial_t;
3018#line 32 "include/linux/key.h"
3019typedef uint32_t key_perm_t;
3020#line 33
3021struct key;
3022#line 33
3023struct key;
3024#line 34
3025struct signal_struct;
3026#line 34
3027struct signal_struct;
3028#line 35
3029struct key_type;
3030#line 35
3031struct key_type;
3032#line 37
3033struct keyring_list;
3034#line 37
3035struct keyring_list;
3036#line 115
3037struct key_user;
3038#line 115 "include/linux/key.h"
3039union __anonunion_ldv_25022_180 {
3040   time_t expiry ;
3041   time_t revoked_at ;
3042};
3043#line 115 "include/linux/key.h"
3044union __anonunion_type_data_181 {
3045   struct list_head link ;
3046   unsigned long x[2U] ;
3047   void *p[2U] ;
3048   int reject_error ;
3049};
3050#line 115 "include/linux/key.h"
3051union __anonunion_payload_182 {
3052   unsigned long value ;
3053   void *rcudata ;
3054   void *data ;
3055   struct keyring_list *subscriptions ;
3056};
3057#line 115 "include/linux/key.h"
3058struct key {
3059   atomic_t usage ;
3060   key_serial_t serial ;
3061   struct rb_node serial_node ;
3062   struct key_type *type ;
3063   struct rw_semaphore sem ;
3064   struct key_user *user ;
3065   void *security ;
3066   union __anonunion_ldv_25022_180 ldv_25022 ;
3067   uid_t uid ;
3068   gid_t gid ;
3069   key_perm_t perm ;
3070   unsigned short quotalen ;
3071   unsigned short datalen ;
3072   unsigned long flags ;
3073   char *description ;
3074   union __anonunion_type_data_181 type_data ;
3075   union __anonunion_payload_182 payload ;
3076};
3077#line 316
3078struct audit_context;
3079#line 316
3080struct audit_context;
3081#line 27 "include/linux/selinux.h"
3082struct group_info {
3083   atomic_t usage ;
3084   int ngroups ;
3085   int nblocks ;
3086   gid_t small_block[32U] ;
3087   gid_t *blocks[0U] ;
3088};
3089#line 77 "include/linux/cred.h"
3090struct thread_group_cred {
3091   atomic_t usage ;
3092   pid_t tgid ;
3093   spinlock_t lock ;
3094   struct key *session_keyring ;
3095   struct key *process_keyring ;
3096   struct rcu_head rcu ;
3097};
3098#line 91 "include/linux/cred.h"
3099struct cred {
3100   atomic_t usage ;
3101   atomic_t subscribers ;
3102   void *put_addr ;
3103   unsigned int magic ;
3104   uid_t uid ;
3105   gid_t gid ;
3106   uid_t suid ;
3107   gid_t sgid ;
3108   uid_t euid ;
3109   gid_t egid ;
3110   uid_t fsuid ;
3111   gid_t fsgid ;
3112   unsigned int securebits ;
3113   kernel_cap_t cap_inheritable ;
3114   kernel_cap_t cap_permitted ;
3115   kernel_cap_t cap_effective ;
3116   kernel_cap_t cap_bset ;
3117   unsigned char jit_keyring ;
3118   struct key *thread_keyring ;
3119   struct key *request_key_auth ;
3120   struct thread_group_cred *tgcred ;
3121   void *security ;
3122   struct user_struct *user ;
3123   struct user_namespace *user_ns ;
3124   struct group_info *group_info ;
3125   struct rcu_head rcu ;
3126};
3127#line 264
3128struct llist_node;
3129#line 64 "include/linux/llist.h"
3130struct llist_node {
3131   struct llist_node *next ;
3132};
3133#line 185
3134struct futex_pi_state;
3135#line 185
3136struct futex_pi_state;
3137#line 186
3138struct robust_list_head;
3139#line 186
3140struct robust_list_head;
3141#line 187
3142struct bio_list;
3143#line 187
3144struct bio_list;
3145#line 188
3146struct fs_struct;
3147#line 188
3148struct fs_struct;
3149#line 189
3150struct perf_event_context;
3151#line 189
3152struct perf_event_context;
3153#line 190
3154struct blk_plug;
3155#line 190
3156struct blk_plug;
3157#line 149 "include/linux/sched.h"
3158struct cfs_rq;
3159#line 149
3160struct cfs_rq;
3161#line 385
3162struct kioctx;
3163#line 385
3164struct kioctx;
3165#line 386 "include/linux/sched.h"
3166union __anonunion_ki_obj_183 {
3167   void *user ;
3168   struct task_struct *tsk ;
3169};
3170#line 386
3171struct eventfd_ctx;
3172#line 386 "include/linux/sched.h"
3173struct kiocb {
3174   struct list_head ki_run_list ;
3175   unsigned long ki_flags ;
3176   int ki_users ;
3177   unsigned int ki_key ;
3178   struct file *ki_filp ;
3179   struct kioctx *ki_ctx ;
3180   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3181   ssize_t (*ki_retry)(struct kiocb * ) ;
3182   void (*ki_dtor)(struct kiocb * ) ;
3183   union __anonunion_ki_obj_183 ki_obj ;
3184   __u64 ki_user_data ;
3185   loff_t ki_pos ;
3186   void *private ;
3187   unsigned short ki_opcode ;
3188   size_t ki_nbytes ;
3189   char *ki_buf ;
3190   size_t ki_left ;
3191   struct iovec ki_inline_vec ;
3192   struct iovec *ki_iovec ;
3193   unsigned long ki_nr_segs ;
3194   unsigned long ki_cur_seg ;
3195   struct list_head ki_list ;
3196   struct list_head ki_batch ;
3197   struct eventfd_ctx *ki_eventfd ;
3198};
3199#line 162 "include/linux/aio.h"
3200struct aio_ring_info {
3201   unsigned long mmap_base ;
3202   unsigned long mmap_size ;
3203   struct page **ring_pages ;
3204   spinlock_t ring_lock ;
3205   long nr_pages ;
3206   unsigned int nr ;
3207   unsigned int tail ;
3208   struct page *internal_pages[8U] ;
3209};
3210#line 178 "include/linux/aio.h"
3211struct kioctx {
3212   atomic_t users ;
3213   int dead ;
3214   struct mm_struct *mm ;
3215   unsigned long user_id ;
3216   struct hlist_node list ;
3217   wait_queue_head_t wait ;
3218   spinlock_t ctx_lock ;
3219   int reqs_active ;
3220   struct list_head active_reqs ;
3221   struct list_head run_list ;
3222   unsigned int max_reqs ;
3223   struct aio_ring_info ring_info ;
3224   struct delayed_work wq ;
3225   struct rcu_head rcu_head ;
3226};
3227#line 406 "include/linux/sched.h"
3228struct sighand_struct {
3229   atomic_t count ;
3230   struct k_sigaction action[64U] ;
3231   spinlock_t siglock ;
3232   wait_queue_head_t signalfd_wqh ;
3233};
3234#line 449 "include/linux/sched.h"
3235struct pacct_struct {
3236   int ac_flag ;
3237   long ac_exitcode ;
3238   unsigned long ac_mem ;
3239   cputime_t ac_utime ;
3240   cputime_t ac_stime ;
3241   unsigned long ac_minflt ;
3242   unsigned long ac_majflt ;
3243};
3244#line 457 "include/linux/sched.h"
3245struct cpu_itimer {
3246   cputime_t expires ;
3247   cputime_t incr ;
3248   u32 error ;
3249   u32 incr_error ;
3250};
3251#line 464 "include/linux/sched.h"
3252struct task_cputime {
3253   cputime_t utime ;
3254   cputime_t stime ;
3255   unsigned long long sum_exec_runtime ;
3256};
3257#line 481 "include/linux/sched.h"
3258struct thread_group_cputimer {
3259   struct task_cputime cputime ;
3260   int running ;
3261   raw_spinlock_t lock ;
3262};
3263#line 517
3264struct autogroup;
3265#line 517
3266struct autogroup;
3267#line 518
3268struct tty_struct;
3269#line 518
3270struct taskstats;
3271#line 518
3272struct tty_audit_buf;
3273#line 518 "include/linux/sched.h"
3274struct signal_struct {
3275   atomic_t sigcnt ;
3276   atomic_t live ;
3277   int nr_threads ;
3278   wait_queue_head_t wait_chldexit ;
3279   struct task_struct *curr_target ;
3280   struct sigpending shared_pending ;
3281   int group_exit_code ;
3282   int notify_count ;
3283   struct task_struct *group_exit_task ;
3284   int group_stop_count ;
3285   unsigned int flags ;
3286   unsigned char is_child_subreaper : 1 ;
3287   unsigned char has_child_subreaper : 1 ;
3288   struct list_head posix_timers ;
3289   struct hrtimer real_timer ;
3290   struct pid *leader_pid ;
3291   ktime_t it_real_incr ;
3292   struct cpu_itimer it[2U] ;
3293   struct thread_group_cputimer cputimer ;
3294   struct task_cputime cputime_expires ;
3295   struct list_head cpu_timers[3U] ;
3296   struct pid *tty_old_pgrp ;
3297   int leader ;
3298   struct tty_struct *tty ;
3299   struct autogroup *autogroup ;
3300   cputime_t utime ;
3301   cputime_t stime ;
3302   cputime_t cutime ;
3303   cputime_t cstime ;
3304   cputime_t gtime ;
3305   cputime_t cgtime ;
3306   cputime_t prev_utime ;
3307   cputime_t prev_stime ;
3308   unsigned long nvcsw ;
3309   unsigned long nivcsw ;
3310   unsigned long cnvcsw ;
3311   unsigned long cnivcsw ;
3312   unsigned long min_flt ;
3313   unsigned long maj_flt ;
3314   unsigned long cmin_flt ;
3315   unsigned long cmaj_flt ;
3316   unsigned long inblock ;
3317   unsigned long oublock ;
3318   unsigned long cinblock ;
3319   unsigned long coublock ;
3320   unsigned long maxrss ;
3321   unsigned long cmaxrss ;
3322   struct task_io_accounting ioac ;
3323   unsigned long long sum_sched_runtime ;
3324   struct rlimit rlim[16U] ;
3325   struct pacct_struct pacct ;
3326   struct taskstats *stats ;
3327   unsigned int audit_tty ;
3328   struct tty_audit_buf *tty_audit_buf ;
3329   struct rw_semaphore group_rwsem ;
3330   int oom_adj ;
3331   int oom_score_adj ;
3332   int oom_score_adj_min ;
3333   struct mutex cred_guard_mutex ;
3334};
3335#line 699 "include/linux/sched.h"
3336struct user_struct {
3337   atomic_t __count ;
3338   atomic_t processes ;
3339   atomic_t files ;
3340   atomic_t sigpending ;
3341   atomic_t inotify_watches ;
3342   atomic_t inotify_devs ;
3343   atomic_t fanotify_listeners ;
3344   atomic_long_t epoll_watches ;
3345   unsigned long mq_bytes ;
3346   unsigned long locked_shm ;
3347   struct key *uid_keyring ;
3348   struct key *session_keyring ;
3349   struct hlist_node uidhash_node ;
3350   uid_t uid ;
3351   struct user_namespace *user_ns ;
3352   atomic_long_t locked_vm ;
3353};
3354#line 744
3355struct reclaim_state;
3356#line 744
3357struct reclaim_state;
3358#line 745 "include/linux/sched.h"
3359struct sched_info {
3360   unsigned long pcount ;
3361   unsigned long long run_delay ;
3362   unsigned long long last_arrival ;
3363   unsigned long long last_queued ;
3364};
3365#line 760 "include/linux/sched.h"
3366struct task_delay_info {
3367   spinlock_t lock ;
3368   unsigned int flags ;
3369   struct timespec blkio_start ;
3370   struct timespec blkio_end ;
3371   u64 blkio_delay ;
3372   u64 swapin_delay ;
3373   u32 blkio_count ;
3374   u32 swapin_count ;
3375   struct timespec freepages_start ;
3376   struct timespec freepages_end ;
3377   u64 freepages_delay ;
3378   u32 freepages_count ;
3379};
3380#line 1069
3381struct io_context;
3382#line 1069
3383struct io_context;
3384#line 1098
3385struct rq;
3386#line 1098
3387struct rq;
3388#line 1099 "include/linux/sched.h"
3389struct sched_class {
3390   struct sched_class  const  *next ;
3391   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
3392   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
3393   void (*yield_task)(struct rq * ) ;
3394   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
3395   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
3396   struct task_struct *(*pick_next_task)(struct rq * ) ;
3397   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
3398   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
3399   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
3400   void (*post_schedule)(struct rq * ) ;
3401   void (*task_waking)(struct task_struct * ) ;
3402   void (*task_woken)(struct rq * , struct task_struct * ) ;
3403   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
3404   void (*rq_online)(struct rq * ) ;
3405   void (*rq_offline)(struct rq * ) ;
3406   void (*set_curr_task)(struct rq * ) ;
3407   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
3408   void (*task_fork)(struct task_struct * ) ;
3409   void (*switched_from)(struct rq * , struct task_struct * ) ;
3410   void (*switched_to)(struct rq * , struct task_struct * ) ;
3411   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
3412   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
3413   void (*task_move_group)(struct task_struct * , int  ) ;
3414};
3415#line 1165 "include/linux/sched.h"
3416struct load_weight {
3417   unsigned long weight ;
3418   unsigned long inv_weight ;
3419};
3420#line 1170 "include/linux/sched.h"
3421struct sched_statistics {
3422   u64 wait_start ;
3423   u64 wait_max ;
3424   u64 wait_count ;
3425   u64 wait_sum ;
3426   u64 iowait_count ;
3427   u64 iowait_sum ;
3428   u64 sleep_start ;
3429   u64 sleep_max ;
3430   s64 sum_sleep_runtime ;
3431   u64 block_start ;
3432   u64 block_max ;
3433   u64 exec_max ;
3434   u64 slice_max ;
3435   u64 nr_migrations_cold ;
3436   u64 nr_failed_migrations_affine ;
3437   u64 nr_failed_migrations_running ;
3438   u64 nr_failed_migrations_hot ;
3439   u64 nr_forced_migrations ;
3440   u64 nr_wakeups ;
3441   u64 nr_wakeups_sync ;
3442   u64 nr_wakeups_migrate ;
3443   u64 nr_wakeups_local ;
3444   u64 nr_wakeups_remote ;
3445   u64 nr_wakeups_affine ;
3446   u64 nr_wakeups_affine_attempts ;
3447   u64 nr_wakeups_passive ;
3448   u64 nr_wakeups_idle ;
3449};
3450#line 1205 "include/linux/sched.h"
3451struct sched_entity {
3452   struct load_weight load ;
3453   struct rb_node run_node ;
3454   struct list_head group_node ;
3455   unsigned int on_rq ;
3456   u64 exec_start ;
3457   u64 sum_exec_runtime ;
3458   u64 vruntime ;
3459   u64 prev_sum_exec_runtime ;
3460   u64 nr_migrations ;
3461   struct sched_statistics statistics ;
3462   struct sched_entity *parent ;
3463   struct cfs_rq *cfs_rq ;
3464   struct cfs_rq *my_q ;
3465};
3466#line 1231
3467struct rt_rq;
3468#line 1231 "include/linux/sched.h"
3469struct sched_rt_entity {
3470   struct list_head run_list ;
3471   unsigned long timeout ;
3472   unsigned int time_slice ;
3473   int nr_cpus_allowed ;
3474   struct sched_rt_entity *back ;
3475   struct sched_rt_entity *parent ;
3476   struct rt_rq *rt_rq ;
3477   struct rt_rq *my_q ;
3478};
3479#line 1255
3480struct mem_cgroup;
3481#line 1255 "include/linux/sched.h"
3482struct memcg_batch_info {
3483   int do_batch ;
3484   struct mem_cgroup *memcg ;
3485   unsigned long nr_pages ;
3486   unsigned long memsw_nr_pages ;
3487};
3488#line 1616
3489struct css_set;
3490#line 1616
3491struct compat_robust_list_head;
3492#line 1616 "include/linux/sched.h"
3493struct task_struct {
3494   long volatile   state ;
3495   void *stack ;
3496   atomic_t usage ;
3497   unsigned int flags ;
3498   unsigned int ptrace ;
3499   struct llist_node wake_entry ;
3500   int on_cpu ;
3501   int on_rq ;
3502   int prio ;
3503   int static_prio ;
3504   int normal_prio ;
3505   unsigned int rt_priority ;
3506   struct sched_class  const  *sched_class ;
3507   struct sched_entity se ;
3508   struct sched_rt_entity rt ;
3509   struct hlist_head preempt_notifiers ;
3510   unsigned char fpu_counter ;
3511   unsigned int policy ;
3512   cpumask_t cpus_allowed ;
3513   struct sched_info sched_info ;
3514   struct list_head tasks ;
3515   struct plist_node pushable_tasks ;
3516   struct mm_struct *mm ;
3517   struct mm_struct *active_mm ;
3518   unsigned char brk_randomized : 1 ;
3519   int exit_state ;
3520   int exit_code ;
3521   int exit_signal ;
3522   int pdeath_signal ;
3523   unsigned int jobctl ;
3524   unsigned int personality ;
3525   unsigned char did_exec : 1 ;
3526   unsigned char in_execve : 1 ;
3527   unsigned char in_iowait : 1 ;
3528   unsigned char sched_reset_on_fork : 1 ;
3529   unsigned char sched_contributes_to_load : 1 ;
3530   unsigned char irq_thread : 1 ;
3531   pid_t pid ;
3532   pid_t tgid ;
3533   unsigned long stack_canary ;
3534   struct task_struct *real_parent ;
3535   struct task_struct *parent ;
3536   struct list_head children ;
3537   struct list_head sibling ;
3538   struct task_struct *group_leader ;
3539   struct list_head ptraced ;
3540   struct list_head ptrace_entry ;
3541   struct pid_link pids[3U] ;
3542   struct list_head thread_group ;
3543   struct completion *vfork_done ;
3544   int *set_child_tid ;
3545   int *clear_child_tid ;
3546   cputime_t utime ;
3547   cputime_t stime ;
3548   cputime_t utimescaled ;
3549   cputime_t stimescaled ;
3550   cputime_t gtime ;
3551   cputime_t prev_utime ;
3552   cputime_t prev_stime ;
3553   unsigned long nvcsw ;
3554   unsigned long nivcsw ;
3555   struct timespec start_time ;
3556   struct timespec real_start_time ;
3557   unsigned long min_flt ;
3558   unsigned long maj_flt ;
3559   struct task_cputime cputime_expires ;
3560   struct list_head cpu_timers[3U] ;
3561   struct cred  const  *real_cred ;
3562   struct cred  const  *cred ;
3563   struct cred *replacement_session_keyring ;
3564   char comm[16U] ;
3565   int link_count ;
3566   int total_link_count ;
3567   struct sysv_sem sysvsem ;
3568   unsigned long last_switch_count ;
3569   struct thread_struct thread ;
3570   struct fs_struct *fs ;
3571   struct files_struct *files ;
3572   struct nsproxy *nsproxy ;
3573   struct signal_struct *signal ;
3574   struct sighand_struct *sighand ;
3575   sigset_t blocked ;
3576   sigset_t real_blocked ;
3577   sigset_t saved_sigmask ;
3578   struct sigpending pending ;
3579   unsigned long sas_ss_sp ;
3580   size_t sas_ss_size ;
3581   int (*notifier)(void * ) ;
3582   void *notifier_data ;
3583   sigset_t *notifier_mask ;
3584   struct audit_context *audit_context ;
3585   uid_t loginuid ;
3586   unsigned int sessionid ;
3587   seccomp_t seccomp ;
3588   u32 parent_exec_id ;
3589   u32 self_exec_id ;
3590   spinlock_t alloc_lock ;
3591   raw_spinlock_t pi_lock ;
3592   struct plist_head pi_waiters ;
3593   struct rt_mutex_waiter *pi_blocked_on ;
3594   struct mutex_waiter *blocked_on ;
3595   unsigned int irq_events ;
3596   unsigned long hardirq_enable_ip ;
3597   unsigned long hardirq_disable_ip ;
3598   unsigned int hardirq_enable_event ;
3599   unsigned int hardirq_disable_event ;
3600   int hardirqs_enabled ;
3601   int hardirq_context ;
3602   unsigned long softirq_disable_ip ;
3603   unsigned long softirq_enable_ip ;
3604   unsigned int softirq_disable_event ;
3605   unsigned int softirq_enable_event ;
3606   int softirqs_enabled ;
3607   int softirq_context ;
3608   u64 curr_chain_key ;
3609   int lockdep_depth ;
3610   unsigned int lockdep_recursion ;
3611   struct held_lock held_locks[48U] ;
3612   gfp_t lockdep_reclaim_gfp ;
3613   void *journal_info ;
3614   struct bio_list *bio_list ;
3615   struct blk_plug *plug ;
3616   struct reclaim_state *reclaim_state ;
3617   struct backing_dev_info *backing_dev_info ;
3618   struct io_context *io_context ;
3619   unsigned long ptrace_message ;
3620   siginfo_t *last_siginfo ;
3621   struct task_io_accounting ioac ;
3622   u64 acct_rss_mem1 ;
3623   u64 acct_vm_mem1 ;
3624   cputime_t acct_timexpd ;
3625   nodemask_t mems_allowed ;
3626   seqcount_t mems_allowed_seq ;
3627   int cpuset_mem_spread_rotor ;
3628   int cpuset_slab_spread_rotor ;
3629   struct css_set *cgroups ;
3630   struct list_head cg_list ;
3631   struct robust_list_head *robust_list ;
3632   struct compat_robust_list_head *compat_robust_list ;
3633   struct list_head pi_state_list ;
3634   struct futex_pi_state *pi_state_cache ;
3635   struct perf_event_context *perf_event_ctxp[2U] ;
3636   struct mutex perf_event_mutex ;
3637   struct list_head perf_event_list ;
3638   struct mempolicy *mempolicy ;
3639   short il_next ;
3640   short pref_node_fork ;
3641   struct rcu_head rcu ;
3642   struct pipe_inode_info *splice_pipe ;
3643   struct task_delay_info *delays ;
3644   int make_it_fail ;
3645   int nr_dirtied ;
3646   int nr_dirtied_pause ;
3647   unsigned long dirty_paused_when ;
3648   int latency_record_count ;
3649   struct latency_record latency_record[32U] ;
3650   unsigned long timer_slack_ns ;
3651   unsigned long default_timer_slack_ns ;
3652   struct list_head *scm_work_list ;
3653   unsigned long trace ;
3654   unsigned long trace_recursion ;
3655   struct memcg_batch_info memcg_batch ;
3656   atomic_t ptrace_bp_refcnt ;
3657};
3658#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
3659typedef s32 compat_long_t;
3660#line 212 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
3661typedef u32 compat_uptr_t;
3662#line 225 "include/linux/compat.h"
3663struct compat_robust_list {
3664   compat_uptr_t next ;
3665};
3666#line 229 "include/linux/compat.h"
3667struct compat_robust_list_head {
3668   struct compat_robust_list list ;
3669   compat_long_t futex_offset ;
3670   compat_uptr_t list_op_pending ;
3671};
3672#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mtrr.h"
3673enum chipset_type {
3674    NOT_SUPPORTED = 0,
3675    SUPPORTED = 1
3676} ;
3677#line 200 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mtrr.h"
3678struct agp_version {
3679   u16 major ;
3680   u16 minor ;
3681};
3682#line 44 "include/linux/agp_backend.h"
3683struct agp_kern_info {
3684   struct agp_version version ;
3685   struct pci_dev *device ;
3686   enum chipset_type chipset ;
3687   unsigned long mode ;
3688   unsigned long aper_base ;
3689   size_t aper_size ;
3690   int max_memory ;
3691   int current_memory ;
3692   bool cant_use_aperture ;
3693   unsigned long page_mask ;
3694   struct vm_operations_struct  const  *vm_ops ;
3695};
3696#line 58
3697struct agp_bridge_data;
3698#line 58
3699struct agp_bridge_data;
3700#line 34 "include/linux/poll.h"
3701struct poll_table_struct {
3702   void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
3703   unsigned long _key ;
3704};
3705#line 74 "include/drm/drm.h"
3706typedef unsigned int drm_magic_t;
3707#line 75 "include/drm/drm.h"
3708struct drm_clip_rect {
3709   unsigned short x1 ;
3710   unsigned short y1 ;
3711   unsigned short x2 ;
3712   unsigned short y2 ;
3713};
3714#line 110 "include/drm/drm.h"
3715struct drm_hw_lock {
3716   unsigned int volatile   lock ;
3717   char padding[60U] ;
3718};
3719#line 139 "include/drm/drm.h"
3720struct drm_unique {
3721   size_t unique_len ;
3722   char *unique ;
3723};
3724#line 173
3725enum drm_map_type {
3726    _DRM_FRAME_BUFFER = 0,
3727    _DRM_REGISTERS = 1,
3728    _DRM_SHM = 2,
3729    _DRM_AGP = 3,
3730    _DRM_SCATTER_GATHER = 4,
3731    _DRM_CONSISTENT = 5,
3732    _DRM_GEM = 6
3733} ;
3734#line 183
3735enum drm_map_flags {
3736    _DRM_RESTRICTED = 1,
3737    _DRM_READ_ONLY = 2,
3738    _DRM_LOCKED = 4,
3739    _DRM_KERNEL = 8,
3740    _DRM_WRITE_COMBINING = 16,
3741    _DRM_CONTAINS_LOCK = 32,
3742    _DRM_REMOVABLE = 64,
3743    _DRM_DRIVER = 128
3744} ;
3745#line 234
3746enum drm_stat_type {
3747    _DRM_STAT_LOCK = 0,
3748    _DRM_STAT_OPENS = 1,
3749    _DRM_STAT_CLOSES = 2,
3750    _DRM_STAT_IOCTLS = 3,
3751    _DRM_STAT_LOCKS = 4,
3752    _DRM_STAT_UNLOCKS = 5,
3753    _DRM_STAT_VALUE = 6,
3754    _DRM_STAT_BYTE = 7,
3755    _DRM_STAT_COUNT = 8,
3756    _DRM_STAT_IRQ = 9,
3757    _DRM_STAT_PRIMARY = 10,
3758    _DRM_STAT_SECONDARY = 11,
3759    _DRM_STAT_DMA = 12,
3760    _DRM_STAT_SPECIAL = 13,
3761    _DRM_STAT_MISSED = 14
3762} ;
3763#line 399
3764enum drm_ctx_flags {
3765    _DRM_CONTEXT_PRESERVED = 1,
3766    _DRM_CONTEXT_2DONLY = 2
3767} ;
3768#line 450 "include/drm/drm.h"
3769struct drm_irq_busid {
3770   int irq ;
3771   int busnum ;
3772   int devnum ;
3773   int funcnum ;
3774};
3775#line 575 "include/drm/drm.h"
3776struct drm_set_version {
3777   int drm_di_major ;
3778   int drm_di_minor ;
3779   int drm_dd_major ;
3780   int drm_dd_minor ;
3781};
3782#line 272 "include/drm/drm_mode.h"
3783struct drm_mode_fb_cmd2 {
3784   __u32 fb_id ;
3785   __u32 width ;
3786   __u32 height ;
3787   __u32 pixel_format ;
3788   __u32 flags ;
3789   __u32 handles[4U] ;
3790   __u32 pitches[4U] ;
3791   __u32 offsets[4U] ;
3792};
3793#line 416 "include/drm/drm_mode.h"
3794struct drm_mode_create_dumb {
3795   uint32_t height ;
3796   uint32_t width ;
3797   uint32_t bpp ;
3798   uint32_t flags ;
3799   uint32_t handle ;
3800   uint32_t pitch ;
3801   uint64_t size ;
3802};
3803#line 445 "include/drm/drm_mode.h"
3804struct drm_event {
3805   __u32 type ;
3806   __u32 length ;
3807};
3808#line 761 "include/drm/drm.h"
3809struct drm_event_vblank {
3810   struct drm_event base ;
3811   __u64 user_data ;
3812   __u32 tv_sec ;
3813   __u32 tv_usec ;
3814   __u32 sequence ;
3815   __u32 reserved ;
3816};
3817#line 773 "include/drm/drm.h"
3818struct idr_layer {
3819   unsigned long bitmap ;
3820   struct idr_layer *ary[64U] ;
3821   int count ;
3822   int layer ;
3823   struct rcu_head rcu_head ;
3824};
3825#line 58 "include/linux/idr.h"
3826struct idr {
3827   struct idr_layer *top ;
3828   struct idr_layer *id_free ;
3829   int layers ;
3830   int id_free_cnt ;
3831   spinlock_t lock ;
3832};
3833#line 154
3834struct drm_file;
3835#line 154
3836struct drm_file;
3837#line 155
3838struct drm_device;
3839#line 155
3840struct drm_device;
3841#line 54 "include/linux/delay.h"
3842struct drm_hash_item {
3843   struct hlist_node head ;
3844   unsigned long key ;
3845};
3846#line 46 "include/drm/drm_hashtab.h"
3847struct drm_open_hash {
3848   struct hlist_head *table ;
3849   u8 order ;
3850};
3851#line 63 "include/drm/drm_hashtab.h"
3852struct seq_file {
3853   char *buf ;
3854   size_t size ;
3855   size_t from ;
3856   size_t count ;
3857   loff_t index ;
3858   loff_t read_pos ;
3859   u64 version ;
3860   struct mutex lock ;
3861   struct seq_operations  const  *op ;
3862   int poll_event ;
3863   void *private ;
3864};
3865#line 30 "include/linux/seq_file.h"
3866struct seq_operations {
3867   void *(*start)(struct seq_file * , loff_t * ) ;
3868   void (*stop)(struct seq_file * , void * ) ;
3869   void *(*next)(struct seq_file * , void * , loff_t * ) ;
3870   int (*show)(struct seq_file * , void * ) ;
3871};
3872#line 158
3873struct drm_mm;
3874#line 158 "include/linux/seq_file.h"
3875struct drm_mm_node {
3876   struct list_head node_list ;
3877   struct list_head hole_stack ;
3878   unsigned char hole_follows : 1 ;
3879   unsigned char scanned_block : 1 ;
3880   unsigned char scanned_prev_free : 1 ;
3881   unsigned char scanned_next_free : 1 ;
3882   unsigned char scanned_preceeds_hole : 1 ;
3883   unsigned char allocated : 1 ;
3884   unsigned long start ;
3885   unsigned long size ;
3886   struct drm_mm *mm ;
3887};
3888#line 57 "include/drm/drm_mm.h"
3889struct drm_mm {
3890   struct list_head hole_stack ;
3891   struct drm_mm_node head_node ;
3892   struct list_head unused_nodes ;
3893   int num_unused ;
3894   spinlock_t unused_lock ;
3895   unsigned char scan_check_range : 1 ;
3896   unsigned int scan_alignment ;
3897   unsigned long scan_size ;
3898   unsigned long scan_hit_start ;
3899   unsigned int scan_hit_size ;
3900   unsigned int scanned_blocks ;
3901   unsigned long scan_start ;
3902   unsigned long scan_end ;
3903   struct drm_mm_node *prev_scanned_node ;
3904};
3905#line 295 "include/drm/drmP.h"
3906typedef int drm_ioctl_t(struct drm_device * , void * , struct drm_file * );
3907#line 299 "include/drm/drmP.h"
3908struct drm_ioctl_desc {
3909   unsigned int cmd ;
3910   int flags ;
3911   drm_ioctl_t *func ;
3912   unsigned int cmd_drv ;
3913};
3914#line 336
3915enum ldv_23311 {
3916    DRM_LIST_NONE = 0,
3917    DRM_LIST_FREE = 1,
3918    DRM_LIST_WAIT = 2,
3919    DRM_LIST_PEND = 3,
3920    DRM_LIST_PRIO = 4,
3921    DRM_LIST_RECLAIM = 5
3922} ;
3923#line 345 "include/drm/drmP.h"
3924struct drm_buf {
3925   int idx ;
3926   int total ;
3927   int order ;
3928   int used ;
3929   unsigned long offset ;
3930   void *address ;
3931   unsigned long bus_address ;
3932   struct drm_buf *next ;
3933   int volatile   waiting ;
3934   int volatile   pending ;
3935   wait_queue_head_t dma_wait ;
3936   struct drm_file *file_priv ;
3937   int context ;
3938   int while_locked ;
3939   enum ldv_23311 list ;
3940   int dev_priv_size ;
3941   void *dev_private ;
3942};
3943#line 367 "include/drm/drmP.h"
3944struct drm_waitlist {
3945   int count ;
3946   struct drm_buf **bufs ;
3947   struct drm_buf **rp ;
3948   struct drm_buf **wp ;
3949   struct drm_buf **end ;
3950   spinlock_t read_lock ;
3951   spinlock_t write_lock ;
3952};
3953#line 378 "include/drm/drmP.h"
3954struct drm_freelist {
3955   int initialized ;
3956   atomic_t count ;
3957   struct drm_buf *next ;
3958   wait_queue_head_t waiting ;
3959   int low_mark ;
3960   int high_mark ;
3961   atomic_t wfh ;
3962   spinlock_t lock ;
3963};
3964#line 390 "include/drm/drmP.h"
3965struct drm_dma_handle {
3966   dma_addr_t busaddr ;
3967   void *vaddr ;
3968   size_t size ;
3969};
3970#line 396 "include/drm/drmP.h"
3971struct drm_buf_entry {
3972   int buf_size ;
3973   int buf_count ;
3974   struct drm_buf *buflist ;
3975   int seg_count ;
3976   int page_order ;
3977   struct drm_dma_handle **seglist ;
3978   struct drm_freelist freelist ;
3979};
3980#line 410 "include/drm/drmP.h"
3981struct drm_pending_event {
3982   struct drm_event *event ;
3983   struct list_head link ;
3984   struct drm_file *file_priv ;
3985   pid_t pid ;
3986   void (*destroy)(struct drm_pending_event * ) ;
3987};
3988#line 420 "include/drm/drmP.h"
3989struct drm_prime_file_private {
3990   struct list_head head ;
3991   struct mutex lock ;
3992};
3993#line 426
3994struct drm_minor;
3995#line 426
3996struct drm_master;
3997#line 426 "include/drm/drmP.h"
3998struct drm_file {
3999   int authenticated ;
4000   pid_t pid ;
4001   uid_t uid ;
4002   drm_magic_t magic ;
4003   unsigned long ioctl_count ;
4004   struct list_head lhead ;
4005   struct drm_minor *minor ;
4006   unsigned long lock_count ;
4007   struct idr object_idr ;
4008   spinlock_t table_lock ;
4009   struct file *filp ;
4010   void *driver_priv ;
4011   int is_master ;
4012   struct drm_master *master ;
4013   struct list_head fbs ;
4014   wait_queue_head_t event_wait ;
4015   struct list_head event_list ;
4016   int event_space ;
4017   struct drm_prime_file_private prime ;
4018};
4019#line 457 "include/drm/drmP.h"
4020struct drm_queue {
4021   atomic_t use_count ;
4022   atomic_t finalization ;
4023   atomic_t block_count ;
4024   atomic_t block_read ;
4025   wait_queue_head_t read_queue ;
4026   atomic_t block_write ;
4027   wait_queue_head_t write_queue ;
4028   atomic_t total_queued ;
4029   atomic_t total_flushed ;
4030   atomic_t total_locks ;
4031   enum drm_ctx_flags flags ;
4032   struct drm_waitlist waitlist ;
4033   wait_queue_head_t flush_queue ;
4034};
4035#line 474 "include/drm/drmP.h"
4036struct drm_lock_data {
4037   struct drm_hw_lock *hw_lock ;
4038   struct drm_file *file_priv ;
4039   wait_queue_head_t lock_queue ;
4040   unsigned long lock_time ;
4041   spinlock_t spinlock ;
4042   uint32_t kernel_waiters ;
4043   uint32_t user_waiters ;
4044   int idle_has_lock ;
4045};
4046#line 489
4047enum ldv_23337 {
4048    _DRM_DMA_USE_AGP = 1,
4049    _DRM_DMA_USE_SG = 2,
4050    _DRM_DMA_USE_FB = 4,
4051    _DRM_DMA_USE_PCI_RO = 8
4052} ;
4053#line 496 "include/drm/drmP.h"
4054struct drm_device_dma {
4055   struct drm_buf_entry bufs[23U] ;
4056   int buf_count ;
4057   struct drm_buf **buflist ;
4058   int seg_count ;
4059   int page_count ;
4060   unsigned long *pagelist ;
4061   unsigned long byte_count ;
4062   enum ldv_23337 flags ;
4063};
4064#line 521 "include/drm/drmP.h"
4065struct drm_agp_head {
4066   struct agp_kern_info agp_info ;
4067   struct list_head memory ;
4068   unsigned long mode ;
4069   struct agp_bridge_data *bridge ;
4070   int enabled ;
4071   int acquired ;
4072   unsigned long base ;
4073   int agp_mtrr ;
4074   int cant_use_aperture ;
4075   unsigned long page_mask ;
4076};
4077#line 539 "include/drm/drmP.h"
4078struct drm_sg_mem {
4079   unsigned long handle ;
4080   void *virtual ;
4081   int pages ;
4082   struct page **pagelist ;
4083   dma_addr_t *busaddr ;
4084};
4085#line 550 "include/drm/drmP.h"
4086struct drm_sigdata {
4087   int context ;
4088   struct drm_hw_lock *lock ;
4089};
4090#line 555 "include/drm/drmP.h"
4091struct drm_local_map {
4092   resource_size_t offset ;
4093   unsigned long size ;
4094   enum drm_map_type type ;
4095   enum drm_map_flags flags ;
4096   void *handle ;
4097   int mtrr ;
4098};
4099#line 571 "include/drm/drmP.h"
4100struct drm_map_list {
4101   struct list_head head ;
4102   struct drm_hash_item hash ;
4103   struct drm_local_map *map ;
4104   uint64_t user_token ;
4105   struct drm_master *master ;
4106   struct drm_mm_node *file_offset_node ;
4107};
4108#line 619
4109struct dma_buf;
4110#line 619
4111struct dma_buf_attachment;
4112#line 619 "include/drm/drmP.h"
4113struct drm_gem_object {
4114   struct kref refcount ;
4115   atomic_t handle_count ;
4116   struct drm_device *dev ;
4117   struct file *filp ;
4118   struct drm_map_list map_list ;
4119   size_t size ;
4120   int name ;
4121   uint32_t read_domains ;
4122   uint32_t write_domain ;
4123   uint32_t pending_read_domains ;
4124   uint32_t pending_write_domain ;
4125   void *driver_private ;
4126   struct dma_buf *export_dma_buf ;
4127   struct dma_buf_attachment *import_attach ;
4128};
4129#line 28 "include/linux/of.h"
4130typedef u32 phandle;
4131#line 30 "include/linux/of.h"
4132struct property {
4133   char *name ;
4134   int length ;
4135   void *value ;
4136   struct property *next ;
4137   unsigned long _flags ;
4138   unsigned int unique_id ;
4139};
4140#line 39 "include/linux/of.h"
4141struct device_node {
4142   char const   *name ;
4143   char const   *type ;
4144   phandle phandle ;
4145   char *full_name ;
4146   struct property *properties ;
4147   struct property *deadprops ;
4148   struct device_node *parent ;
4149   struct device_node *child ;
4150   struct device_node *sibling ;
4151   struct device_node *next ;
4152   struct device_node *allnext ;
4153   struct proc_dir_entry *pde ;
4154   struct kref kref ;
4155   unsigned long _flags ;
4156   void *data ;
4157};
4158#line 41 "include/linux/i2c.h"
4159struct i2c_msg;
4160#line 41
4161struct i2c_msg;
4162#line 42
4163struct i2c_algorithm;
4164#line 42
4165struct i2c_algorithm;
4166#line 43
4167struct i2c_adapter;
4168#line 43
4169struct i2c_adapter;
4170#line 44
4171struct i2c_client;
4172#line 44
4173struct i2c_client;
4174#line 45
4175struct i2c_driver;
4176#line 45
4177struct i2c_driver;
4178#line 46
4179union i2c_smbus_data;
4180#line 46
4181union i2c_smbus_data;
4182#line 47
4183struct i2c_board_info;
4184#line 47
4185struct i2c_board_info;
4186#line 119 "include/linux/i2c.h"
4187struct i2c_driver {
4188   unsigned int class ;
4189   int (*attach_adapter)(struct i2c_adapter * ) ;
4190   int (*detach_adapter)(struct i2c_adapter * ) ;
4191   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
4192   int (*remove)(struct i2c_client * ) ;
4193   void (*shutdown)(struct i2c_client * ) ;
4194   int (*suspend)(struct i2c_client * , pm_message_t  ) ;
4195   int (*resume)(struct i2c_client * ) ;
4196   void (*alert)(struct i2c_client * , unsigned int  ) ;
4197   int (*command)(struct i2c_client * , unsigned int  , void * ) ;
4198   struct device_driver driver ;
4199   struct i2c_device_id  const  *id_table ;
4200   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
4201   unsigned short const   *address_list ;
4202   struct list_head clients ;
4203};
4204#line 200 "include/linux/i2c.h"
4205struct i2c_client {
4206   unsigned short flags ;
4207   unsigned short addr ;
4208   char name[20U] ;
4209   struct i2c_adapter *adapter ;
4210   struct i2c_driver *driver ;
4211   struct device dev ;
4212   int irq ;
4213   struct list_head detected ;
4214};
4215#line 251 "include/linux/i2c.h"
4216struct i2c_board_info {
4217   char type[20U] ;
4218   unsigned short flags ;
4219   unsigned short addr ;
4220   void *platform_data ;
4221   struct dev_archdata *archdata ;
4222   struct device_node *of_node ;
4223   int irq ;
4224};
4225#line 336 "include/linux/i2c.h"
4226struct i2c_algorithm {
4227   int (*master_xfer)(struct i2c_adapter * , struct i2c_msg * , int  ) ;
4228   int (*smbus_xfer)(struct i2c_adapter * , u16  , unsigned short  , char  , u8  ,
4229                     int  , union i2c_smbus_data * ) ;
4230   u32 (*functionality)(struct i2c_adapter * ) ;
4231};
4232#line 368 "include/linux/i2c.h"
4233struct i2c_adapter {
4234   struct module *owner ;
4235   unsigned int class ;
4236   struct i2c_algorithm  const  *algo ;
4237   void *algo_data ;
4238   struct rt_mutex bus_lock ;
4239   int timeout ;
4240   int retries ;
4241   struct device dev ;
4242   int nr ;
4243   char name[48U] ;
4244   struct completion dev_released ;
4245   struct mutex userspace_clients_lock ;
4246   struct list_head userspace_clients ;
4247};
4248#line 486 "include/linux/i2c.h"
4249struct i2c_msg {
4250   __u16 addr ;
4251   __u16 flags ;
4252   __u16 len ;
4253   __u8 *buf ;
4254};
4255#line 551 "include/linux/i2c.h"
4256union i2c_smbus_data {
4257   __u8 byte ;
4258   __u16 word ;
4259   __u8 block[34U] ;
4260};
4261#line 188 "include/linux/serial.h"
4262struct serial_icounter_struct {
4263   int cts ;
4264   int dsr ;
4265   int rng ;
4266   int dcd ;
4267   int rx ;
4268   int tx ;
4269   int frame ;
4270   int overrun ;
4271   int parity ;
4272   int brk ;
4273   int buf_overrun ;
4274   int reserved[9U] ;
4275};
4276#line 6 "include/asm-generic/termbits.h"
4277typedef unsigned char cc_t;
4278#line 7 "include/asm-generic/termbits.h"
4279typedef unsigned int speed_t;
4280#line 8 "include/asm-generic/termbits.h"
4281typedef unsigned int tcflag_t;
4282#line 30 "include/asm-generic/termbits.h"
4283struct ktermios {
4284   tcflag_t c_iflag ;
4285   tcflag_t c_oflag ;
4286   tcflag_t c_cflag ;
4287   tcflag_t c_lflag ;
4288   cc_t c_line ;
4289   cc_t c_cc[19U] ;
4290   speed_t c_ispeed ;
4291   speed_t c_ospeed ;
4292};
4293#line 41 "include/asm-generic/termbits.h"
4294struct winsize {
4295   unsigned short ws_row ;
4296   unsigned short ws_col ;
4297   unsigned short ws_xpixel ;
4298   unsigned short ws_ypixel ;
4299};
4300#line 138 "include/asm-generic/termios.h"
4301struct termiox {
4302   __u16 x_hflag ;
4303   __u16 x_cflag ;
4304   __u16 x_rflag[5U] ;
4305   __u16 x_sflag ;
4306};
4307#line 16 "include/linux/termios.h"
4308struct tty_operations {
4309   struct tty_struct *(*lookup)(struct tty_driver * , struct inode * , int  ) ;
4310   int (*install)(struct tty_driver * , struct tty_struct * ) ;
4311   void (*remove)(struct tty_driver * , struct tty_struct * ) ;
4312   int (*open)(struct tty_struct * , struct file * ) ;
4313   void (*close)(struct tty_struct * , struct file * ) ;
4314   void (*shutdown)(struct tty_struct * ) ;
4315   void (*cleanup)(struct tty_struct * ) ;
4316   int (*write)(struct tty_struct * , unsigned char const   * , int  ) ;
4317   int (*put_char)(struct tty_struct * , unsigned char  ) ;
4318   void (*flush_chars)(struct tty_struct * ) ;
4319   int (*write_room)(struct tty_struct * ) ;
4320   int (*chars_in_buffer)(struct tty_struct * ) ;
4321   int (*ioctl)(struct tty_struct * , unsigned int  , unsigned long  ) ;
4322   long (*compat_ioctl)(struct tty_struct * , unsigned int  , unsigned long  ) ;
4323   void (*set_termios)(struct tty_struct * , struct ktermios * ) ;
4324   void (*throttle)(struct tty_struct * ) ;
4325   void (*unthrottle)(struct tty_struct * ) ;
4326   void (*stop)(struct tty_struct * ) ;
4327   void (*start)(struct tty_struct * ) ;
4328   void (*hangup)(struct tty_struct * ) ;
4329   int (*break_ctl)(struct tty_struct * , int  ) ;
4330   void (*flush_buffer)(struct tty_struct * ) ;
4331   void (*set_ldisc)(struct tty_struct * ) ;
4332   void (*wait_until_sent)(struct tty_struct * , int  ) ;
4333   void (*send_xchar)(struct tty_struct * , char  ) ;
4334   int (*tiocmget)(struct tty_struct * ) ;
4335   int (*tiocmset)(struct tty_struct * , unsigned int  , unsigned int  ) ;
4336   int (*resize)(struct tty_struct * , struct winsize * ) ;
4337   int (*set_termiox)(struct tty_struct * , struct termiox * ) ;
4338   int (*get_icount)(struct tty_struct * , struct serial_icounter_struct * ) ;
4339   int (*poll_init)(struct tty_driver * , int  , char * ) ;
4340   int (*poll_get_char)(struct tty_driver * , int  ) ;
4341   void (*poll_put_char)(struct tty_driver * , int  , char  ) ;
4342   struct file_operations  const  *proc_fops ;
4343};
4344#line 293 "include/linux/tty_driver.h"
4345struct tty_driver {
4346   int magic ;
4347   struct kref kref ;
4348   struct cdev cdev ;
4349   struct module *owner ;
4350   char const   *driver_name ;
4351   char const   *name ;
4352   int name_base ;
4353   int major ;
4354   int minor_start ;
4355   int num ;
4356   short type ;
4357   short subtype ;
4358   struct ktermios init_termios ;
4359   int flags ;
4360   struct proc_dir_entry *proc_entry ;
4361   struct tty_driver *other ;
4362   struct tty_struct **ttys ;
4363   struct ktermios **termios ;
4364   void *driver_state ;
4365   struct tty_operations  const  *ops ;
4366   struct list_head tty_drivers ;
4367};
4368#line 48 "include/linux/pps_kernel.h"
4369struct pps_event_time {
4370   struct timespec ts_real ;
4371};
4372#line 116 "include/linux/pps_kernel.h"
4373struct tty_ldisc_ops {
4374   int magic ;
4375   char *name ;
4376   int num ;
4377   int flags ;
4378   int (*open)(struct tty_struct * ) ;
4379   void (*close)(struct tty_struct * ) ;
4380   void (*flush_buffer)(struct tty_struct * ) ;
4381   ssize_t (*chars_in_buffer)(struct tty_struct * ) ;
4382   ssize_t (*read)(struct tty_struct * , struct file * , unsigned char * , size_t  ) ;
4383   ssize_t (*write)(struct tty_struct * , struct file * , unsigned char const   * ,
4384                    size_t  ) ;
4385   int (*ioctl)(struct tty_struct * , struct file * , unsigned int  , unsigned long  ) ;
4386   long (*compat_ioctl)(struct tty_struct * , struct file * , unsigned int  , unsigned long  ) ;
4387   void (*set_termios)(struct tty_struct * , struct ktermios * ) ;
4388   unsigned int (*poll)(struct tty_struct * , struct file * , struct poll_table_struct * ) ;
4389   int (*hangup)(struct tty_struct * ) ;
4390   void (*receive_buf)(struct tty_struct * , unsigned char const   * , char * , int  ) ;
4391   void (*write_wakeup)(struct tty_struct * ) ;
4392   void (*dcd_change)(struct tty_struct * , unsigned int  , struct pps_event_time * ) ;
4393   struct module *owner ;
4394   int refcount ;
4395};
4396#line 153 "include/linux/tty_ldisc.h"
4397struct tty_ldisc {
4398   struct tty_ldisc_ops *ops ;
4399   atomic_t users ;
4400};
4401#line 158 "include/linux/tty_ldisc.h"
4402struct tty_buffer {
4403   struct tty_buffer *next ;
4404   char *char_buf_ptr ;
4405   unsigned char *flag_buf_ptr ;
4406   int used ;
4407   int size ;
4408   int commit ;
4409   int read ;
4410   unsigned long data[0U] ;
4411};
4412#line 75 "include/linux/tty.h"
4413struct tty_bufhead {
4414   struct work_struct work ;
4415   spinlock_t lock ;
4416   struct tty_buffer *head ;
4417   struct tty_buffer *tail ;
4418   struct tty_buffer *free ;
4419   int memory_used ;
4420};
4421#line 95
4422struct tty_port;
4423#line 95
4424struct tty_port;
4425#line 96 "include/linux/tty.h"
4426struct tty_port_operations {
4427   int (*carrier_raised)(struct tty_port * ) ;
4428   void (*dtr_rts)(struct tty_port * , int  ) ;
4429   void (*shutdown)(struct tty_port * ) ;
4430   void (*drop)(struct tty_port * ) ;
4431   int (*activate)(struct tty_port * , struct tty_struct * ) ;
4432   void (*destruct)(struct tty_port * ) ;
4433};
4434#line 222 "include/linux/tty.h"
4435struct tty_port {
4436   struct tty_struct *tty ;
4437   struct tty_port_operations  const  *ops ;
4438   spinlock_t lock ;
4439   int blocked_open ;
4440   int count ;
4441   wait_queue_head_t open_wait ;
4442   wait_queue_head_t close_wait ;
4443   wait_queue_head_t delta_msr_wait ;
4444   unsigned long flags ;
4445   unsigned char console : 1 ;
4446   struct mutex mutex ;
4447   struct mutex buf_mutex ;
4448   unsigned char *xmit_buf ;
4449   unsigned int close_delay ;
4450   unsigned int closing_wait ;
4451   int drain_delay ;
4452   struct kref kref ;
4453};
4454#line 244 "include/linux/tty.h"
4455struct tty_struct {
4456   int magic ;
4457   struct kref kref ;
4458   struct device *dev ;
4459   struct tty_driver *driver ;
4460   struct tty_operations  const  *ops ;
4461   int index ;
4462   struct mutex ldisc_mutex ;
4463   struct tty_ldisc *ldisc ;
4464   struct mutex termios_mutex ;
4465   spinlock_t ctrl_lock ;
4466   struct ktermios *termios ;
4467   struct ktermios *termios_locked ;
4468   struct termiox *termiox ;
4469   char name[64U] ;
4470   struct pid *pgrp ;
4471   struct pid *session ;
4472   unsigned long flags ;
4473   int count ;
4474   struct winsize winsize ;
4475   unsigned char stopped : 1 ;
4476   unsigned char hw_stopped : 1 ;
4477   unsigned char flow_stopped : 1 ;
4478   unsigned char packet : 1 ;
4479   unsigned char low_latency : 1 ;
4480   unsigned char warned : 1 ;
4481   unsigned char ctrl_status ;
4482   unsigned int receive_room ;
4483   struct tty_struct *link ;
4484   struct fasync_struct *fasync ;
4485   struct tty_bufhead buf ;
4486   int alt_speed ;
4487   wait_queue_head_t write_wait ;
4488   wait_queue_head_t read_wait ;
4489   struct work_struct hangup_work ;
4490   void *disc_data ;
4491   void *driver_data ;
4492   struct list_head tty_files ;
4493   unsigned int column ;
4494   unsigned char lnext : 1 ;
4495   unsigned char erasing : 1 ;
4496   unsigned char raw : 1 ;
4497   unsigned char real_raw : 1 ;
4498   unsigned char icanon : 1 ;
4499   unsigned char closing : 1 ;
4500   unsigned char echo_overrun : 1 ;
4501   unsigned short minimum_to_wake ;
4502   unsigned long overrun_time ;
4503   int num_overrun ;
4504   unsigned long process_char_map[4U] ;
4505   char *read_buf ;
4506   int read_head ;
4507   int read_tail ;
4508   int read_cnt ;
4509   unsigned long read_flags[64U] ;
4510   unsigned char *echo_buf ;
4511   unsigned int echo_pos ;
4512   unsigned int echo_cnt ;
4513   int canon_data ;
4514   unsigned long canon_head ;
4515   unsigned int canon_column ;
4516   struct mutex atomic_read_lock ;
4517   struct mutex atomic_write_lock ;
4518   struct mutex output_lock ;
4519   struct mutex echo_lock ;
4520   unsigned char *write_buf ;
4521   int write_cnt ;
4522   spinlock_t read_lock ;
4523   struct work_struct SAK_work ;
4524   struct tty_port *port ;
4525};
4526#line 1173 "include/linux/fb.h"
4527struct drm_mode_set;
4528#line 1173
4529struct drm_mode_set;
4530#line 1174
4531struct drm_framebuffer;
4532#line 1174
4533struct drm_framebuffer;
4534#line 1175 "include/linux/fb.h"
4535struct drm_mode_object {
4536   uint32_t id ;
4537   uint32_t type ;
4538};
4539#line 54 "include/drm/drm_crtc.h"
4540enum drm_mode_status {
4541    MODE_OK = 0,
4542    MODE_HSYNC = 1,
4543    MODE_VSYNC = 2,
4544    MODE_H_ILLEGAL = 3,
4545    MODE_V_ILLEGAL = 4,
4546    MODE_BAD_WIDTH = 5,
4547    MODE_NOMODE = 6,
4548    MODE_NO_INTERLACE = 7,
4549    MODE_NO_DBLESCAN = 8,
4550    MODE_NO_VSCAN = 9,
4551    MODE_MEM = 10,
4552    MODE_VIRTUAL_X = 11,
4553    MODE_VIRTUAL_Y = 12,
4554    MODE_MEM_VIRT = 13,
4555    MODE_NOCLOCK = 14,
4556    MODE_CLOCK_HIGH = 15,
4557    MODE_CLOCK_LOW = 16,
4558    MODE_CLOCK_RANGE = 17,
4559    MODE_BAD_HVALUE = 18,
4560    MODE_BAD_VVALUE = 19,
4561    MODE_BAD_VSCAN = 20,
4562    MODE_HSYNC_NARROW = 21,
4563    MODE_HSYNC_WIDE = 22,
4564    MODE_HBLANK_NARROW = 23,
4565    MODE_HBLANK_WIDE = 24,
4566    MODE_VSYNC_NARROW = 25,
4567    MODE_VSYNC_WIDE = 26,
4568    MODE_VBLANK_NARROW = 27,
4569    MODE_VBLANK_WIDE = 28,
4570    MODE_PANEL = 29,
4571    MODE_INTERLACE_WIDTH = 30,
4572    MODE_ONE_WIDTH = 31,
4573    MODE_ONE_HEIGHT = 32,
4574    MODE_ONE_SIZE = 33,
4575    MODE_NO_REDUCED = 34,
4576    MODE_UNVERIFIED = -3,
4577    MODE_BAD = -2,
4578    MODE_ERROR = -1
4579} ;
4580#line 95 "include/drm/drm_crtc.h"
4581struct drm_display_mode {
4582   struct list_head head ;
4583   struct drm_mode_object base ;
4584   char name[32U] ;
4585   enum drm_mode_status status ;
4586   unsigned int type ;
4587   int clock ;
4588   int hdisplay ;
4589   int hsync_start ;
4590   int hsync_end ;
4591   int htotal ;
4592   int hskew ;
4593   int vdisplay ;
4594   int vsync_start ;
4595   int vsync_end ;
4596   int vtotal ;
4597   int vscan ;
4598   unsigned int flags ;
4599   int width_mm ;
4600   int height_mm ;
4601   int clock_index ;
4602   int synth_clock ;
4603   int crtc_hdisplay ;
4604   int crtc_hblank_start ;
4605   int crtc_hblank_end ;
4606   int crtc_hsync_start ;
4607   int crtc_hsync_end ;
4608   int crtc_htotal ;
4609   int crtc_hskew ;
4610   int crtc_vdisplay ;
4611   int crtc_vblank_start ;
4612   int crtc_vblank_end ;
4613   int crtc_vsync_start ;
4614   int crtc_vsync_end ;
4615   int crtc_vtotal ;
4616   int crtc_hadjusted ;
4617   int crtc_vadjusted ;
4618   int private_size ;
4619   int *private ;
4620   int private_flags ;
4621   int vrefresh ;
4622   int hsync ;
4623};
4624#line 171
4625enum drm_connector_status {
4626    connector_status_connected = 1,
4627    connector_status_disconnected = 2,
4628    connector_status_unknown = 3
4629} ;
4630#line 177
4631enum subpixel_order {
4632    SubPixelUnknown = 0,
4633    SubPixelHorizontalRGB = 1,
4634    SubPixelHorizontalBGR = 2,
4635    SubPixelVerticalRGB = 3,
4636    SubPixelVerticalBGR = 4,
4637    SubPixelNone = 5
4638} ;
4639#line 186 "include/drm/drm_crtc.h"
4640struct drm_display_info {
4641   char name[32U] ;
4642   unsigned int width_mm ;
4643   unsigned int height_mm ;
4644   unsigned int min_vfreq ;
4645   unsigned int max_vfreq ;
4646   unsigned int min_hfreq ;
4647   unsigned int max_hfreq ;
4648   unsigned int pixel_clock ;
4649   unsigned int bpc ;
4650   enum subpixel_order subpixel_order ;
4651   u32 color_formats ;
4652   u8 cea_rev ;
4653   char *raw_edid ;
4654};
4655#line 213 "include/drm/drm_crtc.h"
4656struct drm_framebuffer_funcs {
4657   void (*destroy)(struct drm_framebuffer * ) ;
4658   int (*create_handle)(struct drm_framebuffer * , struct drm_file * , unsigned int * ) ;
4659   int (*dirty)(struct drm_framebuffer * , struct drm_file * , unsigned int  , unsigned int  ,
4660                struct drm_clip_rect * , unsigned int  ) ;
4661};
4662#line 233 "include/drm/drm_crtc.h"
4663struct drm_framebuffer {
4664   struct drm_device *dev ;
4665   struct list_head head ;
4666   struct drm_mode_object base ;
4667   struct drm_framebuffer_funcs  const  *funcs ;
4668   unsigned int pitches[4U] ;
4669   unsigned int offsets[4U] ;
4670   unsigned int width ;
4671   unsigned int height ;
4672   unsigned int depth ;
4673   int bits_per_pixel ;
4674   int flags ;
4675   uint32_t pixel_format ;
4676   struct list_head filp_head ;
4677   void *helper_private ;
4678};
4679#line 255 "include/drm/drm_crtc.h"
4680struct drm_property_blob {
4681   struct drm_mode_object base ;
4682   struct list_head head ;
4683   unsigned int length ;
4684   unsigned char data[0U] ;
4685};
4686#line 268 "include/drm/drm_crtc.h"
4687struct drm_property {
4688   struct list_head head ;
4689   struct drm_mode_object base ;
4690   uint32_t flags ;
4691   char name[32U] ;
4692   uint32_t num_values ;
4693   uint64_t *values ;
4694   struct list_head enum_blob_list ;
4695};
4696#line 279
4697struct drm_crtc;
4698#line 279
4699struct drm_crtc;
4700#line 280
4701struct drm_connector;
4702#line 280
4703struct drm_connector;
4704#line 281
4705struct drm_encoder;
4706#line 281
4707struct drm_encoder;
4708#line 282
4709struct drm_pending_vblank_event;
4710#line 282
4711struct drm_pending_vblank_event;
4712#line 284 "include/drm/drm_crtc.h"
4713struct drm_crtc_funcs {
4714   void (*save)(struct drm_crtc * ) ;
4715   void (*restore)(struct drm_crtc * ) ;
4716   void (*reset)(struct drm_crtc * ) ;
4717   int (*cursor_set)(struct drm_crtc * , struct drm_file * , uint32_t  , uint32_t  ,
4718                     uint32_t  ) ;
4719   int (*cursor_move)(struct drm_crtc * , int  , int  ) ;
4720   void (*gamma_set)(struct drm_crtc * , u16 * , u16 * , u16 * , uint32_t  , uint32_t  ) ;
4721   void (*destroy)(struct drm_crtc * ) ;
4722   int (*set_config)(struct drm_mode_set * ) ;
4723   int (*page_flip)(struct drm_crtc * , struct drm_framebuffer * , struct drm_pending_vblank_event * ) ;
4724};
4725#line 343 "include/drm/drm_crtc.h"
4726struct drm_crtc {
4727   struct drm_device *dev ;
4728   struct list_head head ;
4729   struct drm_mode_object base ;
4730   struct drm_framebuffer *fb ;
4731   bool enabled ;
4732   struct drm_display_mode mode ;
4733   struct drm_display_mode hwmode ;
4734   int x ;
4735   int y ;
4736   struct drm_crtc_funcs  const  *funcs ;
4737   uint32_t gamma_size ;
4738   uint16_t *gamma_store ;
4739   s64 framedur_ns ;
4740   s64 linedur_ns ;
4741   s64 pixeldur_ns ;
4742   void *helper_private ;
4743};
4744#line 399 "include/drm/drm_crtc.h"
4745struct drm_connector_funcs {
4746   void (*dpms)(struct drm_connector * , int  ) ;
4747   void (*save)(struct drm_connector * ) ;
4748   void (*restore)(struct drm_connector * ) ;
4749   void (*reset)(struct drm_connector * ) ;
4750   enum drm_connector_status (*detect)(struct drm_connector * , bool  ) ;
4751   int (*fill_modes)(struct drm_connector * , uint32_t  , uint32_t  ) ;
4752   int (*set_property)(struct drm_connector * , struct drm_property * , uint64_t  ) ;
4753   void (*destroy)(struct drm_connector * ) ;
4754   void (*force)(struct drm_connector * ) ;
4755};
4756#line 440 "include/drm/drm_crtc.h"
4757struct drm_encoder_funcs {
4758   void (*reset)(struct drm_encoder * ) ;
4759   void (*destroy)(struct drm_encoder * ) ;
4760};
4761#line 452 "include/drm/drm_crtc.h"
4762struct drm_encoder {
4763   struct drm_device *dev ;
4764   struct list_head head ;
4765   struct drm_mode_object base ;
4766   int encoder_type ;
4767   uint32_t possible_crtcs ;
4768   uint32_t possible_clones ;
4769   struct drm_crtc *crtc ;
4770   struct drm_encoder_funcs  const  *funcs ;
4771   void *helper_private ;
4772};
4773#line 486
4774enum drm_connector_force {
4775    DRM_FORCE_UNSPECIFIED = 0,
4776    DRM_FORCE_OFF = 1,
4777    DRM_FORCE_ON = 2,
4778    DRM_FORCE_ON_DIGITAL = 3
4779} ;
4780#line 493 "include/drm/drm_crtc.h"
4781struct drm_connector {
4782   struct drm_device *dev ;
4783   struct device kdev ;
4784   struct device_attribute *attr ;
4785   struct list_head head ;
4786   struct drm_mode_object base ;
4787   int connector_type ;
4788   int connector_type_id ;
4789   bool interlace_allowed ;
4790   bool doublescan_allowed ;
4791   struct list_head modes ;
4792   enum drm_connector_status status ;
4793   struct list_head probed_modes ;
4794   struct drm_display_info display_info ;
4795   struct drm_connector_funcs  const  *funcs ;
4796   struct list_head user_modes ;
4797   struct drm_property_blob *edid_blob_ptr ;
4798   u32 property_ids[16U] ;
4799   uint64_t property_values[16U] ;
4800   uint8_t polled ;
4801   int dpms ;
4802   void *helper_private ;
4803   enum drm_connector_force force ;
4804   uint32_t encoder_ids[3U] ;
4805   struct drm_encoder *encoder ;
4806   uint8_t eld[128U] ;
4807   bool dvi_dual ;
4808   int max_tmds_clock ;
4809   bool latency_present[2U] ;
4810   int video_latency[2U] ;
4811   int audio_latency[2U] ;
4812   int null_edid_counter ;
4813};
4814#line 648 "include/drm/drm_crtc.h"
4815struct drm_mode_set {
4816   struct list_head head ;
4817   struct drm_framebuffer *fb ;
4818   struct drm_crtc *crtc ;
4819   struct drm_display_mode *mode ;
4820   uint32_t x ;
4821   uint32_t y ;
4822   struct drm_connector **connectors ;
4823   size_t num_connectors ;
4824};
4825#line 678 "include/drm/drm_crtc.h"
4826struct drm_mode_config_funcs {
4827   struct drm_framebuffer *(*fb_create)(struct drm_device * , struct drm_file * ,
4828                                        struct drm_mode_fb_cmd2 * ) ;
4829   void (*output_poll_changed)(struct drm_device * ) ;
4830};
4831#line 693 "include/drm/drm_crtc.h"
4832struct drm_mode_group {
4833   uint32_t num_crtcs ;
4834   uint32_t num_encoders ;
4835   uint32_t num_connectors ;
4836   uint32_t *id_list ;
4837};
4838#line 715 "include/drm/drm_crtc.h"
4839struct drm_mode_config {
4840   struct mutex mutex ;
4841   struct mutex idr_mutex ;
4842   struct idr crtc_idr ;
4843   int num_fb ;
4844   struct list_head fb_list ;
4845   int num_connector ;
4846   struct list_head connector_list ;
4847   int num_encoder ;
4848   struct list_head encoder_list ;
4849   int num_plane ;
4850   struct list_head plane_list ;
4851   int num_crtc ;
4852   struct list_head crtc_list ;
4853   struct list_head property_list ;
4854   int min_width ;
4855   int min_height ;
4856   int max_width ;
4857   int max_height ;
4858   struct drm_mode_config_funcs *funcs ;
4859   resource_size_t fb_base ;
4860   bool poll_enabled ;
4861   struct delayed_work output_poll_work ;
4862   struct list_head property_blob_list ;
4863   struct drm_property *edid_property ;
4864   struct drm_property *dpms_property ;
4865   struct drm_property *dvi_i_subconnector_property ;
4866   struct drm_property *dvi_i_select_subconnector_property ;
4867   struct drm_property *tv_subconnector_property ;
4868   struct drm_property *tv_select_subconnector_property ;
4869   struct drm_property *tv_mode_property ;
4870   struct drm_property *tv_left_margin_property ;
4871   struct drm_property *tv_right_margin_property ;
4872   struct drm_property *tv_top_margin_property ;
4873   struct drm_property *tv_bottom_margin_property ;
4874   struct drm_property *tv_brightness_property ;
4875   struct drm_property *tv_contrast_property ;
4876   struct drm_property *tv_flicker_reduction_property ;
4877   struct drm_property *tv_overscan_property ;
4878   struct drm_property *tv_saturation_property ;
4879   struct drm_property *tv_hue_property ;
4880   struct drm_property *scaling_mode_property ;
4881   struct drm_property *dithering_mode_property ;
4882   struct drm_property *dirty_info_property ;
4883   uint32_t preferred_depth ;
4884   uint32_t prefer_shadow ;
4885};
4886#line 1028 "include/drm/drm_crtc.h"
4887struct drm_master {
4888   struct kref refcount ;
4889   struct list_head head ;
4890   struct drm_minor *minor ;
4891   char *unique ;
4892   int unique_len ;
4893   int unique_size ;
4894   int blocked ;
4895   struct drm_open_hash magiclist ;
4896   struct list_head magicfree ;
4897   struct drm_lock_data lock ;
4898   void *driver_priv ;
4899};
4900#line 705 "include/drm/drmP.h"
4901struct drm_bus {
4902   int bus_type ;
4903   int (*get_irq)(struct drm_device * ) ;
4904   char const   *(*get_name)(struct drm_device * ) ;
4905   int (*set_busid)(struct drm_device * , struct drm_master * ) ;
4906   int (*set_unique)(struct drm_device * , struct drm_master * , struct drm_unique * ) ;
4907   int (*irq_by_busid)(struct drm_device * , struct drm_irq_busid * ) ;
4908   int (*agp_init)(struct drm_device * ) ;
4909};
4910#line 732
4911struct usb_driver;
4912#line 732 "include/drm/drmP.h"
4913union __anonunion_kdriver_193 {
4914   struct pci_driver *pci ;
4915   struct platform_device *platform_device ;
4916   struct usb_driver *usb ;
4917};
4918#line 732 "include/drm/drmP.h"
4919struct drm_driver {
4920   int (*load)(struct drm_device * , unsigned long  ) ;
4921   int (*firstopen)(struct drm_device * ) ;
4922   int (*open)(struct drm_device * , struct drm_file * ) ;
4923   void (*preclose)(struct drm_device * , struct drm_file * ) ;
4924   void (*postclose)(struct drm_device * , struct drm_file * ) ;
4925   void (*lastclose)(struct drm_device * ) ;
4926   int (*unload)(struct drm_device * ) ;
4927   int (*suspend)(struct drm_device * , pm_message_t  ) ;
4928   int (*resume)(struct drm_device * ) ;
4929   int (*dma_ioctl)(struct drm_device * , void * , struct drm_file * ) ;
4930   int (*dma_quiescent)(struct drm_device * ) ;
4931   int (*context_dtor)(struct drm_device * , int  ) ;
4932   u32 (*get_vblank_counter)(struct drm_device * , int  ) ;
4933   int (*enable_vblank)(struct drm_device * , int  ) ;
4934   void (*disable_vblank)(struct drm_device * , int  ) ;
4935   int (*device_is_agp)(struct drm_device * ) ;
4936   int (*get_scanout_position)(struct drm_device * , int  , int * , int * ) ;
4937   int (*get_vblank_timestamp)(struct drm_device * , int  , int * , struct timeval * ,
4938                               unsigned int  ) ;
4939   irqreturn_t (*irq_handler)(int  , void * ) ;
4940   void (*irq_preinstall)(struct drm_device * ) ;
4941   int (*irq_postinstall)(struct drm_device * ) ;
4942   void (*irq_uninstall)(struct drm_device * ) ;
4943   void (*reclaim_buffers)(struct drm_device * , struct drm_file * ) ;
4944   void (*reclaim_buffers_locked)(struct drm_device * , struct drm_file * ) ;
4945   void (*reclaim_buffers_idlelocked)(struct drm_device * , struct drm_file * ) ;
4946   void (*set_version)(struct drm_device * , struct drm_set_version * ) ;
4947   int (*master_create)(struct drm_device * , struct drm_master * ) ;
4948   void (*master_destroy)(struct drm_device * , struct drm_master * ) ;
4949   int (*master_set)(struct drm_device * , struct drm_file * , bool  ) ;
4950   void (*master_drop)(struct drm_device * , struct drm_file * , bool  ) ;
4951   int (*debugfs_init)(struct drm_minor * ) ;
4952   void (*debugfs_cleanup)(struct drm_minor * ) ;
4953   int (*gem_init_object)(struct drm_gem_object * ) ;
4954   void (*gem_free_object)(struct drm_gem_object * ) ;
4955   int (*gem_open_object)(struct drm_gem_object * , struct drm_file * ) ;
4956   void (*gem_close_object)(struct drm_gem_object * , struct drm_file * ) ;
4957   int (*prime_handle_to_fd)(struct drm_device * , struct drm_file * , uint32_t  ,
4958                             uint32_t  , int * ) ;
4959   int (*prime_fd_to_handle)(struct drm_device * , struct drm_file * , int  , uint32_t * ) ;
4960   struct dma_buf *(*gem_prime_export)(struct drm_device * , struct drm_gem_object * ,
4961                                       int  ) ;
4962   struct drm_gem_object *(*gem_prime_import)(struct drm_device * , struct dma_buf * ) ;
4963   void (*vgaarb_irq)(struct drm_device * , bool  ) ;
4964   int (*dumb_create)(struct drm_file * , struct drm_device * , struct drm_mode_create_dumb * ) ;
4965   int (*dumb_map_offset)(struct drm_file * , struct drm_device * , uint32_t  , uint64_t * ) ;
4966   int (*dumb_destroy)(struct drm_file * , struct drm_device * , uint32_t  ) ;
4967   struct vm_operations_struct *gem_vm_ops ;
4968   int major ;
4969   int minor ;
4970   int patchlevel ;
4971   char *name ;
4972   char *desc ;
4973   char *date ;
4974   u32 driver_features ;
4975   int dev_priv_size ;
4976   struct drm_ioctl_desc *ioctls ;
4977   int num_ioctls ;
4978   struct file_operations  const  *fops ;
4979   union __anonunion_kdriver_193 kdriver ;
4980   struct drm_bus *bus ;
4981   struct list_head device_list ;
4982};
4983#line 994 "include/drm/drmP.h"
4984struct drm_info_list {
4985   char const   *name ;
4986   int (*show)(struct seq_file * , void * ) ;
4987   u32 driver_features ;
4988   void *data ;
4989};
4990#line 1005 "include/drm/drmP.h"
4991struct drm_info_node {
4992   struct list_head list ;
4993   struct drm_minor *minor ;
4994   struct drm_info_list *info_ent ;
4995   struct dentry *dent ;
4996};
4997#line 1015 "include/drm/drmP.h"
4998struct drm_minor {
4999   int index ;
5000   int type ;
5001   dev_t device ;
5002   struct device kdev ;
5003   struct drm_device *dev ;
5004   struct proc_dir_entry *proc_root ;
5005   struct drm_info_node proc_nodes ;
5006   struct dentry *debugfs_root ;
5007   struct list_head debugfs_list ;
5008   struct mutex debugfs_lock ;
5009   struct drm_master *master ;
5010   struct list_head master_list ;
5011   struct drm_mode_group mode_group ;
5012};
5013#line 1052 "include/drm/drmP.h"
5014struct drm_pending_vblank_event {
5015   struct drm_pending_event base ;
5016   int pipe ;
5017   struct drm_event_vblank event ;
5018};
5019#line 1059
5020struct usb_device;
5021#line 1059 "include/drm/drmP.h"
5022struct drm_device {
5023   struct list_head driver_item ;
5024   char *devname ;
5025   int if_version ;
5026   spinlock_t count_lock ;
5027   struct mutex struct_mutex ;
5028   int open_count ;
5029   atomic_t ioctl_count ;
5030   atomic_t vma_count ;
5031   int buf_use ;
5032   atomic_t buf_alloc ;
5033   unsigned long counters ;
5034   enum drm_stat_type types[15U] ;
5035   atomic_t counts[15U] ;
5036   struct list_head filelist ;
5037   struct list_head maplist ;
5038   int map_count ;
5039   struct drm_open_hash map_hash ;
5040   struct list_head ctxlist ;
5041   int ctx_count ;
5042   struct mutex ctxlist_mutex ;
5043   struct idr ctx_idr ;
5044   struct list_head vmalist ;
5045   int queue_count ;
5046   int queue_reserved ;
5047   int queue_slots ;
5048   struct drm_queue **queuelist ;
5049   struct drm_device_dma *dma ;
5050   int irq_enabled ;
5051   long volatile   context_flag ;
5052   long volatile   interrupt_flag ;
5053   long volatile   dma_flag ;
5054   wait_queue_head_t context_wait ;
5055   int last_checked ;
5056   int last_context ;
5057   unsigned long last_switch ;
5058   struct work_struct work ;
5059   int vblank_disable_allowed ;
5060   wait_queue_head_t *vbl_queue ;
5061   atomic_t *_vblank_count ;
5062   struct timeval *_vblank_time ;
5063   spinlock_t vblank_time_lock ;
5064   spinlock_t vbl_lock ;
5065   atomic_t *vblank_refcount ;
5066   u32 *last_vblank ;
5067   int *vblank_enabled ;
5068   int *vblank_inmodeset ;
5069   u32 *last_vblank_wait ;
5070   struct timer_list vblank_disable_timer ;
5071   u32 max_vblank_count ;
5072   struct list_head vblank_event_list ;
5073   spinlock_t event_lock ;
5074   cycles_t ctx_start ;
5075   cycles_t lck_start ;
5076   struct fasync_struct *buf_async ;
5077   wait_queue_head_t buf_readers ;
5078   wait_queue_head_t buf_writers ;
5079   struct drm_agp_head *agp ;
5080   struct device *dev ;
5081   struct pci_dev *pdev ;
5082   int pci_vendor ;
5083   int pci_device ;
5084   struct platform_device *platformdev ;
5085   struct usb_device *usbdev ;
5086   struct drm_sg_mem *sg ;
5087   unsigned int num_crtcs ;
5088   void *dev_private ;
5089   void *mm_private ;
5090   struct address_space *dev_mapping ;
5091   struct drm_sigdata sigdata ;
5092   sigset_t sigmask ;
5093   struct drm_driver *driver ;
5094   struct drm_local_map *agp_buffer_map ;
5095   unsigned int agp_buffer_token ;
5096   struct drm_minor *control ;
5097   struct drm_minor *primary ;
5098   struct drm_mode_config mode_config ;
5099   spinlock_t object_name_lock ;
5100   struct idr object_name_idr ;
5101   int switch_power_state ;
5102   atomic_t unplugged ;
5103};
5104#line 149 "include/drm/drm_crtc_helper.h"
5105struct drm_encoder_slave_funcs {
5106   void (*set_config)(struct drm_encoder * , void * ) ;
5107   void (*destroy)(struct drm_encoder * ) ;
5108   void (*dpms)(struct drm_encoder * , int  ) ;
5109   void (*save)(struct drm_encoder * ) ;
5110   void (*restore)(struct drm_encoder * ) ;
5111   bool (*mode_fixup)(struct drm_encoder * , struct drm_display_mode * , struct drm_display_mode * ) ;
5112   int (*mode_valid)(struct drm_encoder * , struct drm_display_mode * ) ;
5113   void (*mode_set)(struct drm_encoder * , struct drm_display_mode * , struct drm_display_mode * ) ;
5114   enum drm_connector_status (*detect)(struct drm_encoder * , struct drm_connector * ) ;
5115   int (*get_modes)(struct drm_encoder * , struct drm_connector * ) ;
5116   int (*create_resources)(struct drm_encoder * , struct drm_connector * ) ;
5117   int (*set_property)(struct drm_encoder * , struct drm_connector * , struct drm_property * ,
5118                       uint64_t  ) ;
5119};
5120#line 73 "include/drm/drm_encoder_slave.h"
5121struct drm_encoder_slave {
5122   struct drm_encoder base ;
5123   struct drm_encoder_slave_funcs *slave_funcs ;
5124   void *slave_priv ;
5125   void *bus_priv ;
5126};
5127#line 105 "include/drm/drm_encoder_slave.h"
5128struct drm_i2c_encoder_driver {
5129   struct i2c_driver i2c_driver ;
5130   int (*encoder_init)(struct i2c_client * , struct drm_device * , struct drm_encoder_slave * ) ;
5131};
5132#line 161
5133enum ldv_25619 {
5134    SIL164_INPUT_EDGE_FALLING = 0,
5135    SIL164_INPUT_EDGE_RISING = 1
5136} ;
5137#line 166
5138enum ldv_25620 {
5139    SIL164_INPUT_WIDTH_12BIT = 0,
5140    SIL164_INPUT_WIDTH_24BIT = 1
5141} ;
5142#line 171
5143enum ldv_25621 {
5144    SIL164_INPUT_SINGLE_EDGE = 0,
5145    SIL164_INPUT_DUAL_EDGE = 1
5146} ;
5147#line 176
5148enum ldv_25622 {
5149    SIL164_PLL_FILTER_ON = 0,
5150    SIL164_PLL_FILTER_OFF = 1
5151} ;
5152#line 181 "include/drm/drm_encoder_slave.h"
5153struct sil164_encoder_params {
5154   enum ldv_25619 input_edge ;
5155   enum ldv_25620 input_width ;
5156   enum ldv_25621 input_dual ;
5157   enum ldv_25622 pll_filter ;
5158   int input_skew ;
5159   int duallink_skew ;
5160};
5161#line 62 "include/drm/i2c/sil164.h"
5162struct sil164_priv {
5163   struct sil164_encoder_params config ;
5164   struct i2c_client *duallink_slave ;
5165   uint8_t saved_state[16U] ;
5166   uint8_t saved_slave_state[16U] ;
5167};
5168#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5169void ldv_spin_lock(void) ;
5170#line 3
5171void ldv_spin_unlock(void) ;
5172#line 4
5173int ldv_spin_trylock(void) ;
5174#line 26 "include/linux/export.h"
5175extern struct module __this_module ;
5176#line 161 "include/linux/slab.h"
5177extern void kfree(void const   * ) ;
5178#line 220 "include/linux/slub_def.h"
5179extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
5180#line 223
5181void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
5182#line 353 "include/linux/slab.h"
5183__inline static void *kzalloc(size_t size , gfp_t flags ) ;
5184#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5185extern void *__VERIFIER_nondet_pointer(void) ;
5186#line 11
5187void ldv_check_alloc_flags(gfp_t flags ) ;
5188#line 12
5189void ldv_check_alloc_nonatomic(void) ;
5190#line 14
5191struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
5192#line 882 "include/linux/device.h"
5193extern int dev_printk(char const   * , struct device  const  * , char const   *  , ...) ;
5194#line 892
5195extern int dev_err(struct device  const  * , char const   *  , ...) ;
5196#line 898
5197extern int _dev_info(struct device  const  * , char const   *  , ...) ;
5198#line 62 "include/linux/i2c.h"
5199extern int i2c_master_send(struct i2c_client  const  * , char const   * , int  ) ;
5200#line 64
5201extern int i2c_master_recv(struct i2c_client  const  * , char * , int  ) ;
5202#line 69
5203extern int i2c_transfer(struct i2c_adapter * , struct i2c_msg * , int  ) ;
5204#line 303
5205extern struct i2c_client *i2c_new_device(struct i2c_adapter * , struct i2c_board_info  const  * ) ;
5206#line 326
5207extern void i2c_unregister_device(struct i2c_client * ) ;
5208#line 450
5209extern int i2c_register_driver(struct module * , struct i2c_driver * ) ;
5210#line 451
5211extern void i2c_del_driver(struct i2c_driver * ) ;
5212#line 1510 "include/drm/drmP.h"
5213extern unsigned int drm_debug ;
5214#line 135 "include/drm/drm_encoder_slave.h"
5215__inline static struct i2c_client *drm_i2c_encoder_get_client(struct drm_encoder *encoder ) 
5216{ struct drm_encoder  const  *__mptr ;
5217  struct drm_encoder_slave *__cil_tmp3 ;
5218  unsigned long __cil_tmp4 ;
5219  unsigned long __cil_tmp5 ;
5220  void *__cil_tmp6 ;
5221
5222  {
5223#line 137
5224  __mptr = (struct drm_encoder  const  *)encoder;
5225  {
5226#line 137
5227  __cil_tmp3 = (struct drm_encoder_slave *)__mptr;
5228#line 137
5229  __cil_tmp4 = (unsigned long )__cil_tmp3;
5230#line 137
5231  __cil_tmp5 = __cil_tmp4 + 88;
5232#line 137
5233  __cil_tmp6 = *((void **)__cil_tmp5);
5234#line 137
5235  return ((struct i2c_client *)__cil_tmp6);
5236  }
5237}
5238}
5239#line 145 "include/drm/drm_encoder_slave.h"
5240__inline static int drm_i2c_encoder_register(struct module *owner , struct drm_i2c_encoder_driver *driver ) 
5241{ int tmp ;
5242  struct i2c_driver *__cil_tmp4 ;
5243
5244  {
5245  {
5246#line 148
5247  __cil_tmp4 = (struct i2c_driver *)driver;
5248#line 148
5249  tmp = i2c_register_driver(owner, __cil_tmp4);
5250  }
5251#line 148
5252  return (tmp);
5253}
5254}
5255#line 155 "include/drm/drm_encoder_slave.h"
5256__inline static void drm_i2c_encoder_unregister(struct drm_i2c_encoder_driver *driver ) 
5257{ struct i2c_driver *__cil_tmp2 ;
5258
5259  {
5260  {
5261#line 157
5262  __cil_tmp2 = (struct i2c_driver *)driver;
5263#line 157
5264  i2c_del_driver(__cil_tmp2);
5265  }
5266#line 158
5267  return;
5268}
5269}
5270#line 160
5271extern void drm_i2c_encoder_destroy(struct drm_encoder * ) ;
5272#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5273static void sil164_write(struct i2c_client *client , uint8_t addr , uint8_t val ) 
5274{ uint8_t buf[2U] ;
5275  int ret ;
5276  unsigned long __cil_tmp6 ;
5277  unsigned long __cil_tmp7 ;
5278  unsigned long __cil_tmp8 ;
5279  unsigned long __cil_tmp9 ;
5280  struct i2c_client  const  *__cil_tmp10 ;
5281  char const   *__cil_tmp11 ;
5282  unsigned long __cil_tmp12 ;
5283  unsigned long __cil_tmp13 ;
5284  struct device *__cil_tmp14 ;
5285  struct device  const  *__cil_tmp15 ;
5286  int __cil_tmp16 ;
5287
5288  {
5289  {
5290#line 122
5291  __cil_tmp6 = 0 * 1UL;
5292#line 122
5293  __cil_tmp7 = (unsigned long )(buf) + __cil_tmp6;
5294#line 122
5295  *((uint8_t *)__cil_tmp7) = addr;
5296#line 122
5297  __cil_tmp8 = 1 * 1UL;
5298#line 122
5299  __cil_tmp9 = (unsigned long )(buf) + __cil_tmp8;
5300#line 122
5301  *((uint8_t *)__cil_tmp9) = val;
5302#line 125
5303  __cil_tmp10 = (struct i2c_client  const  *)client;
5304#line 125
5305  __cil_tmp11 = (char const   *)(& buf);
5306#line 125
5307  ret = i2c_master_send(__cil_tmp10, __cil_tmp11, 2);
5308  }
5309#line 126
5310  if (ret < 0) {
5311    {
5312#line 127
5313    __cil_tmp12 = (unsigned long )client;
5314#line 127
5315    __cil_tmp13 = __cil_tmp12 + 40;
5316#line 127
5317    __cil_tmp14 = (struct device *)__cil_tmp13;
5318#line 127
5319    __cil_tmp15 = (struct device  const  *)__cil_tmp14;
5320#line 127
5321    __cil_tmp16 = (int )addr;
5322#line 127
5323    dev_err(__cil_tmp15, "Error %d writing to subaddress 0x%x\n", ret, __cil_tmp16);
5324    }
5325  } else {
5326
5327  }
5328#line 128
5329  return;
5330}
5331}
5332#line 132 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5333static uint8_t sil164_read(struct i2c_client *client , uint8_t addr ) 
5334{ uint8_t val ;
5335  int ret ;
5336  struct i2c_client  const  *__cil_tmp5 ;
5337  char const   *__cil_tmp6 ;
5338  struct i2c_client  const  *__cil_tmp7 ;
5339  char *__cil_tmp8 ;
5340  uint8_t *__cil_tmp9 ;
5341  unsigned long __cil_tmp10 ;
5342  unsigned long __cil_tmp11 ;
5343  struct device *__cil_tmp12 ;
5344  struct device  const  *__cil_tmp13 ;
5345  uint8_t *__cil_tmp14 ;
5346  uint8_t __cil_tmp15 ;
5347  int __cil_tmp16 ;
5348
5349  {
5350  {
5351#line 137
5352  __cil_tmp5 = (struct i2c_client  const  *)client;
5353#line 137
5354  __cil_tmp6 = (char const   *)(& addr);
5355#line 137
5356  ret = i2c_master_send(__cil_tmp5, __cil_tmp6, 1);
5357  }
5358#line 138
5359  if (ret < 0) {
5360#line 139
5361    goto fail;
5362  } else {
5363
5364  }
5365  {
5366#line 141
5367  __cil_tmp7 = (struct i2c_client  const  *)client;
5368#line 141
5369  __cil_tmp8 = (char *)(& val);
5370#line 141
5371  ret = i2c_master_recv(__cil_tmp7, __cil_tmp8, 1);
5372  }
5373#line 142
5374  if (ret < 0) {
5375#line 143
5376    goto fail;
5377  } else {
5378
5379  }
5380  {
5381#line 145
5382  __cil_tmp9 = & val;
5383#line 145
5384  return (*__cil_tmp9);
5385  }
5386  fail: 
5387  {
5388#line 148
5389  __cil_tmp10 = (unsigned long )client;
5390#line 148
5391  __cil_tmp11 = __cil_tmp10 + 40;
5392#line 148
5393  __cil_tmp12 = (struct device *)__cil_tmp11;
5394#line 148
5395  __cil_tmp13 = (struct device  const  *)__cil_tmp12;
5396#line 148
5397  __cil_tmp14 = & addr;
5398#line 148
5399  __cil_tmp15 = *__cil_tmp14;
5400#line 148
5401  __cil_tmp16 = (int )__cil_tmp15;
5402#line 148
5403  dev_err(__cil_tmp13, "Error %d reading from subaddress 0x%x\n", ret, __cil_tmp16);
5404  }
5405#line 150
5406  return ((uint8_t )0U);
5407}
5408}
5409#line 154 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5410static void sil164_save_state(struct i2c_client *client , uint8_t *state ) 
5411{ int i ;
5412  unsigned long __cil_tmp4 ;
5413  uint8_t *__cil_tmp5 ;
5414  uint8_t __cil_tmp6 ;
5415  int __cil_tmp7 ;
5416  uint8_t __cil_tmp8 ;
5417
5418  {
5419#line 158
5420  i = 8;
5421#line 158
5422  goto ldv_35346;
5423  ldv_35345: 
5424  {
5425#line 159
5426  __cil_tmp4 = (unsigned long )i;
5427#line 159
5428  __cil_tmp5 = state + __cil_tmp4;
5429#line 159
5430  __cil_tmp6 = (uint8_t )i;
5431#line 159
5432  __cil_tmp7 = (int )__cil_tmp6;
5433#line 159
5434  __cil_tmp8 = (uint8_t )__cil_tmp7;
5435#line 159
5436  *__cil_tmp5 = sil164_read(client, __cil_tmp8);
5437#line 158
5438  i = i + 1;
5439  }
5440  ldv_35346: ;
5441#line 158
5442  if (i <= 14) {
5443#line 159
5444    goto ldv_35345;
5445  } else {
5446#line 161
5447    goto ldv_35347;
5448  }
5449  ldv_35347: ;
5450#line 163
5451  return;
5452}
5453}
5454#line 163 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5455static void sil164_restore_state(struct i2c_client *client , uint8_t *state ) 
5456{ int i ;
5457  uint8_t __cil_tmp4 ;
5458  int __cil_tmp5 ;
5459  uint8_t __cil_tmp6 ;
5460  unsigned long __cil_tmp7 ;
5461  uint8_t *__cil_tmp8 ;
5462  uint8_t __cil_tmp9 ;
5463  int __cil_tmp10 ;
5464  uint8_t __cil_tmp11 ;
5465
5466  {
5467#line 167
5468  i = 8;
5469#line 167
5470  goto ldv_35354;
5471  ldv_35353: 
5472  {
5473#line 168
5474  __cil_tmp4 = (uint8_t )i;
5475#line 168
5476  __cil_tmp5 = (int )__cil_tmp4;
5477#line 168
5478  __cil_tmp6 = (uint8_t )__cil_tmp5;
5479#line 168
5480  __cil_tmp7 = (unsigned long )i;
5481#line 168
5482  __cil_tmp8 = state + __cil_tmp7;
5483#line 168
5484  __cil_tmp9 = *__cil_tmp8;
5485#line 168
5486  __cil_tmp10 = (int )__cil_tmp9;
5487#line 168
5488  __cil_tmp11 = (uint8_t )__cil_tmp10;
5489#line 168
5490  sil164_write(client, __cil_tmp6, __cil_tmp11);
5491#line 167
5492  i = i + 1;
5493  }
5494  ldv_35354: ;
5495#line 167
5496  if (i <= 14) {
5497#line 168
5498    goto ldv_35353;
5499  } else {
5500#line 170
5501    goto ldv_35355;
5502  }
5503  ldv_35355: ;
5504#line 172
5505  return;
5506}
5507}
5508#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5509static void sil164_set_power_state(struct i2c_client *client , bool on ) 
5510{ uint8_t control0 ;
5511  uint8_t tmp ;
5512  uint8_t __cil_tmp5 ;
5513  unsigned int __cil_tmp6 ;
5514  unsigned int __cil_tmp7 ;
5515  unsigned int __cil_tmp8 ;
5516  unsigned int __cil_tmp9 ;
5517  uint8_t __cil_tmp10 ;
5518  int __cil_tmp11 ;
5519  uint8_t __cil_tmp12 ;
5520
5521  {
5522  {
5523#line 174
5524  __cil_tmp5 = (uint8_t )8;
5525#line 174
5526  tmp = sil164_read(client, __cil_tmp5);
5527#line 174
5528  control0 = tmp;
5529  }
5530#line 176
5531  if ((int )on) {
5532#line 177
5533    __cil_tmp6 = (unsigned int )control0;
5534#line 177
5535    __cil_tmp7 = __cil_tmp6 | 1U;
5536#line 177
5537    control0 = (uint8_t )__cil_tmp7;
5538  } else {
5539#line 179
5540    __cil_tmp8 = (unsigned int )control0;
5541#line 179
5542    __cil_tmp9 = __cil_tmp8 & 254U;
5543#line 179
5544    control0 = (uint8_t )__cil_tmp9;
5545  }
5546  {
5547#line 181
5548  __cil_tmp10 = (uint8_t )8;
5549#line 181
5550  __cil_tmp11 = (int )control0;
5551#line 181
5552  __cil_tmp12 = (uint8_t )__cil_tmp11;
5553#line 181
5554  sil164_write(client, __cil_tmp10, __cil_tmp12);
5555  }
5556#line 182
5557  return;
5558}
5559}
5560#line 185 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5561static void sil164_init_state(struct i2c_client *client , struct sil164_encoder_params *config ,
5562                              bool duallink ) 
5563{ int tmp ;
5564  int tmp___0 ;
5565  int tmp___1 ;
5566  int tmp___2 ;
5567  int tmp___3 ;
5568  enum ldv_25619 __cil_tmp9 ;
5569  unsigned int __cil_tmp10 ;
5570  unsigned long __cil_tmp11 ;
5571  unsigned long __cil_tmp12 ;
5572  enum ldv_25620 __cil_tmp13 ;
5573  unsigned int __cil_tmp14 ;
5574  unsigned long __cil_tmp15 ;
5575  unsigned long __cil_tmp16 ;
5576  enum ldv_25621 __cil_tmp17 ;
5577  unsigned int __cil_tmp18 ;
5578  uint8_t __cil_tmp19 ;
5579  int __cil_tmp20 ;
5580  int __cil_tmp21 ;
5581  uint8_t __cil_tmp22 ;
5582  int __cil_tmp23 ;
5583  uint8_t __cil_tmp24 ;
5584  uint8_t __cil_tmp25 ;
5585  uint8_t __cil_tmp26 ;
5586  unsigned long __cil_tmp27 ;
5587  unsigned long __cil_tmp28 ;
5588  int __cil_tmp29 ;
5589  uint8_t __cil_tmp30 ;
5590  unsigned long __cil_tmp31 ;
5591  unsigned long __cil_tmp32 ;
5592  int __cil_tmp33 ;
5593  int __cil_tmp34 ;
5594  int __cil_tmp35 ;
5595  signed char __cil_tmp36 ;
5596  int __cil_tmp37 ;
5597  int __cil_tmp38 ;
5598  uint8_t __cil_tmp39 ;
5599  int __cil_tmp40 ;
5600  uint8_t __cil_tmp41 ;
5601  unsigned long __cil_tmp42 ;
5602  unsigned long __cil_tmp43 ;
5603  enum ldv_25622 __cil_tmp44 ;
5604  unsigned int __cil_tmp45 ;
5605  uint8_t __cil_tmp46 ;
5606  uint8_t __cil_tmp47 ;
5607  uint8_t __cil_tmp48 ;
5608  uint8_t __cil_tmp49 ;
5609  uint8_t __cil_tmp50 ;
5610  unsigned long __cil_tmp51 ;
5611  unsigned long __cil_tmp52 ;
5612  int __cil_tmp53 ;
5613  int __cil_tmp54 ;
5614  int __cil_tmp55 ;
5615  signed char __cil_tmp56 ;
5616  int __cil_tmp57 ;
5617  int __cil_tmp58 ;
5618  uint8_t __cil_tmp59 ;
5619  int __cil_tmp60 ;
5620  uint8_t __cil_tmp61 ;
5621  uint8_t __cil_tmp62 ;
5622  uint8_t __cil_tmp63 ;
5623
5624  {
5625  {
5626#line 189
5627  __cil_tmp9 = *((enum ldv_25619 *)config);
5628#line 189
5629  __cil_tmp10 = (unsigned int )__cil_tmp9;
5630#line 189
5631  if (__cil_tmp10 != 0U) {
5632#line 189
5633    tmp = 50;
5634  } else {
5635#line 189
5636    tmp = 48;
5637  }
5638  }
5639  {
5640#line 189
5641  __cil_tmp11 = (unsigned long )config;
5642#line 189
5643  __cil_tmp12 = __cil_tmp11 + 4;
5644#line 189
5645  __cil_tmp13 = *((enum ldv_25620 *)__cil_tmp12);
5646#line 189
5647  __cil_tmp14 = (unsigned int )__cil_tmp13;
5648#line 189
5649  if (__cil_tmp14 != 0U) {
5650#line 189
5651    tmp___0 = 4;
5652  } else {
5653#line 189
5654    tmp___0 = 0;
5655  }
5656  }
5657  {
5658#line 189
5659  __cil_tmp15 = (unsigned long )config;
5660#line 189
5661  __cil_tmp16 = __cil_tmp15 + 8;
5662#line 189
5663  __cil_tmp17 = *((enum ldv_25621 *)__cil_tmp16);
5664#line 189
5665  __cil_tmp18 = (unsigned int )__cil_tmp17;
5666#line 189
5667  if (__cil_tmp18 != 0U) {
5668#line 189
5669    tmp___1 = 8;
5670  } else {
5671#line 189
5672    tmp___1 = 0;
5673  }
5674  }
5675  {
5676#line 189
5677  __cil_tmp19 = (uint8_t )8;
5678#line 189
5679  __cil_tmp20 = tmp | tmp___0;
5680#line 189
5681  __cil_tmp21 = __cil_tmp20 | tmp___1;
5682#line 189
5683  __cil_tmp22 = (uint8_t )__cil_tmp21;
5684#line 189
5685  __cil_tmp23 = (int )__cil_tmp22;
5686#line 189
5687  __cil_tmp24 = (uint8_t )__cil_tmp23;
5688#line 189
5689  sil164_write(client, __cil_tmp19, __cil_tmp24);
5690#line 196
5691  __cil_tmp25 = (uint8_t )9;
5692#line 196
5693  __cil_tmp26 = (uint8_t )33;
5694#line 196
5695  sil164_write(client, __cil_tmp25, __cil_tmp26);
5696  }
5697  {
5698#line 200
5699  __cil_tmp27 = (unsigned long )config;
5700#line 200
5701  __cil_tmp28 = __cil_tmp27 + 16;
5702#line 200
5703  __cil_tmp29 = *((int *)__cil_tmp28);
5704#line 200
5705  if (__cil_tmp29 != 0) {
5706#line 200
5707    tmp___2 = 16;
5708  } else {
5709#line 200
5710    tmp___2 = 0;
5711  }
5712  }
5713  {
5714#line 200
5715  __cil_tmp30 = (uint8_t )10;
5716#line 200
5717  __cil_tmp31 = (unsigned long )config;
5718#line 200
5719  __cil_tmp32 = __cil_tmp31 + 16;
5720#line 200
5721  __cil_tmp33 = *((int *)__cil_tmp32);
5722#line 200
5723  __cil_tmp34 = __cil_tmp33 + 4;
5724#line 200
5725  __cil_tmp35 = __cil_tmp34 << 5;
5726#line 200
5727  __cil_tmp36 = (signed char )__cil_tmp35;
5728#line 200
5729  __cil_tmp37 = (int )__cil_tmp36;
5730#line 200
5731  __cil_tmp38 = tmp___2 | __cil_tmp37;
5732#line 200
5733  __cil_tmp39 = (uint8_t )__cil_tmp38;
5734#line 200
5735  __cil_tmp40 = (int )__cil_tmp39;
5736#line 200
5737  __cil_tmp41 = (uint8_t )__cil_tmp40;
5738#line 200
5739  sil164_write(client, __cil_tmp30, __cil_tmp41);
5740  }
5741  {
5742#line 205
5743  __cil_tmp42 = (unsigned long )config;
5744#line 205
5745  __cil_tmp43 = __cil_tmp42 + 12;
5746#line 205
5747  __cil_tmp44 = *((enum ldv_25622 *)__cil_tmp43);
5748#line 205
5749  __cil_tmp45 = (unsigned int )__cil_tmp44;
5750#line 205
5751  if (__cil_tmp45 == 0U) {
5752#line 205
5753    tmp___3 = 137;
5754  } else {
5755#line 205
5756    tmp___3 = 136;
5757  }
5758  }
5759  {
5760#line 205
5761  __cil_tmp46 = (uint8_t )12;
5762#line 205
5763  __cil_tmp47 = (uint8_t )tmp___3;
5764#line 205
5765  sil164_write(client, __cil_tmp46, __cil_tmp47);
5766#line 210
5767  __cil_tmp48 = (uint8_t )14;
5768#line 210
5769  __cil_tmp49 = (uint8_t )0;
5770#line 210
5771  sil164_write(client, __cil_tmp48, __cil_tmp49);
5772  }
5773#line 212
5774  if ((int )duallink) {
5775    {
5776#line 213
5777    __cil_tmp50 = (uint8_t )13;
5778#line 213
5779    __cil_tmp51 = (unsigned long )config;
5780#line 213
5781    __cil_tmp52 = __cil_tmp51 + 20;
5782#line 213
5783    __cil_tmp53 = *((int *)__cil_tmp52);
5784#line 213
5785    __cil_tmp54 = __cil_tmp53 + 4;
5786#line 213
5787    __cil_tmp55 = __cil_tmp54 << 5;
5788#line 213
5789    __cil_tmp56 = (signed char )__cil_tmp55;
5790#line 213
5791    __cil_tmp57 = (int )__cil_tmp56;
5792#line 213
5793    __cil_tmp58 = __cil_tmp57 | 16;
5794#line 213
5795    __cil_tmp59 = (uint8_t )__cil_tmp58;
5796#line 213
5797    __cil_tmp60 = (int )__cil_tmp59;
5798#line 213
5799    __cil_tmp61 = (uint8_t )__cil_tmp60;
5800#line 213
5801    sil164_write(client, __cil_tmp50, __cil_tmp61);
5802    }
5803  } else {
5804    {
5805#line 218
5806    __cil_tmp62 = (uint8_t )13;
5807#line 218
5808    __cil_tmp63 = (uint8_t )0;
5809#line 218
5810    sil164_write(client, __cil_tmp62, __cil_tmp63);
5811    }
5812  }
5813#line 219
5814  return;
5815}
5816}
5817#line 224 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5818static void sil164_encoder_set_config(struct drm_encoder *encoder , void *params ) 
5819{ struct sil164_priv *priv ;
5820  struct drm_encoder  const  *__mptr ;
5821  struct drm_encoder_slave *__cil_tmp5 ;
5822  unsigned long __cil_tmp6 ;
5823  unsigned long __cil_tmp7 ;
5824  void *__cil_tmp8 ;
5825  struct sil164_encoder_params *__cil_tmp9 ;
5826
5827  {
5828#line 226
5829  __mptr = (struct drm_encoder  const  *)encoder;
5830#line 226
5831  __cil_tmp5 = (struct drm_encoder_slave *)__mptr;
5832#line 226
5833  __cil_tmp6 = (unsigned long )__cil_tmp5;
5834#line 226
5835  __cil_tmp7 = __cil_tmp6 + 80;
5836#line 226
5837  __cil_tmp8 = *((void **)__cil_tmp7);
5838#line 226
5839  priv = (struct sil164_priv *)__cil_tmp8;
5840#line 228
5841  __cil_tmp9 = (struct sil164_encoder_params *)params;
5842#line 228
5843  *((struct sil164_encoder_params *)priv) = *__cil_tmp9;
5844#line 229
5845  return;
5846}
5847}
5848#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5849static void sil164_encoder_dpms(struct drm_encoder *encoder , int mode ) 
5850{ struct sil164_priv *priv ;
5851  struct drm_encoder  const  *__mptr ;
5852  bool on ;
5853  bool duallink ;
5854  int tmp ;
5855  struct i2c_client *tmp___0 ;
5856  struct drm_encoder_slave *__cil_tmp9 ;
5857  unsigned long __cil_tmp10 ;
5858  unsigned long __cil_tmp11 ;
5859  void *__cil_tmp12 ;
5860  int __cil_tmp13 ;
5861  unsigned long __cil_tmp14 ;
5862  unsigned long __cil_tmp15 ;
5863  unsigned long __cil_tmp16 ;
5864  struct drm_crtc *__cil_tmp17 ;
5865  unsigned long __cil_tmp18 ;
5866  unsigned long __cil_tmp19 ;
5867  int __cil_tmp20 ;
5868  int __cil_tmp21 ;
5869  bool __cil_tmp22 ;
5870  struct i2c_client *__cil_tmp23 ;
5871  unsigned long __cil_tmp24 ;
5872  unsigned long __cil_tmp25 ;
5873  unsigned long __cil_tmp26 ;
5874  struct i2c_client *__cil_tmp27 ;
5875  unsigned long __cil_tmp28 ;
5876  unsigned long __cil_tmp29 ;
5877  unsigned long __cil_tmp30 ;
5878  struct i2c_client *__cil_tmp31 ;
5879  int __cil_tmp32 ;
5880  bool __cil_tmp33 ;
5881
5882  {
5883#line 234
5884  __mptr = (struct drm_encoder  const  *)encoder;
5885#line 234
5886  __cil_tmp9 = (struct drm_encoder_slave *)__mptr;
5887#line 234
5888  __cil_tmp10 = (unsigned long )__cil_tmp9;
5889#line 234
5890  __cil_tmp11 = __cil_tmp10 + 80;
5891#line 234
5892  __cil_tmp12 = *((void **)__cil_tmp11);
5893#line 234
5894  priv = (struct sil164_priv *)__cil_tmp12;
5895#line 235
5896  __cil_tmp13 = mode == 0;
5897#line 235
5898  on = (bool )__cil_tmp13;
5899#line 236
5900  if ((int )on) {
5901    {
5902#line 236
5903    __cil_tmp14 = 48 + 64;
5904#line 236
5905    __cil_tmp15 = (unsigned long )encoder;
5906#line 236
5907    __cil_tmp16 = __cil_tmp15 + 48;
5908#line 236
5909    __cil_tmp17 = *((struct drm_crtc **)__cil_tmp16);
5910#line 236
5911    __cil_tmp18 = (unsigned long )__cil_tmp17;
5912#line 236
5913    __cil_tmp19 = __cil_tmp18 + __cil_tmp14;
5914#line 236
5915    __cil_tmp20 = *((int *)__cil_tmp19);
5916#line 236
5917    if (__cil_tmp20 > 165000) {
5918#line 236
5919      tmp = 1;
5920    } else {
5921#line 236
5922      tmp = 0;
5923    }
5924    }
5925  } else {
5926#line 236
5927    tmp = 0;
5928  }
5929  {
5930#line 236
5931  duallink = (bool )tmp;
5932#line 238
5933  tmp___0 = drm_i2c_encoder_get_client(encoder);
5934#line 238
5935  __cil_tmp21 = (int )on;
5936#line 238
5937  __cil_tmp22 = (bool )__cil_tmp21;
5938#line 238
5939  sil164_set_power_state(tmp___0, __cil_tmp22);
5940  }
5941  {
5942#line 240
5943  __cil_tmp23 = (struct i2c_client *)0;
5944#line 240
5945  __cil_tmp24 = (unsigned long )__cil_tmp23;
5946#line 240
5947  __cil_tmp25 = (unsigned long )priv;
5948#line 240
5949  __cil_tmp26 = __cil_tmp25 + 24;
5950#line 240
5951  __cil_tmp27 = *((struct i2c_client **)__cil_tmp26);
5952#line 240
5953  __cil_tmp28 = (unsigned long )__cil_tmp27;
5954#line 240
5955  if (__cil_tmp28 != __cil_tmp24) {
5956    {
5957#line 241
5958    __cil_tmp29 = (unsigned long )priv;
5959#line 241
5960    __cil_tmp30 = __cil_tmp29 + 24;
5961#line 241
5962    __cil_tmp31 = *((struct i2c_client **)__cil_tmp30);
5963#line 241
5964    __cil_tmp32 = (int )duallink;
5965#line 241
5966    __cil_tmp33 = (bool )__cil_tmp32;
5967#line 241
5968    sil164_set_power_state(__cil_tmp31, __cil_tmp33);
5969    }
5970  } else {
5971
5972  }
5973  }
5974#line 242
5975  return;
5976}
5977}
5978#line 245 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
5979static void sil164_encoder_save(struct drm_encoder *encoder ) 
5980{ struct sil164_priv *priv ;
5981  struct drm_encoder  const  *__mptr ;
5982  struct i2c_client *tmp ;
5983  struct drm_encoder_slave *__cil_tmp5 ;
5984  unsigned long __cil_tmp6 ;
5985  unsigned long __cil_tmp7 ;
5986  void *__cil_tmp8 ;
5987  unsigned long __cil_tmp9 ;
5988  unsigned long __cil_tmp10 ;
5989  uint8_t (*__cil_tmp11)[16U] ;
5990  uint8_t *__cil_tmp12 ;
5991  struct i2c_client *__cil_tmp13 ;
5992  unsigned long __cil_tmp14 ;
5993  unsigned long __cil_tmp15 ;
5994  unsigned long __cil_tmp16 ;
5995  struct i2c_client *__cil_tmp17 ;
5996  unsigned long __cil_tmp18 ;
5997  unsigned long __cil_tmp19 ;
5998  unsigned long __cil_tmp20 ;
5999  struct i2c_client *__cil_tmp21 ;
6000  unsigned long __cil_tmp22 ;
6001  unsigned long __cil_tmp23 ;
6002  uint8_t (*__cil_tmp24)[16U] ;
6003  uint8_t *__cil_tmp25 ;
6004
6005  {
6006  {
6007#line 247
6008  __mptr = (struct drm_encoder  const  *)encoder;
6009#line 247
6010  __cil_tmp5 = (struct drm_encoder_slave *)__mptr;
6011#line 247
6012  __cil_tmp6 = (unsigned long )__cil_tmp5;
6013#line 247
6014  __cil_tmp7 = __cil_tmp6 + 80;
6015#line 247
6016  __cil_tmp8 = *((void **)__cil_tmp7);
6017#line 247
6018  priv = (struct sil164_priv *)__cil_tmp8;
6019#line 249
6020  tmp = drm_i2c_encoder_get_client(encoder);
6021#line 249
6022  __cil_tmp9 = (unsigned long )priv;
6023#line 249
6024  __cil_tmp10 = __cil_tmp9 + 32;
6025#line 249
6026  __cil_tmp11 = (uint8_t (*)[16U])__cil_tmp10;
6027#line 249
6028  __cil_tmp12 = (uint8_t *)__cil_tmp11;
6029#line 249
6030  sil164_save_state(tmp, __cil_tmp12);
6031  }
6032  {
6033#line 252
6034  __cil_tmp13 = (struct i2c_client *)0;
6035#line 252
6036  __cil_tmp14 = (unsigned long )__cil_tmp13;
6037#line 252
6038  __cil_tmp15 = (unsigned long )priv;
6039#line 252
6040  __cil_tmp16 = __cil_tmp15 + 24;
6041#line 252
6042  __cil_tmp17 = *((struct i2c_client **)__cil_tmp16);
6043#line 252
6044  __cil_tmp18 = (unsigned long )__cil_tmp17;
6045#line 252
6046  if (__cil_tmp18 != __cil_tmp14) {
6047    {
6048#line 253
6049    __cil_tmp19 = (unsigned long )priv;
6050#line 253
6051    __cil_tmp20 = __cil_tmp19 + 24;
6052#line 253
6053    __cil_tmp21 = *((struct i2c_client **)__cil_tmp20);
6054#line 253
6055    __cil_tmp22 = (unsigned long )priv;
6056#line 253
6057    __cil_tmp23 = __cil_tmp22 + 48;
6058#line 253
6059    __cil_tmp24 = (uint8_t (*)[16U])__cil_tmp23;
6060#line 253
6061    __cil_tmp25 = (uint8_t *)__cil_tmp24;
6062#line 253
6063    sil164_save_state(__cil_tmp21, __cil_tmp25);
6064    }
6065  } else {
6066
6067  }
6068  }
6069#line 255
6070  return;
6071}
6072}
6073#line 258 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6074static void sil164_encoder_restore(struct drm_encoder *encoder ) 
6075{ struct sil164_priv *priv ;
6076  struct drm_encoder  const  *__mptr ;
6077  struct i2c_client *tmp ;
6078  struct drm_encoder_slave *__cil_tmp5 ;
6079  unsigned long __cil_tmp6 ;
6080  unsigned long __cil_tmp7 ;
6081  void *__cil_tmp8 ;
6082  unsigned long __cil_tmp9 ;
6083  unsigned long __cil_tmp10 ;
6084  uint8_t (*__cil_tmp11)[16U] ;
6085  uint8_t *__cil_tmp12 ;
6086  struct i2c_client *__cil_tmp13 ;
6087  unsigned long __cil_tmp14 ;
6088  unsigned long __cil_tmp15 ;
6089  unsigned long __cil_tmp16 ;
6090  struct i2c_client *__cil_tmp17 ;
6091  unsigned long __cil_tmp18 ;
6092  unsigned long __cil_tmp19 ;
6093  unsigned long __cil_tmp20 ;
6094  struct i2c_client *__cil_tmp21 ;
6095  unsigned long __cil_tmp22 ;
6096  unsigned long __cil_tmp23 ;
6097  uint8_t (*__cil_tmp24)[16U] ;
6098  uint8_t *__cil_tmp25 ;
6099
6100  {
6101  {
6102#line 260
6103  __mptr = (struct drm_encoder  const  *)encoder;
6104#line 260
6105  __cil_tmp5 = (struct drm_encoder_slave *)__mptr;
6106#line 260
6107  __cil_tmp6 = (unsigned long )__cil_tmp5;
6108#line 260
6109  __cil_tmp7 = __cil_tmp6 + 80;
6110#line 260
6111  __cil_tmp8 = *((void **)__cil_tmp7);
6112#line 260
6113  priv = (struct sil164_priv *)__cil_tmp8;
6114#line 262
6115  tmp = drm_i2c_encoder_get_client(encoder);
6116#line 262
6117  __cil_tmp9 = (unsigned long )priv;
6118#line 262
6119  __cil_tmp10 = __cil_tmp9 + 32;
6120#line 262
6121  __cil_tmp11 = (uint8_t (*)[16U])__cil_tmp10;
6122#line 262
6123  __cil_tmp12 = (uint8_t *)__cil_tmp11;
6124#line 262
6125  sil164_restore_state(tmp, __cil_tmp12);
6126  }
6127  {
6128#line 265
6129  __cil_tmp13 = (struct i2c_client *)0;
6130#line 265
6131  __cil_tmp14 = (unsigned long )__cil_tmp13;
6132#line 265
6133  __cil_tmp15 = (unsigned long )priv;
6134#line 265
6135  __cil_tmp16 = __cil_tmp15 + 24;
6136#line 265
6137  __cil_tmp17 = *((struct i2c_client **)__cil_tmp16);
6138#line 265
6139  __cil_tmp18 = (unsigned long )__cil_tmp17;
6140#line 265
6141  if (__cil_tmp18 != __cil_tmp14) {
6142    {
6143#line 266
6144    __cil_tmp19 = (unsigned long )priv;
6145#line 266
6146    __cil_tmp20 = __cil_tmp19 + 24;
6147#line 266
6148    __cil_tmp21 = *((struct i2c_client **)__cil_tmp20);
6149#line 266
6150    __cil_tmp22 = (unsigned long )priv;
6151#line 266
6152    __cil_tmp23 = __cil_tmp22 + 48;
6153#line 266
6154    __cil_tmp24 = (uint8_t (*)[16U])__cil_tmp23;
6155#line 266
6156    __cil_tmp25 = (uint8_t *)__cil_tmp24;
6157#line 266
6158    sil164_restore_state(__cil_tmp21, __cil_tmp25);
6159    }
6160  } else {
6161
6162  }
6163  }
6164#line 268
6165  return;
6166}
6167}
6168#line 271 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6169static bool sil164_encoder_mode_fixup(struct drm_encoder *encoder , struct drm_display_mode *mode ,
6170                                      struct drm_display_mode *adjusted_mode ) 
6171{ 
6172
6173  {
6174#line 275
6175  return ((bool )1);
6176}
6177}
6178#line 279 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6179static int sil164_encoder_mode_valid(struct drm_encoder *encoder , struct drm_display_mode *mode ) 
6180{ struct sil164_priv *priv ;
6181  struct drm_encoder  const  *__mptr ;
6182  struct drm_encoder_slave *__cil_tmp5 ;
6183  unsigned long __cil_tmp6 ;
6184  unsigned long __cil_tmp7 ;
6185  void *__cil_tmp8 ;
6186  unsigned long __cil_tmp9 ;
6187  unsigned long __cil_tmp10 ;
6188  int __cil_tmp11 ;
6189  unsigned long __cil_tmp12 ;
6190  unsigned long __cil_tmp13 ;
6191  int __cil_tmp14 ;
6192  unsigned long __cil_tmp15 ;
6193  unsigned long __cil_tmp16 ;
6194  int __cil_tmp17 ;
6195  struct i2c_client *__cil_tmp18 ;
6196  unsigned long __cil_tmp19 ;
6197  unsigned long __cil_tmp20 ;
6198  unsigned long __cil_tmp21 ;
6199  struct i2c_client *__cil_tmp22 ;
6200  unsigned long __cil_tmp23 ;
6201
6202  {
6203#line 282
6204  __mptr = (struct drm_encoder  const  *)encoder;
6205#line 282
6206  __cil_tmp5 = (struct drm_encoder_slave *)__mptr;
6207#line 282
6208  __cil_tmp6 = (unsigned long )__cil_tmp5;
6209#line 282
6210  __cil_tmp7 = __cil_tmp6 + 80;
6211#line 282
6212  __cil_tmp8 = *((void **)__cil_tmp7);
6213#line 282
6214  priv = (struct sil164_priv *)__cil_tmp8;
6215  {
6216#line 284
6217  __cil_tmp9 = (unsigned long )mode;
6218#line 284
6219  __cil_tmp10 = __cil_tmp9 + 64;
6220#line 284
6221  __cil_tmp11 = *((int *)__cil_tmp10);
6222#line 284
6223  if (__cil_tmp11 <= 31999) {
6224#line 285
6225    return (16);
6226  } else {
6227
6228  }
6229  }
6230  {
6231#line 287
6232  __cil_tmp12 = (unsigned long )mode;
6233#line 287
6234  __cil_tmp13 = __cil_tmp12 + 64;
6235#line 287
6236  __cil_tmp14 = *((int *)__cil_tmp13);
6237#line 287
6238  if (__cil_tmp14 > 330000) {
6239#line 289
6240    return (15);
6241  } else {
6242    {
6243#line 287
6244    __cil_tmp15 = (unsigned long )mode;
6245#line 287
6246    __cil_tmp16 = __cil_tmp15 + 64;
6247#line 287
6248    __cil_tmp17 = *((int *)__cil_tmp16);
6249#line 287
6250    if (__cil_tmp17 > 165000) {
6251      {
6252#line 287
6253      __cil_tmp18 = (struct i2c_client *)0;
6254#line 287
6255      __cil_tmp19 = (unsigned long )__cil_tmp18;
6256#line 287
6257      __cil_tmp20 = (unsigned long )priv;
6258#line 287
6259      __cil_tmp21 = __cil_tmp20 + 24;
6260#line 287
6261      __cil_tmp22 = *((struct i2c_client **)__cil_tmp21);
6262#line 287
6263      __cil_tmp23 = (unsigned long )__cil_tmp22;
6264#line 287
6265      if (__cil_tmp23 == __cil_tmp19) {
6266#line 289
6267        return (15);
6268      } else {
6269
6270      }
6271      }
6272    } else {
6273
6274    }
6275    }
6276  }
6277  }
6278#line 291
6279  return (0);
6280}
6281}
6282#line 295 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6283static void sil164_encoder_mode_set(struct drm_encoder *encoder , struct drm_display_mode *mode ,
6284                                    struct drm_display_mode *adjusted_mode ) 
6285{ struct sil164_priv *priv ;
6286  struct drm_encoder  const  *__mptr ;
6287  bool duallink ;
6288  struct i2c_client *tmp ;
6289  struct drm_encoder_slave *__cil_tmp8 ;
6290  unsigned long __cil_tmp9 ;
6291  unsigned long __cil_tmp10 ;
6292  void *__cil_tmp11 ;
6293  unsigned long __cil_tmp12 ;
6294  unsigned long __cil_tmp13 ;
6295  int __cil_tmp14 ;
6296  int __cil_tmp15 ;
6297  struct sil164_encoder_params *__cil_tmp16 ;
6298  int __cil_tmp17 ;
6299  bool __cil_tmp18 ;
6300  struct i2c_client *__cil_tmp19 ;
6301  unsigned long __cil_tmp20 ;
6302  unsigned long __cil_tmp21 ;
6303  unsigned long __cil_tmp22 ;
6304  struct i2c_client *__cil_tmp23 ;
6305  unsigned long __cil_tmp24 ;
6306  unsigned long __cil_tmp25 ;
6307  unsigned long __cil_tmp26 ;
6308  struct i2c_client *__cil_tmp27 ;
6309  struct sil164_encoder_params *__cil_tmp28 ;
6310  int __cil_tmp29 ;
6311  bool __cil_tmp30 ;
6312
6313  {
6314  {
6315#line 299
6316  __mptr = (struct drm_encoder  const  *)encoder;
6317#line 299
6318  __cil_tmp8 = (struct drm_encoder_slave *)__mptr;
6319#line 299
6320  __cil_tmp9 = (unsigned long )__cil_tmp8;
6321#line 299
6322  __cil_tmp10 = __cil_tmp9 + 80;
6323#line 299
6324  __cil_tmp11 = *((void **)__cil_tmp10);
6325#line 299
6326  priv = (struct sil164_priv *)__cil_tmp11;
6327#line 300
6328  __cil_tmp12 = (unsigned long )adjusted_mode;
6329#line 300
6330  __cil_tmp13 = __cil_tmp12 + 64;
6331#line 300
6332  __cil_tmp14 = *((int *)__cil_tmp13);
6333#line 300
6334  __cil_tmp15 = __cil_tmp14 > 165000;
6335#line 300
6336  duallink = (bool )__cil_tmp15;
6337#line 302
6338  tmp = drm_i2c_encoder_get_client(encoder);
6339#line 302
6340  __cil_tmp16 = (struct sil164_encoder_params *)priv;
6341#line 302
6342  __cil_tmp17 = (int )duallink;
6343#line 302
6344  __cil_tmp18 = (bool )__cil_tmp17;
6345#line 302
6346  sil164_init_state(tmp, __cil_tmp16, __cil_tmp18);
6347  }
6348  {
6349#line 305
6350  __cil_tmp19 = (struct i2c_client *)0;
6351#line 305
6352  __cil_tmp20 = (unsigned long )__cil_tmp19;
6353#line 305
6354  __cil_tmp21 = (unsigned long )priv;
6355#line 305
6356  __cil_tmp22 = __cil_tmp21 + 24;
6357#line 305
6358  __cil_tmp23 = *((struct i2c_client **)__cil_tmp22);
6359#line 305
6360  __cil_tmp24 = (unsigned long )__cil_tmp23;
6361#line 305
6362  if (__cil_tmp24 != __cil_tmp20) {
6363    {
6364#line 306
6365    __cil_tmp25 = (unsigned long )priv;
6366#line 306
6367    __cil_tmp26 = __cil_tmp25 + 24;
6368#line 306
6369    __cil_tmp27 = *((struct i2c_client **)__cil_tmp26);
6370#line 306
6371    __cil_tmp28 = (struct sil164_encoder_params *)priv;
6372#line 306
6373    __cil_tmp29 = (int )duallink;
6374#line 306
6375    __cil_tmp30 = (bool )__cil_tmp29;
6376#line 306
6377    sil164_init_state(__cil_tmp27, __cil_tmp28, __cil_tmp30);
6378    }
6379  } else {
6380
6381  }
6382  }
6383  {
6384#line 309
6385  sil164_encoder_dpms(encoder, 0);
6386  }
6387#line 310
6388  return;
6389}
6390}
6391#line 313 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6392static enum drm_connector_status sil164_encoder_detect(struct drm_encoder *encoder ,
6393                                                       struct drm_connector *connector ) 
6394{ struct i2c_client *client ;
6395  struct i2c_client *tmp ;
6396  uint8_t tmp___0 ;
6397  uint8_t __cil_tmp6 ;
6398  int __cil_tmp7 ;
6399  int __cil_tmp8 ;
6400
6401  {
6402  {
6403#line 316
6404  tmp = drm_i2c_encoder_get_client(encoder);
6405#line 316
6406  client = tmp;
6407#line 318
6408  __cil_tmp6 = (uint8_t )9;
6409#line 318
6410  tmp___0 = sil164_read(client, __cil_tmp6);
6411  }
6412  {
6413#line 318
6414  __cil_tmp7 = (int )tmp___0;
6415#line 318
6416  __cil_tmp8 = __cil_tmp7 & 2;
6417#line 318
6418  if (__cil_tmp8 != 0) {
6419#line 319
6420    return ((enum drm_connector_status )1);
6421  } else {
6422#line 321
6423    return ((enum drm_connector_status )2);
6424  }
6425  }
6426}
6427}
6428#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6429static int sil164_encoder_get_modes(struct drm_encoder *encoder , struct drm_connector *connector ) 
6430{ 
6431
6432  {
6433#line 328
6434  return (0);
6435}
6436}
6437#line 332 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6438static int sil164_encoder_create_resources(struct drm_encoder *encoder , struct drm_connector *connector ) 
6439{ 
6440
6441  {
6442#line 335
6443  return (0);
6444}
6445}
6446#line 339 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6447static int sil164_encoder_set_property(struct drm_encoder *encoder , struct drm_connector *connector ,
6448                                       struct drm_property *property , uint64_t val ) 
6449{ 
6450
6451  {
6452#line 344
6453  return (0);
6454}
6455}
6456#line 348 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6457static void sil164_encoder_destroy(struct drm_encoder *encoder ) 
6458{ struct sil164_priv *priv ;
6459  struct drm_encoder  const  *__mptr ;
6460  struct drm_encoder_slave *__cil_tmp4 ;
6461  unsigned long __cil_tmp5 ;
6462  unsigned long __cil_tmp6 ;
6463  void *__cil_tmp7 ;
6464  struct i2c_client *__cil_tmp8 ;
6465  unsigned long __cil_tmp9 ;
6466  unsigned long __cil_tmp10 ;
6467  unsigned long __cil_tmp11 ;
6468  struct i2c_client *__cil_tmp12 ;
6469  unsigned long __cil_tmp13 ;
6470  unsigned long __cil_tmp14 ;
6471  unsigned long __cil_tmp15 ;
6472  struct i2c_client *__cil_tmp16 ;
6473  void const   *__cil_tmp17 ;
6474
6475  {
6476#line 350
6477  __mptr = (struct drm_encoder  const  *)encoder;
6478#line 350
6479  __cil_tmp4 = (struct drm_encoder_slave *)__mptr;
6480#line 350
6481  __cil_tmp5 = (unsigned long )__cil_tmp4;
6482#line 350
6483  __cil_tmp6 = __cil_tmp5 + 80;
6484#line 350
6485  __cil_tmp7 = *((void **)__cil_tmp6);
6486#line 350
6487  priv = (struct sil164_priv *)__cil_tmp7;
6488  {
6489#line 352
6490  __cil_tmp8 = (struct i2c_client *)0;
6491#line 352
6492  __cil_tmp9 = (unsigned long )__cil_tmp8;
6493#line 352
6494  __cil_tmp10 = (unsigned long )priv;
6495#line 352
6496  __cil_tmp11 = __cil_tmp10 + 24;
6497#line 352
6498  __cil_tmp12 = *((struct i2c_client **)__cil_tmp11);
6499#line 352
6500  __cil_tmp13 = (unsigned long )__cil_tmp12;
6501#line 352
6502  if (__cil_tmp13 != __cil_tmp9) {
6503    {
6504#line 353
6505    __cil_tmp14 = (unsigned long )priv;
6506#line 353
6507    __cil_tmp15 = __cil_tmp14 + 24;
6508#line 353
6509    __cil_tmp16 = *((struct i2c_client **)__cil_tmp15);
6510#line 353
6511    i2c_unregister_device(__cil_tmp16);
6512    }
6513  } else {
6514
6515  }
6516  }
6517  {
6518#line 355
6519  __cil_tmp17 = (void const   *)priv;
6520#line 355
6521  kfree(__cil_tmp17);
6522#line 356
6523  drm_i2c_encoder_destroy(encoder);
6524  }
6525#line 357
6526  return;
6527}
6528}
6529#line 359 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6530static struct drm_encoder_slave_funcs sil164_encoder_funcs  = 
6531#line 359
6532     {& sil164_encoder_set_config, & sil164_encoder_destroy, & sil164_encoder_dpms,
6533    & sil164_encoder_save, & sil164_encoder_restore, & sil164_encoder_mode_fixup,
6534    & sil164_encoder_mode_valid, & sil164_encoder_mode_set, & sil164_encoder_detect,
6535    & sil164_encoder_get_modes, & sil164_encoder_create_resources, & sil164_encoder_set_property};
6536#line 377 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6537static int sil164_probe(struct i2c_client *client , struct i2c_device_id  const  *id ) 
6538{ int vendor ;
6539  uint8_t tmp ;
6540  uint8_t tmp___0 ;
6541  int device ;
6542  uint8_t tmp___1 ;
6543  uint8_t tmp___2 ;
6544  int rev ;
6545  uint8_t tmp___3 ;
6546  uint8_t __cil_tmp11 ;
6547  uint8_t __cil_tmp12 ;
6548  int __cil_tmp13 ;
6549  int __cil_tmp14 ;
6550  int __cil_tmp15 ;
6551  uint8_t __cil_tmp16 ;
6552  uint8_t __cil_tmp17 ;
6553  int __cil_tmp18 ;
6554  int __cil_tmp19 ;
6555  int __cil_tmp20 ;
6556  uint8_t __cil_tmp21 ;
6557  unsigned int __cil_tmp22 ;
6558  unsigned long __cil_tmp23 ;
6559  unsigned long __cil_tmp24 ;
6560  struct device *__cil_tmp25 ;
6561  struct device  const  *__cil_tmp26 ;
6562  unsigned long __cil_tmp27 ;
6563  unsigned long __cil_tmp28 ;
6564  struct device *__cil_tmp29 ;
6565  struct device  const  *__cil_tmp30 ;
6566
6567  {
6568  {
6569#line 379
6570  __cil_tmp11 = (uint8_t )1;
6571#line 379
6572  tmp = sil164_read(client, __cil_tmp11);
6573#line 379
6574  __cil_tmp12 = (uint8_t )0;
6575#line 379
6576  tmp___0 = sil164_read(client, __cil_tmp12);
6577#line 379
6578  __cil_tmp13 = (int )tmp___0;
6579#line 379
6580  __cil_tmp14 = (int )tmp;
6581#line 379
6582  __cil_tmp15 = __cil_tmp14 << 8;
6583#line 379
6584  vendor = __cil_tmp15 | __cil_tmp13;
6585#line 381
6586  __cil_tmp16 = (uint8_t )3;
6587#line 381
6588  tmp___1 = sil164_read(client, __cil_tmp16);
6589#line 381
6590  __cil_tmp17 = (uint8_t )2;
6591#line 381
6592  tmp___2 = sil164_read(client, __cil_tmp17);
6593#line 381
6594  __cil_tmp18 = (int )tmp___2;
6595#line 381
6596  __cil_tmp19 = (int )tmp___1;
6597#line 381
6598  __cil_tmp20 = __cil_tmp19 << 8;
6599#line 381
6600  device = __cil_tmp20 | __cil_tmp18;
6601#line 383
6602  __cil_tmp21 = (uint8_t )4;
6603#line 383
6604  tmp___3 = sil164_read(client, __cil_tmp21);
6605#line 383
6606  rev = (int )tmp___3;
6607  }
6608#line 385
6609  if (vendor != 1) {
6610#line 385
6611    goto _L;
6612  } else
6613#line 385
6614  if (device != 6) {
6615    _L: /* CIL Label */ 
6616    {
6617#line 386
6618    __cil_tmp22 = drm_debug & 4U;
6619#line 386
6620    if (__cil_tmp22 != 0U) {
6621      {
6622#line 386
6623      __cil_tmp23 = (unsigned long )client;
6624#line 386
6625      __cil_tmp24 = __cil_tmp23 + 40;
6626#line 386
6627      __cil_tmp25 = (struct device *)__cil_tmp24;
6628#line 386
6629      __cil_tmp26 = (struct device  const  *)__cil_tmp25;
6630#line 386
6631      dev_printk("<7>", __cil_tmp26, "%s: Unknown device %x:%x.%x\n", "sil164_probe",
6632                 vendor, device, rev);
6633      }
6634    } else {
6635
6636    }
6637    }
6638#line 388
6639    return (-19);
6640  } else {
6641
6642  }
6643  {
6644#line 391
6645  __cil_tmp27 = (unsigned long )client;
6646#line 391
6647  __cil_tmp28 = __cil_tmp27 + 40;
6648#line 391
6649  __cil_tmp29 = (struct device *)__cil_tmp28;
6650#line 391
6651  __cil_tmp30 = (struct device  const  *)__cil_tmp29;
6652#line 391
6653  _dev_info(__cil_tmp30, "Detected device %x:%x.%x\n", vendor, device, rev);
6654  }
6655#line 394
6656  return (0);
6657}
6658}
6659#line 398 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6660static int sil164_remove(struct i2c_client *client ) 
6661{ 
6662
6663  {
6664#line 400
6665  return (0);
6666}
6667}
6668#line 404 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
6669static struct i2c_client *sil164_detect_slave(struct i2c_client *client ) 
6670{ struct i2c_adapter *adap ;
6671  struct i2c_msg msg ;
6672  struct i2c_board_info info ;
6673  int tmp ;
6674  struct i2c_client *tmp___0 ;
6675  unsigned long __cil_tmp7 ;
6676  unsigned long __cil_tmp8 ;
6677  struct i2c_msg *__cil_tmp9 ;
6678  unsigned long __cil_tmp10 ;
6679  unsigned long __cil_tmp11 ;
6680  unsigned long __cil_tmp12 ;
6681  unsigned long __cil_tmp13 ;
6682  unsigned long __cil_tmp14 ;
6683  unsigned long __cil_tmp15 ;
6684  unsigned long __cil_tmp16 ;
6685  unsigned long __cil_tmp17 ;
6686  unsigned long __cil_tmp18 ;
6687  unsigned long __cil_tmp19 ;
6688  unsigned long __cil_tmp20 ;
6689  unsigned long __cil_tmp21 ;
6690  unsigned long __cil_tmp22 ;
6691  unsigned long __cil_tmp23 ;
6692  unsigned long __cil_tmp24 ;
6693  unsigned long __cil_tmp25 ;
6694  unsigned long __cil_tmp26 ;
6695  unsigned long __cil_tmp27 ;
6696  unsigned long __cil_tmp28 ;
6697  unsigned long __cil_tmp29 ;
6698  unsigned long __cil_tmp30 ;
6699  unsigned long __cil_tmp31 ;
6700  unsigned long __cil_tmp32 ;
6701  unsigned long __cil_tmp33 ;
6702  unsigned long __cil_tmp34 ;
6703  unsigned long __cil_tmp35 ;
6704  unsigned long __cil_tmp36 ;
6705  unsigned long __cil_tmp37 ;
6706  unsigned long __cil_tmp38 ;
6707  unsigned long __cil_tmp39 ;
6708  unsigned long __cil_tmp40 ;
6709  unsigned long __cil_tmp41 ;
6710  unsigned long __cil_tmp42 ;
6711  unsigned long __cil_tmp43 ;
6712  unsigned long __cil_tmp44 ;
6713  unsigned long __cil_tmp45 ;
6714  unsigned long __cil_tmp46 ;
6715  unsigned long __cil_tmp47 ;
6716  unsigned long __cil_tmp48 ;
6717  unsigned long __cil_tmp49 ;
6718  unsigned long __cil_tmp50 ;
6719  unsigned long __cil_tmp51 ;
6720  unsigned long __cil_tmp52 ;
6721  unsigned long __cil_tmp53 ;
6722  unsigned long __cil_tmp54 ;
6723  unsigned long __cil_tmp55 ;
6724  unsigned long __cil_tmp56 ;
6725  unsigned long __cil_tmp57 ;
6726  unsigned long __cil_tmp58 ;
6727  unsigned long __cil_tmp59 ;
6728  unsigned long __cil_tmp60 ;
6729  unsigned long __cil_tmp61 ;
6730  unsigned long __cil_tmp62 ;
6731  unsigned long __cil_tmp63 ;
6732  unsigned long __cil_tmp64 ;
6733  unsigned long __cil_tmp65 ;
6734  unsigned long __cil_tmp66 ;
6735  unsigned long __cil_tmp67 ;
6736  unsigned long __cil_tmp68 ;
6737  unsigned long __cil_tmp69 ;
6738  unsigned long __cil_tmp70 ;
6739  unsigned long __cil_tmp71 ;
6740  unsigned long __cil_tmp72 ;
6741  unsigned long __cil_tmp73 ;
6742  unsigned long __cil_tmp74 ;
6743  unsigned long __cil_tmp75 ;
6744  unsigned long __cil_tmp76 ;
6745  unsigned long __cil_tmp77 ;
6746  unsigned long __cil_tmp78 ;
6747  unsigned int __cil_tmp79 ;
6748  unsigned long __cil_tmp80 ;
6749  unsigned long __cil_tmp81 ;
6750  struct device *__cil_tmp82 ;
6751  struct device  const  *__cil_tmp83 ;
6752  struct i2c_board_info  const  *__cil_tmp84 ;
6753
6754  {
6755  {
6756#line 406
6757  __cil_tmp7 = (unsigned long )client;
6758#line 406
6759  __cil_tmp8 = __cil_tmp7 + 24;
6760#line 406
6761  adap = *((struct i2c_adapter **)__cil_tmp8);
6762#line 407
6763  __cil_tmp9 = & msg;
6764#line 407
6765  *((__u16 *)__cil_tmp9) = (__u16 )57U;
6766#line 407
6767  __cil_tmp10 = (unsigned long )(& msg) + 2;
6768#line 407
6769  *((__u16 *)__cil_tmp10) = (unsigned short)0;
6770#line 407
6771  __cil_tmp11 = (unsigned long )(& msg) + 4;
6772#line 407
6773  *((__u16 *)__cil_tmp11) = (__u16 )0U;
6774#line 407
6775  __cil_tmp12 = (unsigned long )(& msg) + 8;
6776#line 407
6777  *((__u8 **)__cil_tmp12) = (__u8 *)0;
6778#line 411
6779  __cil_tmp13 = 0 * 1UL;
6780#line 411
6781  __cil_tmp14 = 0 + __cil_tmp13;
6782#line 411
6783  __cil_tmp15 = (unsigned long )(& info) + __cil_tmp14;
6784#line 411
6785  *((char *)__cil_tmp15) = (char )'s';
6786#line 411
6787  __cil_tmp16 = 1 * 1UL;
6788#line 411
6789  __cil_tmp17 = 0 + __cil_tmp16;
6790#line 411
6791  __cil_tmp18 = (unsigned long )(& info) + __cil_tmp17;
6792#line 411
6793  *((char *)__cil_tmp18) = (char )'i';
6794#line 411
6795  __cil_tmp19 = 2 * 1UL;
6796#line 411
6797  __cil_tmp20 = 0 + __cil_tmp19;
6798#line 411
6799  __cil_tmp21 = (unsigned long )(& info) + __cil_tmp20;
6800#line 411
6801  *((char *)__cil_tmp21) = (char )'l';
6802#line 411
6803  __cil_tmp22 = 3 * 1UL;
6804#line 411
6805  __cil_tmp23 = 0 + __cil_tmp22;
6806#line 411
6807  __cil_tmp24 = (unsigned long )(& info) + __cil_tmp23;
6808#line 411
6809  *((char *)__cil_tmp24) = (char )'1';
6810#line 411
6811  __cil_tmp25 = 4 * 1UL;
6812#line 411
6813  __cil_tmp26 = 0 + __cil_tmp25;
6814#line 411
6815  __cil_tmp27 = (unsigned long )(& info) + __cil_tmp26;
6816#line 411
6817  *((char *)__cil_tmp27) = (char )'6';
6818#line 411
6819  __cil_tmp28 = 5 * 1UL;
6820#line 411
6821  __cil_tmp29 = 0 + __cil_tmp28;
6822#line 411
6823  __cil_tmp30 = (unsigned long )(& info) + __cil_tmp29;
6824#line 411
6825  *((char *)__cil_tmp30) = (char )'4';
6826#line 411
6827  __cil_tmp31 = 6 * 1UL;
6828#line 411
6829  __cil_tmp32 = 0 + __cil_tmp31;
6830#line 411
6831  __cil_tmp33 = (unsigned long )(& info) + __cil_tmp32;
6832#line 411
6833  *((char *)__cil_tmp33) = (char )'\000';
6834#line 411
6835  __cil_tmp34 = 7 * 1UL;
6836#line 411
6837  __cil_tmp35 = 0 + __cil_tmp34;
6838#line 411
6839  __cil_tmp36 = (unsigned long )(& info) + __cil_tmp35;
6840#line 411
6841  *((char *)__cil_tmp36) = (char)0;
6842#line 411
6843  __cil_tmp37 = 8 * 1UL;
6844#line 411
6845  __cil_tmp38 = 0 + __cil_tmp37;
6846#line 411
6847  __cil_tmp39 = (unsigned long )(& info) + __cil_tmp38;
6848#line 411
6849  *((char *)__cil_tmp39) = (char)0;
6850#line 411
6851  __cil_tmp40 = 9 * 1UL;
6852#line 411
6853  __cil_tmp41 = 0 + __cil_tmp40;
6854#line 411
6855  __cil_tmp42 = (unsigned long )(& info) + __cil_tmp41;
6856#line 411
6857  *((char *)__cil_tmp42) = (char)0;
6858#line 411
6859  __cil_tmp43 = 10 * 1UL;
6860#line 411
6861  __cil_tmp44 = 0 + __cil_tmp43;
6862#line 411
6863  __cil_tmp45 = (unsigned long )(& info) + __cil_tmp44;
6864#line 411
6865  *((char *)__cil_tmp45) = (char)0;
6866#line 411
6867  __cil_tmp46 = 11 * 1UL;
6868#line 411
6869  __cil_tmp47 = 0 + __cil_tmp46;
6870#line 411
6871  __cil_tmp48 = (unsigned long )(& info) + __cil_tmp47;
6872#line 411
6873  *((char *)__cil_tmp48) = (char)0;
6874#line 411
6875  __cil_tmp49 = 12 * 1UL;
6876#line 411
6877  __cil_tmp50 = 0 + __cil_tmp49;
6878#line 411
6879  __cil_tmp51 = (unsigned long )(& info) + __cil_tmp50;
6880#line 411
6881  *((char *)__cil_tmp51) = (char)0;
6882#line 411
6883  __cil_tmp52 = 13 * 1UL;
6884#line 411
6885  __cil_tmp53 = 0 + __cil_tmp52;
6886#line 411
6887  __cil_tmp54 = (unsigned long )(& info) + __cil_tmp53;
6888#line 411
6889  *((char *)__cil_tmp54) = (char)0;
6890#line 411
6891  __cil_tmp55 = 14 * 1UL;
6892#line 411
6893  __cil_tmp56 = 0 + __cil_tmp55;
6894#line 411
6895  __cil_tmp57 = (unsigned long )(& info) + __cil_tmp56;
6896#line 411
6897  *((char *)__cil_tmp57) = (char)0;
6898#line 411
6899  __cil_tmp58 = 15 * 1UL;
6900#line 411
6901  __cil_tmp59 = 0 + __cil_tmp58;
6902#line 411
6903  __cil_tmp60 = (unsigned long )(& info) + __cil_tmp59;
6904#line 411
6905  *((char *)__cil_tmp60) = (char)0;
6906#line 411
6907  __cil_tmp61 = 16 * 1UL;
6908#line 411
6909  __cil_tmp62 = 0 + __cil_tmp61;
6910#line 411
6911  __cil_tmp63 = (unsigned long )(& info) + __cil_tmp62;
6912#line 411
6913  *((char *)__cil_tmp63) = (char)0;
6914#line 411
6915  __cil_tmp64 = 17 * 1UL;
6916#line 411
6917  __cil_tmp65 = 0 + __cil_tmp64;
6918#line 411
6919  __cil_tmp66 = (unsigned long )(& info) + __cil_tmp65;
6920#line 411
6921  *((char *)__cil_tmp66) = (char)0;
6922#line 411
6923  __cil_tmp67 = 18 * 1UL;
6924#line 411
6925  __cil_tmp68 = 0 + __cil_tmp67;
6926#line 411
6927  __cil_tmp69 = (unsigned long )(& info) + __cil_tmp68;
6928#line 411
6929  *((char *)__cil_tmp69) = (char)0;
6930#line 411
6931  __cil_tmp70 = 19 * 1UL;
6932#line 411
6933  __cil_tmp71 = 0 + __cil_tmp70;
6934#line 411
6935  __cil_tmp72 = (unsigned long )(& info) + __cil_tmp71;
6936#line 411
6937  *((char *)__cil_tmp72) = (char)0;
6938#line 411
6939  __cil_tmp73 = (unsigned long )(& info) + 20;
6940#line 411
6941  *((unsigned short *)__cil_tmp73) = (unsigned short)0;
6942#line 411
6943  __cil_tmp74 = (unsigned long )(& info) + 22;
6944#line 411
6945  *((unsigned short *)__cil_tmp74) = (unsigned short)57;
6946#line 411
6947  __cil_tmp75 = (unsigned long )(& info) + 24;
6948#line 411
6949  *((void **)__cil_tmp75) = (void *)0;
6950#line 411
6951  __cil_tmp76 = (unsigned long )(& info) + 32;
6952#line 411
6953  *((struct dev_archdata **)__cil_tmp76) = (struct dev_archdata *)0;
6954#line 411
6955  __cil_tmp77 = (unsigned long )(& info) + 40;
6956#line 411
6957  *((struct device_node **)__cil_tmp77) = (struct device_node *)0;
6958#line 411
6959  __cil_tmp78 = (unsigned long )(& info) + 48;
6960#line 411
6961  *((int *)__cil_tmp78) = 0;
6962#line 415
6963  tmp = i2c_transfer(adap, & msg, 1);
6964  }
6965#line 415
6966  if (tmp != 1) {
6967    {
6968#line 416
6969    __cil_tmp79 = drm_debug & 4U;
6970#line 416
6971    if (__cil_tmp79 != 0U) {
6972      {
6973#line 416
6974      __cil_tmp80 = (unsigned long )adap;
6975#line 416
6976      __cil_tmp81 = __cil_tmp80 + 176;
6977#line 416
6978      __cil_tmp82 = (struct device *)__cil_tmp81;
6979#line 416
6980      __cil_tmp83 = (struct device  const  *)__cil_tmp82;
6981#line 416
6982      dev_printk("<7>", __cil_tmp83, "%s: No dual-link slave found.", "sil164_detect_slave");
6983      }
6984    } else {
6985
6986    }
6987    }
6988#line 417
6989    return ((struct i2c_client *)0);
6990  } else {
6991
6992  }
6993  {
6994#line 420
6995  __cil_tmp84 = (struct i2c_board_info  const  *)(& info);
6996#line 420
6997  tmp___0 = i2c_new_device(adap, __cil_tmp84);
6998  }
6999#line 420
7000  return (tmp___0);
7001}
7002}
7003#line 424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7004static int sil164_encoder_init(struct i2c_client *client , struct drm_device *dev ,
7005                               struct drm_encoder_slave *encoder ) 
7006{ struct sil164_priv *priv ;
7007  void *tmp ;
7008  struct sil164_priv *__cil_tmp6 ;
7009  unsigned long __cil_tmp7 ;
7010  unsigned long __cil_tmp8 ;
7011  unsigned long __cil_tmp9 ;
7012  unsigned long __cil_tmp10 ;
7013  unsigned long __cil_tmp11 ;
7014  unsigned long __cil_tmp12 ;
7015  unsigned long __cil_tmp13 ;
7016  unsigned long __cil_tmp14 ;
7017
7018  {
7019  {
7020#line 430
7021  tmp = kzalloc(64UL, 208U);
7022#line 430
7023  priv = (struct sil164_priv *)tmp;
7024  }
7025  {
7026#line 431
7027  __cil_tmp6 = (struct sil164_priv *)0;
7028#line 431
7029  __cil_tmp7 = (unsigned long )__cil_tmp6;
7030#line 431
7031  __cil_tmp8 = (unsigned long )priv;
7032#line 431
7033  if (__cil_tmp8 == __cil_tmp7) {
7034#line 432
7035    return (-12);
7036  } else {
7037
7038  }
7039  }
7040  {
7041#line 434
7042  __cil_tmp9 = (unsigned long )encoder;
7043#line 434
7044  __cil_tmp10 = __cil_tmp9 + 80;
7045#line 434
7046  *((void **)__cil_tmp10) = (void *)priv;
7047#line 435
7048  __cil_tmp11 = (unsigned long )encoder;
7049#line 435
7050  __cil_tmp12 = __cil_tmp11 + 72;
7051#line 435
7052  *((struct drm_encoder_slave_funcs **)__cil_tmp12) = & sil164_encoder_funcs;
7053#line 437
7054  __cil_tmp13 = (unsigned long )priv;
7055#line 437
7056  __cil_tmp14 = __cil_tmp13 + 24;
7057#line 437
7058  *((struct i2c_client **)__cil_tmp14) = sil164_detect_slave(client);
7059  }
7060#line 439
7061  return (0);
7062}
7063}
7064#line 442 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7065static struct i2c_device_id sil164_ids[2U]  = {      {{(char )'s', (char )'i', (char )'l', (char )'1', (char )'6', (char )'4', (char )'\000',
7066       (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
7067       (char)0, (char)0, (char)0, (char)0}, 0UL}, 
7068        {{(char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
7069       (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
7070       (char)0, (char)0}, 0UL}};
7071#line 446 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7072struct i2c_device_id  const  __mod_i2c_device_table  ;
7073#line 448 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7074static struct drm_i2c_encoder_driver sil164_driver  =    {{0U, (int (*)(struct i2c_adapter * ))0, (int (*)(struct i2c_adapter * ))0, & sil164_probe,
7075     & sil164_remove, (void (*)(struct i2c_client * ))0, (int (*)(struct i2c_client * ,
7076                                                                  pm_message_t  ))0,
7077     (int (*)(struct i2c_client * ))0, (void (*)(struct i2c_client * , unsigned int  ))0,
7078     (int (*)(struct i2c_client * , unsigned int  , void * ))0, {"sil164", (struct bus_type *)0,
7079                                                                 (struct module *)0,
7080                                                                 (char const   *)0,
7081                                                                 (_Bool)0, (struct of_device_id  const  *)0,
7082                                                                 (int (*)(struct device * ))0,
7083                                                                 (int (*)(struct device * ))0,
7084                                                                 (void (*)(struct device * ))0,
7085                                                                 (int (*)(struct device * ,
7086                                                                          pm_message_t  ))0,
7087                                                                 (int (*)(struct device * ))0,
7088                                                                 (struct attribute_group  const  **)0,
7089                                                                 (struct dev_pm_ops  const  *)0,
7090                                                                 (struct driver_private *)0},
7091     (struct i2c_device_id  const  *)(& sil164_ids), (int (*)(struct i2c_client * ,
7092                                                              struct i2c_board_info * ))0,
7093     (unsigned short const   *)0, {(struct list_head *)0, (struct list_head *)0}},
7094    & sil164_encoder_init};
7095#line 463 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7096static int sil164_init(void) 
7097{ int tmp ;
7098
7099  {
7100  {
7101#line 465
7102  tmp = drm_i2c_encoder_register(& __this_module, & sil164_driver);
7103  }
7104#line 465
7105  return (tmp);
7106}
7107}
7108#line 469 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7109static void sil164_exit(void) 
7110{ 
7111
7112  {
7113  {
7114#line 471
7115  drm_i2c_encoder_unregister(& sil164_driver);
7116  }
7117#line 472
7118  return;
7119}
7120}
7121#line 497
7122extern void ldv_check_final_state(void) ;
7123#line 500
7124extern void ldv_check_return_value(int  ) ;
7125#line 503
7126extern void ldv_initialize(void) ;
7127#line 506
7128extern int __VERIFIER_nondet_int(void) ;
7129#line 509 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7130int LDV_IN_INTERRUPT  ;
7131#line 512 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7132void main(void) 
7133{ struct drm_encoder *var_group1 ;
7134  void *var_sil164_encoder_set_config_6_p1 ;
7135  int var_sil164_encoder_dpms_7_p1 ;
7136  struct drm_display_mode *var_group2 ;
7137  struct drm_display_mode *var_sil164_encoder_mode_fixup_10_p2 ;
7138  struct drm_display_mode *var_sil164_encoder_mode_set_12_p2 ;
7139  struct drm_connector *var_group3 ;
7140  struct drm_property *var_sil164_encoder_set_property_16_p2 ;
7141  uint64_t var_sil164_encoder_set_property_16_p3 ;
7142  struct i2c_client *var_group4 ;
7143  struct i2c_device_id  const  *var_sil164_probe_18_p1 ;
7144  int res_sil164_probe_18 ;
7145  struct drm_device *var_group5 ;
7146  struct drm_encoder_slave *var_sil164_encoder_init_21_p2 ;
7147  int ldv_s_sil164_driver_drm_i2c_encoder_driver ;
7148  int tmp ;
7149  int tmp___0 ;
7150  int tmp___1 ;
7151
7152  {
7153  {
7154#line 1485
7155  ldv_s_sil164_driver_drm_i2c_encoder_driver = 0;
7156#line 1411
7157  LDV_IN_INTERRUPT = 1;
7158#line 1420
7159  ldv_initialize();
7160#line 1481
7161  tmp = sil164_init();
7162  }
7163#line 1481
7164  if (tmp != 0) {
7165#line 1482
7166    goto ldv_final;
7167  } else {
7168
7169  }
7170#line 1489
7171  goto ldv_35534;
7172  ldv_35533: 
7173  {
7174#line 1493
7175  tmp___0 = __VERIFIER_nondet_int();
7176  }
7177#line 1495
7178  if (tmp___0 == 0) {
7179#line 1495
7180    goto case_0;
7181  } else
7182#line 1566
7183  if (tmp___0 == 1) {
7184#line 1566
7185    goto case_1;
7186  } else
7187#line 1637
7188  if (tmp___0 == 2) {
7189#line 1637
7190    goto case_2;
7191  } else
7192#line 1708
7193  if (tmp___0 == 3) {
7194#line 1708
7195    goto case_3;
7196  } else
7197#line 1779
7198  if (tmp___0 == 4) {
7199#line 1779
7200    goto case_4;
7201  } else
7202#line 1850
7203  if (tmp___0 == 5) {
7204#line 1850
7205    goto case_5;
7206  } else
7207#line 1921
7208  if (tmp___0 == 6) {
7209#line 1921
7210    goto case_6;
7211  } else
7212#line 1992
7213  if (tmp___0 == 7) {
7214#line 1992
7215    goto case_7;
7216  } else
7217#line 2063
7218  if (tmp___0 == 8) {
7219#line 2063
7220    goto case_8;
7221  } else
7222#line 2134
7223  if (tmp___0 == 9) {
7224#line 2134
7225    goto case_9;
7226  } else
7227#line 2205
7228  if (tmp___0 == 10) {
7229#line 2205
7230    goto case_10;
7231  } else
7232#line 2276
7233  if (tmp___0 == 11) {
7234#line 2276
7235    goto case_11;
7236  } else
7237#line 2347
7238  if (tmp___0 == 12) {
7239#line 2347
7240    goto case_12;
7241  } else
7242#line 2421
7243  if (tmp___0 == 13) {
7244#line 2421
7245    goto case_13;
7246  } else
7247#line 2492
7248  if (tmp___0 == 14) {
7249#line 2492
7250    goto case_14;
7251  } else {
7252    {
7253#line 2563
7254    goto switch_default;
7255#line 1493
7256    if (0) {
7257      case_0: /* CIL Label */ 
7258      {
7259#line 1558
7260      sil164_encoder_set_config(var_group1, var_sil164_encoder_set_config_6_p1);
7261      }
7262#line 1565
7263      goto ldv_35516;
7264      case_1: /* CIL Label */ 
7265      {
7266#line 1629
7267      sil164_encoder_destroy(var_group1);
7268      }
7269#line 1636
7270      goto ldv_35516;
7271      case_2: /* CIL Label */ 
7272      {
7273#line 1700
7274      sil164_encoder_dpms(var_group1, var_sil164_encoder_dpms_7_p1);
7275      }
7276#line 1707
7277      goto ldv_35516;
7278      case_3: /* CIL Label */ 
7279      {
7280#line 1771
7281      sil164_encoder_save(var_group1);
7282      }
7283#line 1778
7284      goto ldv_35516;
7285      case_4: /* CIL Label */ 
7286      {
7287#line 1842
7288      sil164_encoder_restore(var_group1);
7289      }
7290#line 1849
7291      goto ldv_35516;
7292      case_5: /* CIL Label */ 
7293      {
7294#line 1913
7295      sil164_encoder_mode_fixup(var_group1, var_group2, var_sil164_encoder_mode_fixup_10_p2);
7296      }
7297#line 1920
7298      goto ldv_35516;
7299      case_6: /* CIL Label */ 
7300      {
7301#line 1984
7302      sil164_encoder_mode_valid(var_group1, var_group2);
7303      }
7304#line 1991
7305      goto ldv_35516;
7306      case_7: /* CIL Label */ 
7307      {
7308#line 2055
7309      sil164_encoder_mode_set(var_group1, var_group2, var_sil164_encoder_mode_set_12_p2);
7310      }
7311#line 2062
7312      goto ldv_35516;
7313      case_8: /* CIL Label */ 
7314      {
7315#line 2126
7316      sil164_encoder_detect(var_group1, var_group3);
7317      }
7318#line 2133
7319      goto ldv_35516;
7320      case_9: /* CIL Label */ 
7321      {
7322#line 2197
7323      sil164_encoder_get_modes(var_group1, var_group3);
7324      }
7325#line 2204
7326      goto ldv_35516;
7327      case_10: /* CIL Label */ 
7328      {
7329#line 2268
7330      sil164_encoder_create_resources(var_group1, var_group3);
7331      }
7332#line 2275
7333      goto ldv_35516;
7334      case_11: /* CIL Label */ 
7335      {
7336#line 2339
7337      sil164_encoder_set_property(var_group1, var_group3, var_sil164_encoder_set_property_16_p2,
7338                                  var_sil164_encoder_set_property_16_p3);
7339      }
7340#line 2346
7341      goto ldv_35516;
7342      case_12: /* CIL Label */ ;
7343#line 2350
7344      if (ldv_s_sil164_driver_drm_i2c_encoder_driver == 0) {
7345        {
7346#line 2410
7347        res_sil164_probe_18 = sil164_probe(var_group4, var_sil164_probe_18_p1);
7348#line 2411
7349        ldv_check_return_value(res_sil164_probe_18);
7350        }
7351#line 2412
7352        if (res_sil164_probe_18 != 0) {
7353#line 2413
7354          goto ldv_module_exit;
7355        } else {
7356
7357        }
7358#line 2414
7359        ldv_s_sil164_driver_drm_i2c_encoder_driver = 0;
7360      } else {
7361
7362      }
7363#line 2420
7364      goto ldv_35516;
7365      case_13: /* CIL Label */ 
7366      {
7367#line 2484
7368      sil164_remove(var_group4);
7369      }
7370#line 2491
7371      goto ldv_35516;
7372      case_14: /* CIL Label */ 
7373      {
7374#line 2555
7375      sil164_encoder_init(var_group4, var_group5, var_sil164_encoder_init_21_p2);
7376      }
7377#line 2562
7378      goto ldv_35516;
7379      switch_default: /* CIL Label */ ;
7380#line 2563
7381      goto ldv_35516;
7382    } else {
7383      switch_break: /* CIL Label */ ;
7384    }
7385    }
7386  }
7387  ldv_35516: ;
7388  ldv_35534: 
7389  {
7390#line 1489
7391  tmp___1 = __VERIFIER_nondet_int();
7392  }
7393#line 1489
7394  if (tmp___1 != 0) {
7395#line 1491
7396    goto ldv_35533;
7397  } else
7398#line 1489
7399  if (ldv_s_sil164_driver_drm_i2c_encoder_driver != 0) {
7400#line 1491
7401    goto ldv_35533;
7402  } else {
7403#line 1493
7404    goto ldv_35535;
7405  }
7406  ldv_35535: ;
7407  ldv_module_exit: 
7408  {
7409#line 2630
7410  sil164_exit();
7411  }
7412  ldv_final: 
7413  {
7414#line 2633
7415  ldv_check_final_state();
7416  }
7417#line 2636
7418  return;
7419}
7420}
7421#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
7422void ldv_blast_assert(void) 
7423{ 
7424
7425  {
7426  ERROR: ;
7427#line 6
7428  goto ERROR;
7429}
7430}
7431#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
7432extern int __VERIFIER_nondet_int(void) ;
7433#line 2657 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7434int ldv_spin  =    0;
7435#line 2661 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7436void ldv_check_alloc_flags(gfp_t flags ) 
7437{ 
7438
7439  {
7440#line 2664
7441  if (ldv_spin != 0) {
7442#line 2664
7443    if (flags != 32U) {
7444      {
7445#line 2664
7446      ldv_blast_assert();
7447      }
7448    } else {
7449
7450    }
7451  } else {
7452
7453  }
7454#line 2667
7455  return;
7456}
7457}
7458#line 2667
7459extern struct page *ldv_some_page(void) ;
7460#line 2670 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7461struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
7462{ struct page *tmp ;
7463
7464  {
7465#line 2673
7466  if (ldv_spin != 0) {
7467#line 2673
7468    if (flags != 32U) {
7469      {
7470#line 2673
7471      ldv_blast_assert();
7472      }
7473    } else {
7474
7475    }
7476  } else {
7477
7478  }
7479  {
7480#line 2675
7481  tmp = ldv_some_page();
7482  }
7483#line 2675
7484  return (tmp);
7485}
7486}
7487#line 2679 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7488void ldv_check_alloc_nonatomic(void) 
7489{ 
7490
7491  {
7492#line 2682
7493  if (ldv_spin != 0) {
7494    {
7495#line 2682
7496    ldv_blast_assert();
7497    }
7498  } else {
7499
7500  }
7501#line 2685
7502  return;
7503}
7504}
7505#line 2686 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7506void ldv_spin_lock(void) 
7507{ 
7508
7509  {
7510#line 2689
7511  ldv_spin = 1;
7512#line 2690
7513  return;
7514}
7515}
7516#line 2693 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7517void ldv_spin_unlock(void) 
7518{ 
7519
7520  {
7521#line 2696
7522  ldv_spin = 0;
7523#line 2697
7524  return;
7525}
7526}
7527#line 2700 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7528int ldv_spin_trylock(void) 
7529{ int is_lock ;
7530
7531  {
7532  {
7533#line 2705
7534  is_lock = __VERIFIER_nondet_int();
7535  }
7536#line 2707
7537  if (is_lock != 0) {
7538#line 2710
7539    return (0);
7540  } else {
7541#line 2715
7542    ldv_spin = 1;
7543#line 2717
7544    return (1);
7545  }
7546}
7547}
7548#line 2884 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7549void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
7550{ 
7551
7552  {
7553  {
7554#line 2890
7555  ldv_check_alloc_flags(ldv_func_arg2);
7556#line 2892
7557  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
7558  }
7559#line 2893
7560  return ((void *)0);
7561}
7562}
7563#line 2895 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/255/dscv_tempdir/dscv/ri/43_1a/drivers/gpu/drm/i2c/sil164_drv.c.p"
7564__inline static void *kzalloc(size_t size , gfp_t flags ) 
7565{ void *tmp ;
7566
7567  {
7568  {
7569#line 2901
7570  ldv_check_alloc_flags(flags);
7571#line 2902
7572  tmp = __VERIFIER_nondet_pointer();
7573  }
7574#line 2902
7575  return (tmp);
7576}
7577}