Showing error 1304

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--video--matrox--i2c-matroxfb.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 6117
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 31 "include/asm-generic/posix_types.h"
  39typedef int __kernel_pid_t;
  40#line 52 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_uid32_t;
  42#line 53 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_gid32_t;
  44#line 75 "include/asm-generic/posix_types.h"
  45typedef __kernel_ulong_t __kernel_size_t;
  46#line 76 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_ssize_t;
  48#line 91 "include/asm-generic/posix_types.h"
  49typedef long long __kernel_loff_t;
  50#line 92 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_time_t;
  52#line 93 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_clock_t;
  54#line 94 "include/asm-generic/posix_types.h"
  55typedef int __kernel_timer_t;
  56#line 95 "include/asm-generic/posix_types.h"
  57typedef int __kernel_clockid_t;
  58#line 21 "include/linux/types.h"
  59typedef __u32 __kernel_dev_t;
  60#line 24 "include/linux/types.h"
  61typedef __kernel_dev_t dev_t;
  62#line 27 "include/linux/types.h"
  63typedef unsigned short umode_t;
  64#line 30 "include/linux/types.h"
  65typedef __kernel_pid_t pid_t;
  66#line 35 "include/linux/types.h"
  67typedef __kernel_clockid_t clockid_t;
  68#line 38 "include/linux/types.h"
  69typedef _Bool bool;
  70#line 40 "include/linux/types.h"
  71typedef __kernel_uid32_t uid_t;
  72#line 41 "include/linux/types.h"
  73typedef __kernel_gid32_t gid_t;
  74#line 54 "include/linux/types.h"
  75typedef __kernel_loff_t loff_t;
  76#line 63 "include/linux/types.h"
  77typedef __kernel_size_t size_t;
  78#line 68 "include/linux/types.h"
  79typedef __kernel_ssize_t ssize_t;
  80#line 78 "include/linux/types.h"
  81typedef __kernel_time_t time_t;
  82#line 106 "include/linux/types.h"
  83typedef __u8 u_int8_t;
  84#line 108 "include/linux/types.h"
  85typedef __u16 u_int16_t;
  86#line 110 "include/linux/types.h"
  87typedef __u32 u_int32_t;
  88#line 111 "include/linux/types.h"
  89typedef __s32 int32_t;
  90#line 117 "include/linux/types.h"
  91typedef __u32 uint32_t;
  92#line 142 "include/linux/types.h"
  93typedef unsigned long sector_t;
  94#line 143 "include/linux/types.h"
  95typedef unsigned long blkcnt_t;
  96#line 155 "include/linux/types.h"
  97typedef u64 dma_addr_t;
  98#line 202 "include/linux/types.h"
  99typedef unsigned int gfp_t;
 100#line 203 "include/linux/types.h"
 101typedef unsigned int fmode_t;
 102#line 206 "include/linux/types.h"
 103typedef u64 phys_addr_t;
 104#line 211 "include/linux/types.h"
 105typedef phys_addr_t resource_size_t;
 106#line 221 "include/linux/types.h"
 107struct __anonstruct_atomic_t_6 {
 108   int counter ;
 109};
 110#line 221 "include/linux/types.h"
 111typedef struct __anonstruct_atomic_t_6 atomic_t;
 112#line 226 "include/linux/types.h"
 113struct __anonstruct_atomic64_t_7 {
 114   long counter ;
 115};
 116#line 226 "include/linux/types.h"
 117typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 118#line 227 "include/linux/types.h"
 119struct list_head {
 120   struct list_head *next ;
 121   struct list_head *prev ;
 122};
 123#line 232
 124struct hlist_node;
 125#line 232 "include/linux/types.h"
 126struct hlist_head {
 127   struct hlist_node *first ;
 128};
 129#line 236 "include/linux/types.h"
 130struct hlist_node {
 131   struct hlist_node *next ;
 132   struct hlist_node **pprev ;
 133};
 134#line 247 "include/linux/types.h"
 135struct rcu_head {
 136   struct rcu_head *next ;
 137   void (*func)(struct rcu_head * ) ;
 138};
 139#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 140struct module;
 141#line 55
 142struct module;
 143#line 146 "include/linux/init.h"
 144typedef void (*ctor_fn_t)(void);
 145#line 46 "include/linux/dynamic_debug.h"
 146struct device;
 147#line 46
 148struct device;
 149#line 57
 150struct completion;
 151#line 57
 152struct completion;
 153#line 58
 154struct pt_regs;
 155#line 58
 156struct pt_regs;
 157#line 348 "include/linux/kernel.h"
 158struct pid;
 159#line 348
 160struct pid;
 161#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 162struct timespec;
 163#line 112
 164struct timespec;
 165#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 166struct page;
 167#line 58
 168struct page;
 169#line 26 "include/asm-generic/getorder.h"
 170struct task_struct;
 171#line 26
 172struct task_struct;
 173#line 28
 174struct mm_struct;
 175#line 28
 176struct mm_struct;
 177#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 178struct pt_regs {
 179   unsigned long r15 ;
 180   unsigned long r14 ;
 181   unsigned long r13 ;
 182   unsigned long r12 ;
 183   unsigned long bp ;
 184   unsigned long bx ;
 185   unsigned long r11 ;
 186   unsigned long r10 ;
 187   unsigned long r9 ;
 188   unsigned long r8 ;
 189   unsigned long ax ;
 190   unsigned long cx ;
 191   unsigned long dx ;
 192   unsigned long si ;
 193   unsigned long di ;
 194   unsigned long orig_ax ;
 195   unsigned long ip ;
 196   unsigned long cs ;
 197   unsigned long flags ;
 198   unsigned long sp ;
 199   unsigned long ss ;
 200};
 201#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 202struct __anonstruct_ldv_2180_13 {
 203   unsigned int a ;
 204   unsigned int b ;
 205};
 206#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 207struct __anonstruct_ldv_2195_14 {
 208   u16 limit0 ;
 209   u16 base0 ;
 210   unsigned char base1 ;
 211   unsigned char type : 4 ;
 212   unsigned char s : 1 ;
 213   unsigned char dpl : 2 ;
 214   unsigned char p : 1 ;
 215   unsigned char limit : 4 ;
 216   unsigned char avl : 1 ;
 217   unsigned char l : 1 ;
 218   unsigned char d : 1 ;
 219   unsigned char g : 1 ;
 220   unsigned char base2 ;
 221};
 222#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 223union __anonunion_ldv_2196_12 {
 224   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 225   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 226};
 227#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 228struct desc_struct {
 229   union __anonunion_ldv_2196_12 ldv_2196 ;
 230};
 231#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 232typedef unsigned long pgdval_t;
 233#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 234typedef unsigned long pgprotval_t;
 235#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 236struct pgprot {
 237   pgprotval_t pgprot ;
 238};
 239#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 240typedef struct pgprot pgprot_t;
 241#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 242struct __anonstruct_pgd_t_16 {
 243   pgdval_t pgd ;
 244};
 245#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 246typedef struct __anonstruct_pgd_t_16 pgd_t;
 247#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 248typedef struct page *pgtable_t;
 249#line 290
 250struct file;
 251#line 290
 252struct file;
 253#line 305
 254struct seq_file;
 255#line 305
 256struct seq_file;
 257#line 337
 258struct thread_struct;
 259#line 337
 260struct thread_struct;
 261#line 339
 262struct cpumask;
 263#line 339
 264struct cpumask;
 265#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 266struct arch_spinlock;
 267#line 327
 268struct arch_spinlock;
 269#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 270struct kernel_vm86_regs {
 271   struct pt_regs pt ;
 272   unsigned short es ;
 273   unsigned short __esh ;
 274   unsigned short ds ;
 275   unsigned short __dsh ;
 276   unsigned short fs ;
 277   unsigned short __fsh ;
 278   unsigned short gs ;
 279   unsigned short __gsh ;
 280};
 281#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 282union __anonunion_ldv_2824_19 {
 283   struct pt_regs *regs ;
 284   struct kernel_vm86_regs *vm86 ;
 285};
 286#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 287struct math_emu_info {
 288   long ___orig_eip ;
 289   union __anonunion_ldv_2824_19 ldv_2824 ;
 290};
 291#line 306 "include/linux/bitmap.h"
 292struct bug_entry {
 293   int bug_addr_disp ;
 294   int file_disp ;
 295   unsigned short line ;
 296   unsigned short flags ;
 297};
 298#line 89 "include/linux/bug.h"
 299struct cpumask {
 300   unsigned long bits[64U] ;
 301};
 302#line 14 "include/linux/cpumask.h"
 303typedef struct cpumask cpumask_t;
 304#line 637 "include/linux/cpumask.h"
 305typedef struct cpumask *cpumask_var_t;
 306#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 307struct static_key;
 308#line 234
 309struct static_key;
 310#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 311struct i387_fsave_struct {
 312   u32 cwd ;
 313   u32 swd ;
 314   u32 twd ;
 315   u32 fip ;
 316   u32 fcs ;
 317   u32 foo ;
 318   u32 fos ;
 319   u32 st_space[20U] ;
 320   u32 status ;
 321};
 322#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 323struct __anonstruct_ldv_5180_24 {
 324   u64 rip ;
 325   u64 rdp ;
 326};
 327#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 328struct __anonstruct_ldv_5186_25 {
 329   u32 fip ;
 330   u32 fcs ;
 331   u32 foo ;
 332   u32 fos ;
 333};
 334#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 335union __anonunion_ldv_5187_23 {
 336   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 337   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 338};
 339#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 340union __anonunion_ldv_5196_26 {
 341   u32 padding1[12U] ;
 342   u32 sw_reserved[12U] ;
 343};
 344#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 345struct i387_fxsave_struct {
 346   u16 cwd ;
 347   u16 swd ;
 348   u16 twd ;
 349   u16 fop ;
 350   union __anonunion_ldv_5187_23 ldv_5187 ;
 351   u32 mxcsr ;
 352   u32 mxcsr_mask ;
 353   u32 st_space[32U] ;
 354   u32 xmm_space[64U] ;
 355   u32 padding[12U] ;
 356   union __anonunion_ldv_5196_26 ldv_5196 ;
 357};
 358#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 359struct i387_soft_struct {
 360   u32 cwd ;
 361   u32 swd ;
 362   u32 twd ;
 363   u32 fip ;
 364   u32 fcs ;
 365   u32 foo ;
 366   u32 fos ;
 367   u32 st_space[20U] ;
 368   u8 ftop ;
 369   u8 changed ;
 370   u8 lookahead ;
 371   u8 no_update ;
 372   u8 rm ;
 373   u8 alimit ;
 374   struct math_emu_info *info ;
 375   u32 entry_eip ;
 376};
 377#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 378struct ymmh_struct {
 379   u32 ymmh_space[64U] ;
 380};
 381#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 382struct xsave_hdr_struct {
 383   u64 xstate_bv ;
 384   u64 reserved1[2U] ;
 385   u64 reserved2[5U] ;
 386};
 387#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 388struct xsave_struct {
 389   struct i387_fxsave_struct i387 ;
 390   struct xsave_hdr_struct xsave_hdr ;
 391   struct ymmh_struct ymmh ;
 392};
 393#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 394union thread_xstate {
 395   struct i387_fsave_struct fsave ;
 396   struct i387_fxsave_struct fxsave ;
 397   struct i387_soft_struct soft ;
 398   struct xsave_struct xsave ;
 399};
 400#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 401struct fpu {
 402   unsigned int last_cpu ;
 403   unsigned int has_fpu ;
 404   union thread_xstate *state ;
 405};
 406#line 433
 407struct kmem_cache;
 408#line 434
 409struct perf_event;
 410#line 434
 411struct perf_event;
 412#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 413struct thread_struct {
 414   struct desc_struct tls_array[3U] ;
 415   unsigned long sp0 ;
 416   unsigned long sp ;
 417   unsigned long usersp ;
 418   unsigned short es ;
 419   unsigned short ds ;
 420   unsigned short fsindex ;
 421   unsigned short gsindex ;
 422   unsigned long fs ;
 423   unsigned long gs ;
 424   struct perf_event *ptrace_bps[4U] ;
 425   unsigned long debugreg6 ;
 426   unsigned long ptrace_dr7 ;
 427   unsigned long cr2 ;
 428   unsigned long trap_nr ;
 429   unsigned long error_code ;
 430   struct fpu fpu ;
 431   unsigned long *io_bitmap_ptr ;
 432   unsigned long iopl ;
 433   unsigned int io_bitmap_max ;
 434};
 435#line 23 "include/asm-generic/atomic-long.h"
 436typedef atomic64_t atomic_long_t;
 437#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 438typedef u16 __ticket_t;
 439#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 440typedef u32 __ticketpair_t;
 441#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 442struct __raw_tickets {
 443   __ticket_t head ;
 444   __ticket_t tail ;
 445};
 446#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 447union __anonunion_ldv_5907_29 {
 448   __ticketpair_t head_tail ;
 449   struct __raw_tickets tickets ;
 450};
 451#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 452struct arch_spinlock {
 453   union __anonunion_ldv_5907_29 ldv_5907 ;
 454};
 455#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 456typedef struct arch_spinlock arch_spinlock_t;
 457#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 458struct __anonstruct_ldv_5914_31 {
 459   u32 read ;
 460   s32 write ;
 461};
 462#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 463union __anonunion_arch_rwlock_t_30 {
 464   s64 lock ;
 465   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 466};
 467#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 468typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 469#line 34
 470struct lockdep_map;
 471#line 34
 472struct lockdep_map;
 473#line 55 "include/linux/debug_locks.h"
 474struct stack_trace {
 475   unsigned int nr_entries ;
 476   unsigned int max_entries ;
 477   unsigned long *entries ;
 478   int skip ;
 479};
 480#line 26 "include/linux/stacktrace.h"
 481struct lockdep_subclass_key {
 482   char __one_byte ;
 483};
 484#line 53 "include/linux/lockdep.h"
 485struct lock_class_key {
 486   struct lockdep_subclass_key subkeys[8U] ;
 487};
 488#line 59 "include/linux/lockdep.h"
 489struct lock_class {
 490   struct list_head hash_entry ;
 491   struct list_head lock_entry ;
 492   struct lockdep_subclass_key *key ;
 493   unsigned int subclass ;
 494   unsigned int dep_gen_id ;
 495   unsigned long usage_mask ;
 496   struct stack_trace usage_traces[13U] ;
 497   struct list_head locks_after ;
 498   struct list_head locks_before ;
 499   unsigned int version ;
 500   unsigned long ops ;
 501   char const   *name ;
 502   int name_version ;
 503   unsigned long contention_point[4U] ;
 504   unsigned long contending_point[4U] ;
 505};
 506#line 144 "include/linux/lockdep.h"
 507struct lockdep_map {
 508   struct lock_class_key *key ;
 509   struct lock_class *class_cache[2U] ;
 510   char const   *name ;
 511   int cpu ;
 512   unsigned long ip ;
 513};
 514#line 187 "include/linux/lockdep.h"
 515struct held_lock {
 516   u64 prev_chain_key ;
 517   unsigned long acquire_ip ;
 518   struct lockdep_map *instance ;
 519   struct lockdep_map *nest_lock ;
 520   u64 waittime_stamp ;
 521   u64 holdtime_stamp ;
 522   unsigned short class_idx : 13 ;
 523   unsigned char irq_context : 2 ;
 524   unsigned char trylock : 1 ;
 525   unsigned char read : 2 ;
 526   unsigned char check : 2 ;
 527   unsigned char hardirqs_off : 1 ;
 528   unsigned short references : 11 ;
 529};
 530#line 556 "include/linux/lockdep.h"
 531struct raw_spinlock {
 532   arch_spinlock_t raw_lock ;
 533   unsigned int magic ;
 534   unsigned int owner_cpu ;
 535   void *owner ;
 536   struct lockdep_map dep_map ;
 537};
 538#line 32 "include/linux/spinlock_types.h"
 539typedef struct raw_spinlock raw_spinlock_t;
 540#line 33 "include/linux/spinlock_types.h"
 541struct __anonstruct_ldv_6122_33 {
 542   u8 __padding[24U] ;
 543   struct lockdep_map dep_map ;
 544};
 545#line 33 "include/linux/spinlock_types.h"
 546union __anonunion_ldv_6123_32 {
 547   struct raw_spinlock rlock ;
 548   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 549};
 550#line 33 "include/linux/spinlock_types.h"
 551struct spinlock {
 552   union __anonunion_ldv_6123_32 ldv_6123 ;
 553};
 554#line 76 "include/linux/spinlock_types.h"
 555typedef struct spinlock spinlock_t;
 556#line 23 "include/linux/rwlock_types.h"
 557struct __anonstruct_rwlock_t_34 {
 558   arch_rwlock_t raw_lock ;
 559   unsigned int magic ;
 560   unsigned int owner_cpu ;
 561   void *owner ;
 562   struct lockdep_map dep_map ;
 563};
 564#line 23 "include/linux/rwlock_types.h"
 565typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 566#line 110 "include/linux/seqlock.h"
 567struct seqcount {
 568   unsigned int sequence ;
 569};
 570#line 121 "include/linux/seqlock.h"
 571typedef struct seqcount seqcount_t;
 572#line 254 "include/linux/seqlock.h"
 573struct timespec {
 574   __kernel_time_t tv_sec ;
 575   long tv_nsec ;
 576};
 577#line 286 "include/linux/time.h"
 578struct kstat {
 579   u64 ino ;
 580   dev_t dev ;
 581   umode_t mode ;
 582   unsigned int nlink ;
 583   uid_t uid ;
 584   gid_t gid ;
 585   dev_t rdev ;
 586   loff_t size ;
 587   struct timespec atime ;
 588   struct timespec mtime ;
 589   struct timespec ctime ;
 590   unsigned long blksize ;
 591   unsigned long long blocks ;
 592};
 593#line 48 "include/linux/wait.h"
 594struct __wait_queue_head {
 595   spinlock_t lock ;
 596   struct list_head task_list ;
 597};
 598#line 53 "include/linux/wait.h"
 599typedef struct __wait_queue_head wait_queue_head_t;
 600#line 98 "include/linux/nodemask.h"
 601struct __anonstruct_nodemask_t_36 {
 602   unsigned long bits[16U] ;
 603};
 604#line 98 "include/linux/nodemask.h"
 605typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 606#line 670 "include/linux/mmzone.h"
 607struct mutex {
 608   atomic_t count ;
 609   spinlock_t wait_lock ;
 610   struct list_head wait_list ;
 611   struct task_struct *owner ;
 612   char const   *name ;
 613   void *magic ;
 614   struct lockdep_map dep_map ;
 615};
 616#line 63 "include/linux/mutex.h"
 617struct mutex_waiter {
 618   struct list_head list ;
 619   struct task_struct *task ;
 620   void *magic ;
 621};
 622#line 171
 623struct rw_semaphore;
 624#line 171
 625struct rw_semaphore;
 626#line 172 "include/linux/mutex.h"
 627struct rw_semaphore {
 628   long count ;
 629   raw_spinlock_t wait_lock ;
 630   struct list_head wait_list ;
 631   struct lockdep_map dep_map ;
 632};
 633#line 128 "include/linux/rwsem.h"
 634struct completion {
 635   unsigned int done ;
 636   wait_queue_head_t wait ;
 637};
 638#line 188 "include/linux/rcupdate.h"
 639struct notifier_block;
 640#line 188
 641struct notifier_block;
 642#line 239 "include/linux/srcu.h"
 643struct notifier_block {
 644   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 645   struct notifier_block *next ;
 646   int priority ;
 647};
 648#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 649struct resource {
 650   resource_size_t start ;
 651   resource_size_t end ;
 652   char const   *name ;
 653   unsigned long flags ;
 654   struct resource *parent ;
 655   struct resource *sibling ;
 656   struct resource *child ;
 657};
 658#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 659struct pci_dev;
 660#line 181
 661struct pci_dev;
 662#line 312 "include/linux/jiffies.h"
 663union ktime {
 664   s64 tv64 ;
 665};
 666#line 59 "include/linux/ktime.h"
 667typedef union ktime ktime_t;
 668#line 341
 669struct tvec_base;
 670#line 341
 671struct tvec_base;
 672#line 342 "include/linux/ktime.h"
 673struct timer_list {
 674   struct list_head entry ;
 675   unsigned long expires ;
 676   struct tvec_base *base ;
 677   void (*function)(unsigned long  ) ;
 678   unsigned long data ;
 679   int slack ;
 680   int start_pid ;
 681   void *start_site ;
 682   char start_comm[16U] ;
 683   struct lockdep_map lockdep_map ;
 684};
 685#line 289 "include/linux/timer.h"
 686struct hrtimer;
 687#line 289
 688struct hrtimer;
 689#line 290
 690enum hrtimer_restart;
 691#line 302
 692struct work_struct;
 693#line 302
 694struct work_struct;
 695#line 45 "include/linux/workqueue.h"
 696struct work_struct {
 697   atomic_long_t data ;
 698   struct list_head entry ;
 699   void (*func)(struct work_struct * ) ;
 700   struct lockdep_map lockdep_map ;
 701};
 702#line 86 "include/linux/workqueue.h"
 703struct delayed_work {
 704   struct work_struct work ;
 705   struct timer_list timer ;
 706};
 707#line 46 "include/linux/pm.h"
 708struct pm_message {
 709   int event ;
 710};
 711#line 52 "include/linux/pm.h"
 712typedef struct pm_message pm_message_t;
 713#line 53 "include/linux/pm.h"
 714struct dev_pm_ops {
 715   int (*prepare)(struct device * ) ;
 716   void (*complete)(struct device * ) ;
 717   int (*suspend)(struct device * ) ;
 718   int (*resume)(struct device * ) ;
 719   int (*freeze)(struct device * ) ;
 720   int (*thaw)(struct device * ) ;
 721   int (*poweroff)(struct device * ) ;
 722   int (*restore)(struct device * ) ;
 723   int (*suspend_late)(struct device * ) ;
 724   int (*resume_early)(struct device * ) ;
 725   int (*freeze_late)(struct device * ) ;
 726   int (*thaw_early)(struct device * ) ;
 727   int (*poweroff_late)(struct device * ) ;
 728   int (*restore_early)(struct device * ) ;
 729   int (*suspend_noirq)(struct device * ) ;
 730   int (*resume_noirq)(struct device * ) ;
 731   int (*freeze_noirq)(struct device * ) ;
 732   int (*thaw_noirq)(struct device * ) ;
 733   int (*poweroff_noirq)(struct device * ) ;
 734   int (*restore_noirq)(struct device * ) ;
 735   int (*runtime_suspend)(struct device * ) ;
 736   int (*runtime_resume)(struct device * ) ;
 737   int (*runtime_idle)(struct device * ) ;
 738};
 739#line 289
 740enum rpm_status {
 741    RPM_ACTIVE = 0,
 742    RPM_RESUMING = 1,
 743    RPM_SUSPENDED = 2,
 744    RPM_SUSPENDING = 3
 745} ;
 746#line 296
 747enum rpm_request {
 748    RPM_REQ_NONE = 0,
 749    RPM_REQ_IDLE = 1,
 750    RPM_REQ_SUSPEND = 2,
 751    RPM_REQ_AUTOSUSPEND = 3,
 752    RPM_REQ_RESUME = 4
 753} ;
 754#line 304
 755struct wakeup_source;
 756#line 304
 757struct wakeup_source;
 758#line 494 "include/linux/pm.h"
 759struct pm_subsys_data {
 760   spinlock_t lock ;
 761   unsigned int refcount ;
 762};
 763#line 499
 764struct dev_pm_qos_request;
 765#line 499
 766struct pm_qos_constraints;
 767#line 499 "include/linux/pm.h"
 768struct dev_pm_info {
 769   pm_message_t power_state ;
 770   unsigned char can_wakeup : 1 ;
 771   unsigned char async_suspend : 1 ;
 772   bool is_prepared ;
 773   bool is_suspended ;
 774   bool ignore_children ;
 775   spinlock_t lock ;
 776   struct list_head entry ;
 777   struct completion completion ;
 778   struct wakeup_source *wakeup ;
 779   bool wakeup_path ;
 780   struct timer_list suspend_timer ;
 781   unsigned long timer_expires ;
 782   struct work_struct work ;
 783   wait_queue_head_t wait_queue ;
 784   atomic_t usage_count ;
 785   atomic_t child_count ;
 786   unsigned char disable_depth : 3 ;
 787   unsigned char idle_notification : 1 ;
 788   unsigned char request_pending : 1 ;
 789   unsigned char deferred_resume : 1 ;
 790   unsigned char run_wake : 1 ;
 791   unsigned char runtime_auto : 1 ;
 792   unsigned char no_callbacks : 1 ;
 793   unsigned char irq_safe : 1 ;
 794   unsigned char use_autosuspend : 1 ;
 795   unsigned char timer_autosuspends : 1 ;
 796   enum rpm_request request ;
 797   enum rpm_status runtime_status ;
 798   int runtime_error ;
 799   int autosuspend_delay ;
 800   unsigned long last_busy ;
 801   unsigned long active_jiffies ;
 802   unsigned long suspended_jiffies ;
 803   unsigned long accounting_timestamp ;
 804   ktime_t suspend_time ;
 805   s64 max_time_suspended_ns ;
 806   struct dev_pm_qos_request *pq_req ;
 807   struct pm_subsys_data *subsys_data ;
 808   struct pm_qos_constraints *constraints ;
 809};
 810#line 558 "include/linux/pm.h"
 811struct dev_pm_domain {
 812   struct dev_pm_ops ops ;
 813};
 814#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 815struct pci_bus;
 816#line 173
 817struct pci_bus;
 818#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 819struct __anonstruct_mm_context_t_101 {
 820   void *ldt ;
 821   int size ;
 822   unsigned short ia32_compat ;
 823   struct mutex lock ;
 824   void *vdso ;
 825};
 826#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 827typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 828#line 18 "include/asm-generic/pci_iomap.h"
 829struct vm_area_struct;
 830#line 18
 831struct vm_area_struct;
 832#line 835 "include/linux/sysctl.h"
 833struct rb_node {
 834   unsigned long rb_parent_color ;
 835   struct rb_node *rb_right ;
 836   struct rb_node *rb_left ;
 837};
 838#line 108 "include/linux/rbtree.h"
 839struct rb_root {
 840   struct rb_node *rb_node ;
 841};
 842#line 176
 843struct nsproxy;
 844#line 176
 845struct nsproxy;
 846#line 37 "include/linux/kmod.h"
 847struct cred;
 848#line 37
 849struct cred;
 850#line 18 "include/linux/elf.h"
 851typedef __u64 Elf64_Addr;
 852#line 19 "include/linux/elf.h"
 853typedef __u16 Elf64_Half;
 854#line 23 "include/linux/elf.h"
 855typedef __u32 Elf64_Word;
 856#line 24 "include/linux/elf.h"
 857typedef __u64 Elf64_Xword;
 858#line 193 "include/linux/elf.h"
 859struct elf64_sym {
 860   Elf64_Word st_name ;
 861   unsigned char st_info ;
 862   unsigned char st_other ;
 863   Elf64_Half st_shndx ;
 864   Elf64_Addr st_value ;
 865   Elf64_Xword st_size ;
 866};
 867#line 201 "include/linux/elf.h"
 868typedef struct elf64_sym Elf64_Sym;
 869#line 445
 870struct sock;
 871#line 445
 872struct sock;
 873#line 446
 874struct kobject;
 875#line 446
 876struct kobject;
 877#line 447
 878enum kobj_ns_type {
 879    KOBJ_NS_TYPE_NONE = 0,
 880    KOBJ_NS_TYPE_NET = 1,
 881    KOBJ_NS_TYPES = 2
 882} ;
 883#line 453 "include/linux/elf.h"
 884struct kobj_ns_type_operations {
 885   enum kobj_ns_type type ;
 886   void *(*grab_current_ns)(void) ;
 887   void const   *(*netlink_ns)(struct sock * ) ;
 888   void const   *(*initial_ns)(void) ;
 889   void (*drop_ns)(void * ) ;
 890};
 891#line 57 "include/linux/kobject_ns.h"
 892struct attribute {
 893   char const   *name ;
 894   umode_t mode ;
 895   struct lock_class_key *key ;
 896   struct lock_class_key skey ;
 897};
 898#line 33 "include/linux/sysfs.h"
 899struct attribute_group {
 900   char const   *name ;
 901   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 902   struct attribute **attrs ;
 903};
 904#line 62 "include/linux/sysfs.h"
 905struct bin_attribute {
 906   struct attribute attr ;
 907   size_t size ;
 908   void *private ;
 909   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 910                   loff_t  , size_t  ) ;
 911   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 912                    loff_t  , size_t  ) ;
 913   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 914};
 915#line 98 "include/linux/sysfs.h"
 916struct sysfs_ops {
 917   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 918   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 919   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 920};
 921#line 117
 922struct sysfs_dirent;
 923#line 117
 924struct sysfs_dirent;
 925#line 182 "include/linux/sysfs.h"
 926struct kref {
 927   atomic_t refcount ;
 928};
 929#line 49 "include/linux/kobject.h"
 930struct kset;
 931#line 49
 932struct kobj_type;
 933#line 49 "include/linux/kobject.h"
 934struct kobject {
 935   char const   *name ;
 936   struct list_head entry ;
 937   struct kobject *parent ;
 938   struct kset *kset ;
 939   struct kobj_type *ktype ;
 940   struct sysfs_dirent *sd ;
 941   struct kref kref ;
 942   unsigned char state_initialized : 1 ;
 943   unsigned char state_in_sysfs : 1 ;
 944   unsigned char state_add_uevent_sent : 1 ;
 945   unsigned char state_remove_uevent_sent : 1 ;
 946   unsigned char uevent_suppress : 1 ;
 947};
 948#line 107 "include/linux/kobject.h"
 949struct kobj_type {
 950   void (*release)(struct kobject * ) ;
 951   struct sysfs_ops  const  *sysfs_ops ;
 952   struct attribute **default_attrs ;
 953   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 954   void const   *(*namespace)(struct kobject * ) ;
 955};
 956#line 115 "include/linux/kobject.h"
 957struct kobj_uevent_env {
 958   char *envp[32U] ;
 959   int envp_idx ;
 960   char buf[2048U] ;
 961   int buflen ;
 962};
 963#line 122 "include/linux/kobject.h"
 964struct kset_uevent_ops {
 965   int (* const  filter)(struct kset * , struct kobject * ) ;
 966   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 967   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 968};
 969#line 139 "include/linux/kobject.h"
 970struct kset {
 971   struct list_head list ;
 972   spinlock_t list_lock ;
 973   struct kobject kobj ;
 974   struct kset_uevent_ops  const  *uevent_ops ;
 975};
 976#line 215
 977struct kernel_param;
 978#line 215
 979struct kernel_param;
 980#line 216 "include/linux/kobject.h"
 981struct kernel_param_ops {
 982   int (*set)(char const   * , struct kernel_param  const  * ) ;
 983   int (*get)(char * , struct kernel_param  const  * ) ;
 984   void (*free)(void * ) ;
 985};
 986#line 49 "include/linux/moduleparam.h"
 987struct kparam_string;
 988#line 49
 989struct kparam_array;
 990#line 49 "include/linux/moduleparam.h"
 991union __anonunion_ldv_13363_134 {
 992   void *arg ;
 993   struct kparam_string  const  *str ;
 994   struct kparam_array  const  *arr ;
 995};
 996#line 49 "include/linux/moduleparam.h"
 997struct kernel_param {
 998   char const   *name ;
 999   struct kernel_param_ops  const  *ops ;
1000   u16 perm ;
1001   s16 level ;
1002   union __anonunion_ldv_13363_134 ldv_13363 ;
1003};
1004#line 61 "include/linux/moduleparam.h"
1005struct kparam_string {
1006   unsigned int maxlen ;
1007   char *string ;
1008};
1009#line 67 "include/linux/moduleparam.h"
1010struct kparam_array {
1011   unsigned int max ;
1012   unsigned int elemsize ;
1013   unsigned int *num ;
1014   struct kernel_param_ops  const  *ops ;
1015   void *elem ;
1016};
1017#line 458 "include/linux/moduleparam.h"
1018struct static_key {
1019   atomic_t enabled ;
1020};
1021#line 225 "include/linux/jump_label.h"
1022struct tracepoint;
1023#line 225
1024struct tracepoint;
1025#line 226 "include/linux/jump_label.h"
1026struct tracepoint_func {
1027   void *func ;
1028   void *data ;
1029};
1030#line 29 "include/linux/tracepoint.h"
1031struct tracepoint {
1032   char const   *name ;
1033   struct static_key key ;
1034   void (*regfunc)(void) ;
1035   void (*unregfunc)(void) ;
1036   struct tracepoint_func *funcs ;
1037};
1038#line 86 "include/linux/tracepoint.h"
1039struct kernel_symbol {
1040   unsigned long value ;
1041   char const   *name ;
1042};
1043#line 27 "include/linux/export.h"
1044struct mod_arch_specific {
1045
1046};
1047#line 34 "include/linux/module.h"
1048struct module_param_attrs;
1049#line 34 "include/linux/module.h"
1050struct module_kobject {
1051   struct kobject kobj ;
1052   struct module *mod ;
1053   struct kobject *drivers_dir ;
1054   struct module_param_attrs *mp ;
1055};
1056#line 43 "include/linux/module.h"
1057struct module_attribute {
1058   struct attribute attr ;
1059   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1060   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1061                    size_t  ) ;
1062   void (*setup)(struct module * , char const   * ) ;
1063   int (*test)(struct module * ) ;
1064   void (*free)(struct module * ) ;
1065};
1066#line 69
1067struct exception_table_entry;
1068#line 69
1069struct exception_table_entry;
1070#line 198
1071enum module_state {
1072    MODULE_STATE_LIVE = 0,
1073    MODULE_STATE_COMING = 1,
1074    MODULE_STATE_GOING = 2
1075} ;
1076#line 204 "include/linux/module.h"
1077struct module_ref {
1078   unsigned long incs ;
1079   unsigned long decs ;
1080};
1081#line 219
1082struct module_sect_attrs;
1083#line 219
1084struct module_notes_attrs;
1085#line 219
1086struct ftrace_event_call;
1087#line 219 "include/linux/module.h"
1088struct module {
1089   enum module_state state ;
1090   struct list_head list ;
1091   char name[56U] ;
1092   struct module_kobject mkobj ;
1093   struct module_attribute *modinfo_attrs ;
1094   char const   *version ;
1095   char const   *srcversion ;
1096   struct kobject *holders_dir ;
1097   struct kernel_symbol  const  *syms ;
1098   unsigned long const   *crcs ;
1099   unsigned int num_syms ;
1100   struct kernel_param *kp ;
1101   unsigned int num_kp ;
1102   unsigned int num_gpl_syms ;
1103   struct kernel_symbol  const  *gpl_syms ;
1104   unsigned long const   *gpl_crcs ;
1105   struct kernel_symbol  const  *unused_syms ;
1106   unsigned long const   *unused_crcs ;
1107   unsigned int num_unused_syms ;
1108   unsigned int num_unused_gpl_syms ;
1109   struct kernel_symbol  const  *unused_gpl_syms ;
1110   unsigned long const   *unused_gpl_crcs ;
1111   struct kernel_symbol  const  *gpl_future_syms ;
1112   unsigned long const   *gpl_future_crcs ;
1113   unsigned int num_gpl_future_syms ;
1114   unsigned int num_exentries ;
1115   struct exception_table_entry *extable ;
1116   int (*init)(void) ;
1117   void *module_init ;
1118   void *module_core ;
1119   unsigned int init_size ;
1120   unsigned int core_size ;
1121   unsigned int init_text_size ;
1122   unsigned int core_text_size ;
1123   unsigned int init_ro_size ;
1124   unsigned int core_ro_size ;
1125   struct mod_arch_specific arch ;
1126   unsigned int taints ;
1127   unsigned int num_bugs ;
1128   struct list_head bug_list ;
1129   struct bug_entry *bug_table ;
1130   Elf64_Sym *symtab ;
1131   Elf64_Sym *core_symtab ;
1132   unsigned int num_symtab ;
1133   unsigned int core_num_syms ;
1134   char *strtab ;
1135   char *core_strtab ;
1136   struct module_sect_attrs *sect_attrs ;
1137   struct module_notes_attrs *notes_attrs ;
1138   char *args ;
1139   void *percpu ;
1140   unsigned int percpu_size ;
1141   unsigned int num_tracepoints ;
1142   struct tracepoint * const  *tracepoints_ptrs ;
1143   unsigned int num_trace_bprintk_fmt ;
1144   char const   **trace_bprintk_fmt_start ;
1145   struct ftrace_event_call **trace_events ;
1146   unsigned int num_trace_events ;
1147   struct list_head source_list ;
1148   struct list_head target_list ;
1149   struct task_struct *waiter ;
1150   void (*exit)(void) ;
1151   struct module_ref *refptr ;
1152   ctor_fn_t (**ctors)(void) ;
1153   unsigned int num_ctors ;
1154};
1155#line 88 "include/linux/kmemleak.h"
1156struct kmem_cache_cpu {
1157   void **freelist ;
1158   unsigned long tid ;
1159   struct page *page ;
1160   struct page *partial ;
1161   int node ;
1162   unsigned int stat[26U] ;
1163};
1164#line 55 "include/linux/slub_def.h"
1165struct kmem_cache_node {
1166   spinlock_t list_lock ;
1167   unsigned long nr_partial ;
1168   struct list_head partial ;
1169   atomic_long_t nr_slabs ;
1170   atomic_long_t total_objects ;
1171   struct list_head full ;
1172};
1173#line 66 "include/linux/slub_def.h"
1174struct kmem_cache_order_objects {
1175   unsigned long x ;
1176};
1177#line 76 "include/linux/slub_def.h"
1178struct kmem_cache {
1179   struct kmem_cache_cpu *cpu_slab ;
1180   unsigned long flags ;
1181   unsigned long min_partial ;
1182   int size ;
1183   int objsize ;
1184   int offset ;
1185   int cpu_partial ;
1186   struct kmem_cache_order_objects oo ;
1187   struct kmem_cache_order_objects max ;
1188   struct kmem_cache_order_objects min ;
1189   gfp_t allocflags ;
1190   int refcount ;
1191   void (*ctor)(void * ) ;
1192   int inuse ;
1193   int align ;
1194   int reserved ;
1195   char const   *name ;
1196   struct list_head list ;
1197   struct kobject kobj ;
1198   int remote_node_defrag_ratio ;
1199   struct kmem_cache_node *node[1024U] ;
1200};
1201#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
1202struct prio_tree_node;
1203#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
1204struct raw_prio_tree_node {
1205   struct prio_tree_node *left ;
1206   struct prio_tree_node *right ;
1207   struct prio_tree_node *parent ;
1208};
1209#line 19 "include/linux/prio_tree.h"
1210struct prio_tree_node {
1211   struct prio_tree_node *left ;
1212   struct prio_tree_node *right ;
1213   struct prio_tree_node *parent ;
1214   unsigned long start ;
1215   unsigned long last ;
1216};
1217#line 27 "include/linux/prio_tree.h"
1218struct prio_tree_root {
1219   struct prio_tree_node *prio_tree_node ;
1220   unsigned short index_bits ;
1221   unsigned short raw ;
1222};
1223#line 116
1224struct address_space;
1225#line 116
1226struct address_space;
1227#line 117 "include/linux/prio_tree.h"
1228union __anonunion_ldv_14216_136 {
1229   unsigned long index ;
1230   void *freelist ;
1231};
1232#line 117 "include/linux/prio_tree.h"
1233struct __anonstruct_ldv_14226_140 {
1234   unsigned short inuse ;
1235   unsigned short objects : 15 ;
1236   unsigned char frozen : 1 ;
1237};
1238#line 117 "include/linux/prio_tree.h"
1239union __anonunion_ldv_14227_139 {
1240   atomic_t _mapcount ;
1241   struct __anonstruct_ldv_14226_140 ldv_14226 ;
1242};
1243#line 117 "include/linux/prio_tree.h"
1244struct __anonstruct_ldv_14229_138 {
1245   union __anonunion_ldv_14227_139 ldv_14227 ;
1246   atomic_t _count ;
1247};
1248#line 117 "include/linux/prio_tree.h"
1249union __anonunion_ldv_14230_137 {
1250   unsigned long counters ;
1251   struct __anonstruct_ldv_14229_138 ldv_14229 ;
1252};
1253#line 117 "include/linux/prio_tree.h"
1254struct __anonstruct_ldv_14231_135 {
1255   union __anonunion_ldv_14216_136 ldv_14216 ;
1256   union __anonunion_ldv_14230_137 ldv_14230 ;
1257};
1258#line 117 "include/linux/prio_tree.h"
1259struct __anonstruct_ldv_14238_142 {
1260   struct page *next ;
1261   int pages ;
1262   int pobjects ;
1263};
1264#line 117 "include/linux/prio_tree.h"
1265union __anonunion_ldv_14239_141 {
1266   struct list_head lru ;
1267   struct __anonstruct_ldv_14238_142 ldv_14238 ;
1268};
1269#line 117 "include/linux/prio_tree.h"
1270union __anonunion_ldv_14244_143 {
1271   unsigned long private ;
1272   struct kmem_cache *slab ;
1273   struct page *first_page ;
1274};
1275#line 117 "include/linux/prio_tree.h"
1276struct page {
1277   unsigned long flags ;
1278   struct address_space *mapping ;
1279   struct __anonstruct_ldv_14231_135 ldv_14231 ;
1280   union __anonunion_ldv_14239_141 ldv_14239 ;
1281   union __anonunion_ldv_14244_143 ldv_14244 ;
1282   unsigned long debug_flags ;
1283};
1284#line 192 "include/linux/mm_types.h"
1285struct __anonstruct_vm_set_145 {
1286   struct list_head list ;
1287   void *parent ;
1288   struct vm_area_struct *head ;
1289};
1290#line 192 "include/linux/mm_types.h"
1291union __anonunion_shared_144 {
1292   struct __anonstruct_vm_set_145 vm_set ;
1293   struct raw_prio_tree_node prio_tree_node ;
1294};
1295#line 192
1296struct anon_vma;
1297#line 192
1298struct vm_operations_struct;
1299#line 192
1300struct mempolicy;
1301#line 192 "include/linux/mm_types.h"
1302struct vm_area_struct {
1303   struct mm_struct *vm_mm ;
1304   unsigned long vm_start ;
1305   unsigned long vm_end ;
1306   struct vm_area_struct *vm_next ;
1307   struct vm_area_struct *vm_prev ;
1308   pgprot_t vm_page_prot ;
1309   unsigned long vm_flags ;
1310   struct rb_node vm_rb ;
1311   union __anonunion_shared_144 shared ;
1312   struct list_head anon_vma_chain ;
1313   struct anon_vma *anon_vma ;
1314   struct vm_operations_struct  const  *vm_ops ;
1315   unsigned long vm_pgoff ;
1316   struct file *vm_file ;
1317   void *vm_private_data ;
1318   struct mempolicy *vm_policy ;
1319};
1320#line 255 "include/linux/mm_types.h"
1321struct core_thread {
1322   struct task_struct *task ;
1323   struct core_thread *next ;
1324};
1325#line 261 "include/linux/mm_types.h"
1326struct core_state {
1327   atomic_t nr_threads ;
1328   struct core_thread dumper ;
1329   struct completion startup ;
1330};
1331#line 274 "include/linux/mm_types.h"
1332struct mm_rss_stat {
1333   atomic_long_t count[3U] ;
1334};
1335#line 287
1336struct linux_binfmt;
1337#line 287
1338struct mmu_notifier_mm;
1339#line 287 "include/linux/mm_types.h"
1340struct mm_struct {
1341   struct vm_area_struct *mmap ;
1342   struct rb_root mm_rb ;
1343   struct vm_area_struct *mmap_cache ;
1344   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1345                                      unsigned long  , unsigned long  ) ;
1346   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1347   unsigned long mmap_base ;
1348   unsigned long task_size ;
1349   unsigned long cached_hole_size ;
1350   unsigned long free_area_cache ;
1351   pgd_t *pgd ;
1352   atomic_t mm_users ;
1353   atomic_t mm_count ;
1354   int map_count ;
1355   spinlock_t page_table_lock ;
1356   struct rw_semaphore mmap_sem ;
1357   struct list_head mmlist ;
1358   unsigned long hiwater_rss ;
1359   unsigned long hiwater_vm ;
1360   unsigned long total_vm ;
1361   unsigned long locked_vm ;
1362   unsigned long pinned_vm ;
1363   unsigned long shared_vm ;
1364   unsigned long exec_vm ;
1365   unsigned long stack_vm ;
1366   unsigned long reserved_vm ;
1367   unsigned long def_flags ;
1368   unsigned long nr_ptes ;
1369   unsigned long start_code ;
1370   unsigned long end_code ;
1371   unsigned long start_data ;
1372   unsigned long end_data ;
1373   unsigned long start_brk ;
1374   unsigned long brk ;
1375   unsigned long start_stack ;
1376   unsigned long arg_start ;
1377   unsigned long arg_end ;
1378   unsigned long env_start ;
1379   unsigned long env_end ;
1380   unsigned long saved_auxv[44U] ;
1381   struct mm_rss_stat rss_stat ;
1382   struct linux_binfmt *binfmt ;
1383   cpumask_var_t cpu_vm_mask_var ;
1384   mm_context_t context ;
1385   unsigned int faultstamp ;
1386   unsigned int token_priority ;
1387   unsigned int last_interval ;
1388   unsigned long flags ;
1389   struct core_state *core_state ;
1390   spinlock_t ioctx_lock ;
1391   struct hlist_head ioctx_list ;
1392   struct task_struct *owner ;
1393   struct file *exe_file ;
1394   unsigned long num_exe_file_vmas ;
1395   struct mmu_notifier_mm *mmu_notifier_mm ;
1396   pgtable_t pmd_huge_pte ;
1397   struct cpumask cpumask_allocation ;
1398};
1399#line 93 "include/linux/bit_spinlock.h"
1400struct shrink_control {
1401   gfp_t gfp_mask ;
1402   unsigned long nr_to_scan ;
1403};
1404#line 14 "include/linux/shrinker.h"
1405struct shrinker {
1406   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1407   int seeks ;
1408   long batch ;
1409   struct list_head list ;
1410   atomic_long_t nr_in_batch ;
1411};
1412#line 43
1413struct file_ra_state;
1414#line 43
1415struct file_ra_state;
1416#line 44
1417struct user_struct;
1418#line 44
1419struct user_struct;
1420#line 45
1421struct writeback_control;
1422#line 45
1423struct writeback_control;
1424#line 178 "include/linux/mm.h"
1425struct vm_fault {
1426   unsigned int flags ;
1427   unsigned long pgoff ;
1428   void *virtual_address ;
1429   struct page *page ;
1430};
1431#line 195 "include/linux/mm.h"
1432struct vm_operations_struct {
1433   void (*open)(struct vm_area_struct * ) ;
1434   void (*close)(struct vm_area_struct * ) ;
1435   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1436   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1437   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
1438   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1439   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
1440   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
1441                  unsigned long  ) ;
1442};
1443#line 244
1444struct inode;
1445#line 244
1446struct inode;
1447#line 12 "include/linux/mod_devicetable.h"
1448typedef unsigned long kernel_ulong_t;
1449#line 13 "include/linux/mod_devicetable.h"
1450struct pci_device_id {
1451   __u32 vendor ;
1452   __u32 device ;
1453   __u32 subvendor ;
1454   __u32 subdevice ;
1455   __u32 class ;
1456   __u32 class_mask ;
1457   kernel_ulong_t driver_data ;
1458};
1459#line 215 "include/linux/mod_devicetable.h"
1460struct of_device_id {
1461   char name[32U] ;
1462   char type[32U] ;
1463   char compatible[128U] ;
1464   void *data ;
1465};
1466#line 425 "include/linux/mod_devicetable.h"
1467struct i2c_device_id {
1468   char name[20U] ;
1469   kernel_ulong_t driver_data ;
1470};
1471#line 584
1472struct klist_node;
1473#line 584
1474struct klist_node;
1475#line 37 "include/linux/klist.h"
1476struct klist_node {
1477   void *n_klist ;
1478   struct list_head n_node ;
1479   struct kref n_ref ;
1480};
1481#line 67
1482struct dma_map_ops;
1483#line 67 "include/linux/klist.h"
1484struct dev_archdata {
1485   void *acpi_handle ;
1486   struct dma_map_ops *dma_ops ;
1487   void *iommu ;
1488};
1489#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1490struct device_private;
1491#line 17
1492struct device_private;
1493#line 18
1494struct device_driver;
1495#line 18
1496struct device_driver;
1497#line 19
1498struct driver_private;
1499#line 19
1500struct driver_private;
1501#line 20
1502struct class;
1503#line 20
1504struct class;
1505#line 21
1506struct subsys_private;
1507#line 21
1508struct subsys_private;
1509#line 22
1510struct bus_type;
1511#line 22
1512struct bus_type;
1513#line 23
1514struct device_node;
1515#line 23
1516struct device_node;
1517#line 24
1518struct iommu_ops;
1519#line 24
1520struct iommu_ops;
1521#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1522struct bus_attribute {
1523   struct attribute attr ;
1524   ssize_t (*show)(struct bus_type * , char * ) ;
1525   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1526};
1527#line 51 "include/linux/device.h"
1528struct device_attribute;
1529#line 51
1530struct driver_attribute;
1531#line 51 "include/linux/device.h"
1532struct bus_type {
1533   char const   *name ;
1534   char const   *dev_name ;
1535   struct device *dev_root ;
1536   struct bus_attribute *bus_attrs ;
1537   struct device_attribute *dev_attrs ;
1538   struct driver_attribute *drv_attrs ;
1539   int (*match)(struct device * , struct device_driver * ) ;
1540   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1541   int (*probe)(struct device * ) ;
1542   int (*remove)(struct device * ) ;
1543   void (*shutdown)(struct device * ) ;
1544   int (*suspend)(struct device * , pm_message_t  ) ;
1545   int (*resume)(struct device * ) ;
1546   struct dev_pm_ops  const  *pm ;
1547   struct iommu_ops *iommu_ops ;
1548   struct subsys_private *p ;
1549};
1550#line 125
1551struct device_type;
1552#line 182 "include/linux/device.h"
1553struct device_driver {
1554   char const   *name ;
1555   struct bus_type *bus ;
1556   struct module *owner ;
1557   char const   *mod_name ;
1558   bool suppress_bind_attrs ;
1559   struct of_device_id  const  *of_match_table ;
1560   int (*probe)(struct device * ) ;
1561   int (*remove)(struct device * ) ;
1562   void (*shutdown)(struct device * ) ;
1563   int (*suspend)(struct device * , pm_message_t  ) ;
1564   int (*resume)(struct device * ) ;
1565   struct attribute_group  const  **groups ;
1566   struct dev_pm_ops  const  *pm ;
1567   struct driver_private *p ;
1568};
1569#line 245 "include/linux/device.h"
1570struct driver_attribute {
1571   struct attribute attr ;
1572   ssize_t (*show)(struct device_driver * , char * ) ;
1573   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1574};
1575#line 299
1576struct class_attribute;
1577#line 299 "include/linux/device.h"
1578struct class {
1579   char const   *name ;
1580   struct module *owner ;
1581   struct class_attribute *class_attrs ;
1582   struct device_attribute *dev_attrs ;
1583   struct bin_attribute *dev_bin_attrs ;
1584   struct kobject *dev_kobj ;
1585   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1586   char *(*devnode)(struct device * , umode_t * ) ;
1587   void (*class_release)(struct class * ) ;
1588   void (*dev_release)(struct device * ) ;
1589   int (*suspend)(struct device * , pm_message_t  ) ;
1590   int (*resume)(struct device * ) ;
1591   struct kobj_ns_type_operations  const  *ns_type ;
1592   void const   *(*namespace)(struct device * ) ;
1593   struct dev_pm_ops  const  *pm ;
1594   struct subsys_private *p ;
1595};
1596#line 394 "include/linux/device.h"
1597struct class_attribute {
1598   struct attribute attr ;
1599   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1600   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1601   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1602};
1603#line 447 "include/linux/device.h"
1604struct device_type {
1605   char const   *name ;
1606   struct attribute_group  const  **groups ;
1607   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1608   char *(*devnode)(struct device * , umode_t * ) ;
1609   void (*release)(struct device * ) ;
1610   struct dev_pm_ops  const  *pm ;
1611};
1612#line 474 "include/linux/device.h"
1613struct device_attribute {
1614   struct attribute attr ;
1615   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1616   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1617                    size_t  ) ;
1618};
1619#line 557 "include/linux/device.h"
1620struct device_dma_parameters {
1621   unsigned int max_segment_size ;
1622   unsigned long segment_boundary_mask ;
1623};
1624#line 567
1625struct dma_coherent_mem;
1626#line 567 "include/linux/device.h"
1627struct device {
1628   struct device *parent ;
1629   struct device_private *p ;
1630   struct kobject kobj ;
1631   char const   *init_name ;
1632   struct device_type  const  *type ;
1633   struct mutex mutex ;
1634   struct bus_type *bus ;
1635   struct device_driver *driver ;
1636   void *platform_data ;
1637   struct dev_pm_info power ;
1638   struct dev_pm_domain *pm_domain ;
1639   int numa_node ;
1640   u64 *dma_mask ;
1641   u64 coherent_dma_mask ;
1642   struct device_dma_parameters *dma_parms ;
1643   struct list_head dma_pools ;
1644   struct dma_coherent_mem *dma_mem ;
1645   struct dev_archdata archdata ;
1646   struct device_node *of_node ;
1647   dev_t devt ;
1648   u32 id ;
1649   spinlock_t devres_lock ;
1650   struct list_head devres_head ;
1651   struct klist_node knode_class ;
1652   struct class *class ;
1653   struct attribute_group  const  **groups ;
1654   void (*release)(struct device * ) ;
1655};
1656#line 681 "include/linux/device.h"
1657struct wakeup_source {
1658   char const   *name ;
1659   struct list_head entry ;
1660   spinlock_t lock ;
1661   struct timer_list timer ;
1662   unsigned long timer_expires ;
1663   ktime_t total_time ;
1664   ktime_t max_time ;
1665   ktime_t last_time ;
1666   unsigned long event_count ;
1667   unsigned long active_count ;
1668   unsigned long relax_count ;
1669   unsigned long hit_count ;
1670   unsigned char active : 1 ;
1671};
1672#line 93 "include/linux/capability.h"
1673struct kernel_cap_struct {
1674   __u32 cap[2U] ;
1675};
1676#line 96 "include/linux/capability.h"
1677typedef struct kernel_cap_struct kernel_cap_t;
1678#line 104
1679struct dentry;
1680#line 104
1681struct dentry;
1682#line 105
1683struct user_namespace;
1684#line 105
1685struct user_namespace;
1686#line 7 "include/asm-generic/cputime.h"
1687typedef unsigned long cputime_t;
1688#line 98 "include/linux/sem.h"
1689struct sem_undo_list;
1690#line 98 "include/linux/sem.h"
1691struct sysv_sem {
1692   struct sem_undo_list *undo_list ;
1693};
1694#line 107
1695struct siginfo;
1696#line 107
1697struct siginfo;
1698#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1699struct __anonstruct_sigset_t_148 {
1700   unsigned long sig[1U] ;
1701};
1702#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1703typedef struct __anonstruct_sigset_t_148 sigset_t;
1704#line 17 "include/asm-generic/signal-defs.h"
1705typedef void __signalfn_t(int  );
1706#line 18 "include/asm-generic/signal-defs.h"
1707typedef __signalfn_t *__sighandler_t;
1708#line 20 "include/asm-generic/signal-defs.h"
1709typedef void __restorefn_t(void);
1710#line 21 "include/asm-generic/signal-defs.h"
1711typedef __restorefn_t *__sigrestore_t;
1712#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1713struct sigaction {
1714   __sighandler_t sa_handler ;
1715   unsigned long sa_flags ;
1716   __sigrestore_t sa_restorer ;
1717   sigset_t sa_mask ;
1718};
1719#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1720struct k_sigaction {
1721   struct sigaction sa ;
1722};
1723#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1724union sigval {
1725   int sival_int ;
1726   void *sival_ptr ;
1727};
1728#line 10 "include/asm-generic/siginfo.h"
1729typedef union sigval sigval_t;
1730#line 11 "include/asm-generic/siginfo.h"
1731struct __anonstruct__kill_150 {
1732   __kernel_pid_t _pid ;
1733   __kernel_uid32_t _uid ;
1734};
1735#line 11 "include/asm-generic/siginfo.h"
1736struct __anonstruct__timer_151 {
1737   __kernel_timer_t _tid ;
1738   int _overrun ;
1739   char _pad[0U] ;
1740   sigval_t _sigval ;
1741   int _sys_private ;
1742};
1743#line 11 "include/asm-generic/siginfo.h"
1744struct __anonstruct__rt_152 {
1745   __kernel_pid_t _pid ;
1746   __kernel_uid32_t _uid ;
1747   sigval_t _sigval ;
1748};
1749#line 11 "include/asm-generic/siginfo.h"
1750struct __anonstruct__sigchld_153 {
1751   __kernel_pid_t _pid ;
1752   __kernel_uid32_t _uid ;
1753   int _status ;
1754   __kernel_clock_t _utime ;
1755   __kernel_clock_t _stime ;
1756};
1757#line 11 "include/asm-generic/siginfo.h"
1758struct __anonstruct__sigfault_154 {
1759   void *_addr ;
1760   short _addr_lsb ;
1761};
1762#line 11 "include/asm-generic/siginfo.h"
1763struct __anonstruct__sigpoll_155 {
1764   long _band ;
1765   int _fd ;
1766};
1767#line 11 "include/asm-generic/siginfo.h"
1768union __anonunion__sifields_149 {
1769   int _pad[28U] ;
1770   struct __anonstruct__kill_150 _kill ;
1771   struct __anonstruct__timer_151 _timer ;
1772   struct __anonstruct__rt_152 _rt ;
1773   struct __anonstruct__sigchld_153 _sigchld ;
1774   struct __anonstruct__sigfault_154 _sigfault ;
1775   struct __anonstruct__sigpoll_155 _sigpoll ;
1776};
1777#line 11 "include/asm-generic/siginfo.h"
1778struct siginfo {
1779   int si_signo ;
1780   int si_errno ;
1781   int si_code ;
1782   union __anonunion__sifields_149 _sifields ;
1783};
1784#line 102 "include/asm-generic/siginfo.h"
1785typedef struct siginfo siginfo_t;
1786#line 24 "include/linux/signal.h"
1787struct sigpending {
1788   struct list_head list ;
1789   sigset_t signal ;
1790};
1791#line 388
1792enum pid_type {
1793    PIDTYPE_PID = 0,
1794    PIDTYPE_PGID = 1,
1795    PIDTYPE_SID = 2,
1796    PIDTYPE_MAX = 3
1797} ;
1798#line 395
1799struct pid_namespace;
1800#line 395 "include/linux/signal.h"
1801struct upid {
1802   int nr ;
1803   struct pid_namespace *ns ;
1804   struct hlist_node pid_chain ;
1805};
1806#line 56 "include/linux/pid.h"
1807struct pid {
1808   atomic_t count ;
1809   unsigned int level ;
1810   struct hlist_head tasks[3U] ;
1811   struct rcu_head rcu ;
1812   struct upid numbers[1U] ;
1813};
1814#line 68 "include/linux/pid.h"
1815struct pid_link {
1816   struct hlist_node node ;
1817   struct pid *pid ;
1818};
1819#line 10 "include/linux/seccomp.h"
1820struct __anonstruct_seccomp_t_158 {
1821   int mode ;
1822};
1823#line 10 "include/linux/seccomp.h"
1824typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1825#line 427 "include/linux/rculist.h"
1826struct plist_head {
1827   struct list_head node_list ;
1828};
1829#line 84 "include/linux/plist.h"
1830struct plist_node {
1831   int prio ;
1832   struct list_head prio_list ;
1833   struct list_head node_list ;
1834};
1835#line 20 "include/linux/rtmutex.h"
1836struct rt_mutex {
1837   raw_spinlock_t wait_lock ;
1838   struct plist_head wait_list ;
1839   struct task_struct *owner ;
1840   int save_state ;
1841   char const   *name ;
1842   char const   *file ;
1843   int line ;
1844   void *magic ;
1845};
1846#line 38
1847struct rt_mutex_waiter;
1848#line 38
1849struct rt_mutex_waiter;
1850#line 41 "include/linux/resource.h"
1851struct rlimit {
1852   unsigned long rlim_cur ;
1853   unsigned long rlim_max ;
1854};
1855#line 85 "include/linux/resource.h"
1856struct timerqueue_node {
1857   struct rb_node node ;
1858   ktime_t expires ;
1859};
1860#line 12 "include/linux/timerqueue.h"
1861struct timerqueue_head {
1862   struct rb_root head ;
1863   struct timerqueue_node *next ;
1864};
1865#line 50
1866struct hrtimer_clock_base;
1867#line 50
1868struct hrtimer_clock_base;
1869#line 51
1870struct hrtimer_cpu_base;
1871#line 51
1872struct hrtimer_cpu_base;
1873#line 60
1874enum hrtimer_restart {
1875    HRTIMER_NORESTART = 0,
1876    HRTIMER_RESTART = 1
1877} ;
1878#line 65 "include/linux/timerqueue.h"
1879struct hrtimer {
1880   struct timerqueue_node node ;
1881   ktime_t _softexpires ;
1882   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1883   struct hrtimer_clock_base *base ;
1884   unsigned long state ;
1885   int start_pid ;
1886   void *start_site ;
1887   char start_comm[16U] ;
1888};
1889#line 132 "include/linux/hrtimer.h"
1890struct hrtimer_clock_base {
1891   struct hrtimer_cpu_base *cpu_base ;
1892   int index ;
1893   clockid_t clockid ;
1894   struct timerqueue_head active ;
1895   ktime_t resolution ;
1896   ktime_t (*get_time)(void) ;
1897   ktime_t softirq_time ;
1898   ktime_t offset ;
1899};
1900#line 162 "include/linux/hrtimer.h"
1901struct hrtimer_cpu_base {
1902   raw_spinlock_t lock ;
1903   unsigned long active_bases ;
1904   ktime_t expires_next ;
1905   int hres_active ;
1906   int hang_detected ;
1907   unsigned long nr_events ;
1908   unsigned long nr_retries ;
1909   unsigned long nr_hangs ;
1910   ktime_t max_hang_time ;
1911   struct hrtimer_clock_base clock_base[3U] ;
1912};
1913#line 452 "include/linux/hrtimer.h"
1914struct task_io_accounting {
1915   u64 rchar ;
1916   u64 wchar ;
1917   u64 syscr ;
1918   u64 syscw ;
1919   u64 read_bytes ;
1920   u64 write_bytes ;
1921   u64 cancelled_write_bytes ;
1922};
1923#line 45 "include/linux/task_io_accounting.h"
1924struct latency_record {
1925   unsigned long backtrace[12U] ;
1926   unsigned int count ;
1927   unsigned long time ;
1928   unsigned long max ;
1929};
1930#line 29 "include/linux/key.h"
1931typedef int32_t key_serial_t;
1932#line 32 "include/linux/key.h"
1933typedef uint32_t key_perm_t;
1934#line 33
1935struct key;
1936#line 33
1937struct key;
1938#line 34
1939struct signal_struct;
1940#line 34
1941struct signal_struct;
1942#line 35
1943struct key_type;
1944#line 35
1945struct key_type;
1946#line 37
1947struct keyring_list;
1948#line 37
1949struct keyring_list;
1950#line 115
1951struct key_user;
1952#line 115 "include/linux/key.h"
1953union __anonunion_ldv_18998_159 {
1954   time_t expiry ;
1955   time_t revoked_at ;
1956};
1957#line 115 "include/linux/key.h"
1958union __anonunion_type_data_160 {
1959   struct list_head link ;
1960   unsigned long x[2U] ;
1961   void *p[2U] ;
1962   int reject_error ;
1963};
1964#line 115 "include/linux/key.h"
1965union __anonunion_payload_161 {
1966   unsigned long value ;
1967   void *rcudata ;
1968   void *data ;
1969   struct keyring_list *subscriptions ;
1970};
1971#line 115 "include/linux/key.h"
1972struct key {
1973   atomic_t usage ;
1974   key_serial_t serial ;
1975   struct rb_node serial_node ;
1976   struct key_type *type ;
1977   struct rw_semaphore sem ;
1978   struct key_user *user ;
1979   void *security ;
1980   union __anonunion_ldv_18998_159 ldv_18998 ;
1981   uid_t uid ;
1982   gid_t gid ;
1983   key_perm_t perm ;
1984   unsigned short quotalen ;
1985   unsigned short datalen ;
1986   unsigned long flags ;
1987   char *description ;
1988   union __anonunion_type_data_160 type_data ;
1989   union __anonunion_payload_161 payload ;
1990};
1991#line 316
1992struct audit_context;
1993#line 316
1994struct audit_context;
1995#line 27 "include/linux/selinux.h"
1996struct group_info {
1997   atomic_t usage ;
1998   int ngroups ;
1999   int nblocks ;
2000   gid_t small_block[32U] ;
2001   gid_t *blocks[0U] ;
2002};
2003#line 77 "include/linux/cred.h"
2004struct thread_group_cred {
2005   atomic_t usage ;
2006   pid_t tgid ;
2007   spinlock_t lock ;
2008   struct key *session_keyring ;
2009   struct key *process_keyring ;
2010   struct rcu_head rcu ;
2011};
2012#line 91 "include/linux/cred.h"
2013struct cred {
2014   atomic_t usage ;
2015   atomic_t subscribers ;
2016   void *put_addr ;
2017   unsigned int magic ;
2018   uid_t uid ;
2019   gid_t gid ;
2020   uid_t suid ;
2021   gid_t sgid ;
2022   uid_t euid ;
2023   gid_t egid ;
2024   uid_t fsuid ;
2025   gid_t fsgid ;
2026   unsigned int securebits ;
2027   kernel_cap_t cap_inheritable ;
2028   kernel_cap_t cap_permitted ;
2029   kernel_cap_t cap_effective ;
2030   kernel_cap_t cap_bset ;
2031   unsigned char jit_keyring ;
2032   struct key *thread_keyring ;
2033   struct key *request_key_auth ;
2034   struct thread_group_cred *tgcred ;
2035   void *security ;
2036   struct user_struct *user ;
2037   struct user_namespace *user_ns ;
2038   struct group_info *group_info ;
2039   struct rcu_head rcu ;
2040};
2041#line 264
2042struct llist_node;
2043#line 64 "include/linux/llist.h"
2044struct llist_node {
2045   struct llist_node *next ;
2046};
2047#line 185
2048struct futex_pi_state;
2049#line 185
2050struct futex_pi_state;
2051#line 186
2052struct robust_list_head;
2053#line 186
2054struct robust_list_head;
2055#line 187
2056struct bio_list;
2057#line 187
2058struct bio_list;
2059#line 188
2060struct fs_struct;
2061#line 188
2062struct fs_struct;
2063#line 189
2064struct perf_event_context;
2065#line 189
2066struct perf_event_context;
2067#line 190
2068struct blk_plug;
2069#line 190
2070struct blk_plug;
2071#line 149 "include/linux/sched.h"
2072struct cfs_rq;
2073#line 149
2074struct cfs_rq;
2075#line 44 "include/linux/aio_abi.h"
2076struct io_event {
2077   __u64 data ;
2078   __u64 obj ;
2079   __s64 res ;
2080   __s64 res2 ;
2081};
2082#line 106 "include/linux/aio_abi.h"
2083struct iovec {
2084   void *iov_base ;
2085   __kernel_size_t iov_len ;
2086};
2087#line 54 "include/linux/uio.h"
2088struct kioctx;
2089#line 54
2090struct kioctx;
2091#line 55 "include/linux/uio.h"
2092union __anonunion_ki_obj_162 {
2093   void *user ;
2094   struct task_struct *tsk ;
2095};
2096#line 55
2097struct eventfd_ctx;
2098#line 55 "include/linux/uio.h"
2099struct kiocb {
2100   struct list_head ki_run_list ;
2101   unsigned long ki_flags ;
2102   int ki_users ;
2103   unsigned int ki_key ;
2104   struct file *ki_filp ;
2105   struct kioctx *ki_ctx ;
2106   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2107   ssize_t (*ki_retry)(struct kiocb * ) ;
2108   void (*ki_dtor)(struct kiocb * ) ;
2109   union __anonunion_ki_obj_162 ki_obj ;
2110   __u64 ki_user_data ;
2111   loff_t ki_pos ;
2112   void *private ;
2113   unsigned short ki_opcode ;
2114   size_t ki_nbytes ;
2115   char *ki_buf ;
2116   size_t ki_left ;
2117   struct iovec ki_inline_vec ;
2118   struct iovec *ki_iovec ;
2119   unsigned long ki_nr_segs ;
2120   unsigned long ki_cur_seg ;
2121   struct list_head ki_list ;
2122   struct list_head ki_batch ;
2123   struct eventfd_ctx *ki_eventfd ;
2124};
2125#line 162 "include/linux/aio.h"
2126struct aio_ring_info {
2127   unsigned long mmap_base ;
2128   unsigned long mmap_size ;
2129   struct page **ring_pages ;
2130   spinlock_t ring_lock ;
2131   long nr_pages ;
2132   unsigned int nr ;
2133   unsigned int tail ;
2134   struct page *internal_pages[8U] ;
2135};
2136#line 178 "include/linux/aio.h"
2137struct kioctx {
2138   atomic_t users ;
2139   int dead ;
2140   struct mm_struct *mm ;
2141   unsigned long user_id ;
2142   struct hlist_node list ;
2143   wait_queue_head_t wait ;
2144   spinlock_t ctx_lock ;
2145   int reqs_active ;
2146   struct list_head active_reqs ;
2147   struct list_head run_list ;
2148   unsigned int max_reqs ;
2149   struct aio_ring_info ring_info ;
2150   struct delayed_work wq ;
2151   struct rcu_head rcu_head ;
2152};
2153#line 406 "include/linux/sched.h"
2154struct sighand_struct {
2155   atomic_t count ;
2156   struct k_sigaction action[64U] ;
2157   spinlock_t siglock ;
2158   wait_queue_head_t signalfd_wqh ;
2159};
2160#line 449 "include/linux/sched.h"
2161struct pacct_struct {
2162   int ac_flag ;
2163   long ac_exitcode ;
2164   unsigned long ac_mem ;
2165   cputime_t ac_utime ;
2166   cputime_t ac_stime ;
2167   unsigned long ac_minflt ;
2168   unsigned long ac_majflt ;
2169};
2170#line 457 "include/linux/sched.h"
2171struct cpu_itimer {
2172   cputime_t expires ;
2173   cputime_t incr ;
2174   u32 error ;
2175   u32 incr_error ;
2176};
2177#line 464 "include/linux/sched.h"
2178struct task_cputime {
2179   cputime_t utime ;
2180   cputime_t stime ;
2181   unsigned long long sum_exec_runtime ;
2182};
2183#line 481 "include/linux/sched.h"
2184struct thread_group_cputimer {
2185   struct task_cputime cputime ;
2186   int running ;
2187   raw_spinlock_t lock ;
2188};
2189#line 517
2190struct autogroup;
2191#line 517
2192struct autogroup;
2193#line 518
2194struct tty_struct;
2195#line 518
2196struct taskstats;
2197#line 518
2198struct tty_audit_buf;
2199#line 518 "include/linux/sched.h"
2200struct signal_struct {
2201   atomic_t sigcnt ;
2202   atomic_t live ;
2203   int nr_threads ;
2204   wait_queue_head_t wait_chldexit ;
2205   struct task_struct *curr_target ;
2206   struct sigpending shared_pending ;
2207   int group_exit_code ;
2208   int notify_count ;
2209   struct task_struct *group_exit_task ;
2210   int group_stop_count ;
2211   unsigned int flags ;
2212   unsigned char is_child_subreaper : 1 ;
2213   unsigned char has_child_subreaper : 1 ;
2214   struct list_head posix_timers ;
2215   struct hrtimer real_timer ;
2216   struct pid *leader_pid ;
2217   ktime_t it_real_incr ;
2218   struct cpu_itimer it[2U] ;
2219   struct thread_group_cputimer cputimer ;
2220   struct task_cputime cputime_expires ;
2221   struct list_head cpu_timers[3U] ;
2222   struct pid *tty_old_pgrp ;
2223   int leader ;
2224   struct tty_struct *tty ;
2225   struct autogroup *autogroup ;
2226   cputime_t utime ;
2227   cputime_t stime ;
2228   cputime_t cutime ;
2229   cputime_t cstime ;
2230   cputime_t gtime ;
2231   cputime_t cgtime ;
2232   cputime_t prev_utime ;
2233   cputime_t prev_stime ;
2234   unsigned long nvcsw ;
2235   unsigned long nivcsw ;
2236   unsigned long cnvcsw ;
2237   unsigned long cnivcsw ;
2238   unsigned long min_flt ;
2239   unsigned long maj_flt ;
2240   unsigned long cmin_flt ;
2241   unsigned long cmaj_flt ;
2242   unsigned long inblock ;
2243   unsigned long oublock ;
2244   unsigned long cinblock ;
2245   unsigned long coublock ;
2246   unsigned long maxrss ;
2247   unsigned long cmaxrss ;
2248   struct task_io_accounting ioac ;
2249   unsigned long long sum_sched_runtime ;
2250   struct rlimit rlim[16U] ;
2251   struct pacct_struct pacct ;
2252   struct taskstats *stats ;
2253   unsigned int audit_tty ;
2254   struct tty_audit_buf *tty_audit_buf ;
2255   struct rw_semaphore group_rwsem ;
2256   int oom_adj ;
2257   int oom_score_adj ;
2258   int oom_score_adj_min ;
2259   struct mutex cred_guard_mutex ;
2260};
2261#line 699 "include/linux/sched.h"
2262struct user_struct {
2263   atomic_t __count ;
2264   atomic_t processes ;
2265   atomic_t files ;
2266   atomic_t sigpending ;
2267   atomic_t inotify_watches ;
2268   atomic_t inotify_devs ;
2269   atomic_t fanotify_listeners ;
2270   atomic_long_t epoll_watches ;
2271   unsigned long mq_bytes ;
2272   unsigned long locked_shm ;
2273   struct key *uid_keyring ;
2274   struct key *session_keyring ;
2275   struct hlist_node uidhash_node ;
2276   uid_t uid ;
2277   struct user_namespace *user_ns ;
2278   atomic_long_t locked_vm ;
2279};
2280#line 744
2281struct backing_dev_info;
2282#line 744
2283struct backing_dev_info;
2284#line 745
2285struct reclaim_state;
2286#line 745
2287struct reclaim_state;
2288#line 746 "include/linux/sched.h"
2289struct sched_info {
2290   unsigned long pcount ;
2291   unsigned long long run_delay ;
2292   unsigned long long last_arrival ;
2293   unsigned long long last_queued ;
2294};
2295#line 760 "include/linux/sched.h"
2296struct task_delay_info {
2297   spinlock_t lock ;
2298   unsigned int flags ;
2299   struct timespec blkio_start ;
2300   struct timespec blkio_end ;
2301   u64 blkio_delay ;
2302   u64 swapin_delay ;
2303   u32 blkio_count ;
2304   u32 swapin_count ;
2305   struct timespec freepages_start ;
2306   struct timespec freepages_end ;
2307   u64 freepages_delay ;
2308   u32 freepages_count ;
2309};
2310#line 1069
2311struct io_context;
2312#line 1069
2313struct io_context;
2314#line 1097
2315struct pipe_inode_info;
2316#line 1097
2317struct pipe_inode_info;
2318#line 1099
2319struct rq;
2320#line 1099
2321struct rq;
2322#line 1100 "include/linux/sched.h"
2323struct sched_class {
2324   struct sched_class  const  *next ;
2325   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2326   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2327   void (*yield_task)(struct rq * ) ;
2328   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2329   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2330   struct task_struct *(*pick_next_task)(struct rq * ) ;
2331   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2332   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2333   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2334   void (*post_schedule)(struct rq * ) ;
2335   void (*task_waking)(struct task_struct * ) ;
2336   void (*task_woken)(struct rq * , struct task_struct * ) ;
2337   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2338   void (*rq_online)(struct rq * ) ;
2339   void (*rq_offline)(struct rq * ) ;
2340   void (*set_curr_task)(struct rq * ) ;
2341   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2342   void (*task_fork)(struct task_struct * ) ;
2343   void (*switched_from)(struct rq * , struct task_struct * ) ;
2344   void (*switched_to)(struct rq * , struct task_struct * ) ;
2345   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2346   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2347   void (*task_move_group)(struct task_struct * , int  ) ;
2348};
2349#line 1165 "include/linux/sched.h"
2350struct load_weight {
2351   unsigned long weight ;
2352   unsigned long inv_weight ;
2353};
2354#line 1170 "include/linux/sched.h"
2355struct sched_statistics {
2356   u64 wait_start ;
2357   u64 wait_max ;
2358   u64 wait_count ;
2359   u64 wait_sum ;
2360   u64 iowait_count ;
2361   u64 iowait_sum ;
2362   u64 sleep_start ;
2363   u64 sleep_max ;
2364   s64 sum_sleep_runtime ;
2365   u64 block_start ;
2366   u64 block_max ;
2367   u64 exec_max ;
2368   u64 slice_max ;
2369   u64 nr_migrations_cold ;
2370   u64 nr_failed_migrations_affine ;
2371   u64 nr_failed_migrations_running ;
2372   u64 nr_failed_migrations_hot ;
2373   u64 nr_forced_migrations ;
2374   u64 nr_wakeups ;
2375   u64 nr_wakeups_sync ;
2376   u64 nr_wakeups_migrate ;
2377   u64 nr_wakeups_local ;
2378   u64 nr_wakeups_remote ;
2379   u64 nr_wakeups_affine ;
2380   u64 nr_wakeups_affine_attempts ;
2381   u64 nr_wakeups_passive ;
2382   u64 nr_wakeups_idle ;
2383};
2384#line 1205 "include/linux/sched.h"
2385struct sched_entity {
2386   struct load_weight load ;
2387   struct rb_node run_node ;
2388   struct list_head group_node ;
2389   unsigned int on_rq ;
2390   u64 exec_start ;
2391   u64 sum_exec_runtime ;
2392   u64 vruntime ;
2393   u64 prev_sum_exec_runtime ;
2394   u64 nr_migrations ;
2395   struct sched_statistics statistics ;
2396   struct sched_entity *parent ;
2397   struct cfs_rq *cfs_rq ;
2398   struct cfs_rq *my_q ;
2399};
2400#line 1231
2401struct rt_rq;
2402#line 1231 "include/linux/sched.h"
2403struct sched_rt_entity {
2404   struct list_head run_list ;
2405   unsigned long timeout ;
2406   unsigned int time_slice ;
2407   int nr_cpus_allowed ;
2408   struct sched_rt_entity *back ;
2409   struct sched_rt_entity *parent ;
2410   struct rt_rq *rt_rq ;
2411   struct rt_rq *my_q ;
2412};
2413#line 1255
2414struct mem_cgroup;
2415#line 1255 "include/linux/sched.h"
2416struct memcg_batch_info {
2417   int do_batch ;
2418   struct mem_cgroup *memcg ;
2419   unsigned long nr_pages ;
2420   unsigned long memsw_nr_pages ;
2421};
2422#line 1616
2423struct files_struct;
2424#line 1616
2425struct css_set;
2426#line 1616
2427struct compat_robust_list_head;
2428#line 1616 "include/linux/sched.h"
2429struct task_struct {
2430   long volatile   state ;
2431   void *stack ;
2432   atomic_t usage ;
2433   unsigned int flags ;
2434   unsigned int ptrace ;
2435   struct llist_node wake_entry ;
2436   int on_cpu ;
2437   int on_rq ;
2438   int prio ;
2439   int static_prio ;
2440   int normal_prio ;
2441   unsigned int rt_priority ;
2442   struct sched_class  const  *sched_class ;
2443   struct sched_entity se ;
2444   struct sched_rt_entity rt ;
2445   struct hlist_head preempt_notifiers ;
2446   unsigned char fpu_counter ;
2447   unsigned int policy ;
2448   cpumask_t cpus_allowed ;
2449   struct sched_info sched_info ;
2450   struct list_head tasks ;
2451   struct plist_node pushable_tasks ;
2452   struct mm_struct *mm ;
2453   struct mm_struct *active_mm ;
2454   unsigned char brk_randomized : 1 ;
2455   int exit_state ;
2456   int exit_code ;
2457   int exit_signal ;
2458   int pdeath_signal ;
2459   unsigned int jobctl ;
2460   unsigned int personality ;
2461   unsigned char did_exec : 1 ;
2462   unsigned char in_execve : 1 ;
2463   unsigned char in_iowait : 1 ;
2464   unsigned char sched_reset_on_fork : 1 ;
2465   unsigned char sched_contributes_to_load : 1 ;
2466   unsigned char irq_thread : 1 ;
2467   pid_t pid ;
2468   pid_t tgid ;
2469   unsigned long stack_canary ;
2470   struct task_struct *real_parent ;
2471   struct task_struct *parent ;
2472   struct list_head children ;
2473   struct list_head sibling ;
2474   struct task_struct *group_leader ;
2475   struct list_head ptraced ;
2476   struct list_head ptrace_entry ;
2477   struct pid_link pids[3U] ;
2478   struct list_head thread_group ;
2479   struct completion *vfork_done ;
2480   int *set_child_tid ;
2481   int *clear_child_tid ;
2482   cputime_t utime ;
2483   cputime_t stime ;
2484   cputime_t utimescaled ;
2485   cputime_t stimescaled ;
2486   cputime_t gtime ;
2487   cputime_t prev_utime ;
2488   cputime_t prev_stime ;
2489   unsigned long nvcsw ;
2490   unsigned long nivcsw ;
2491   struct timespec start_time ;
2492   struct timespec real_start_time ;
2493   unsigned long min_flt ;
2494   unsigned long maj_flt ;
2495   struct task_cputime cputime_expires ;
2496   struct list_head cpu_timers[3U] ;
2497   struct cred  const  *real_cred ;
2498   struct cred  const  *cred ;
2499   struct cred *replacement_session_keyring ;
2500   char comm[16U] ;
2501   int link_count ;
2502   int total_link_count ;
2503   struct sysv_sem sysvsem ;
2504   unsigned long last_switch_count ;
2505   struct thread_struct thread ;
2506   struct fs_struct *fs ;
2507   struct files_struct *files ;
2508   struct nsproxy *nsproxy ;
2509   struct signal_struct *signal ;
2510   struct sighand_struct *sighand ;
2511   sigset_t blocked ;
2512   sigset_t real_blocked ;
2513   sigset_t saved_sigmask ;
2514   struct sigpending pending ;
2515   unsigned long sas_ss_sp ;
2516   size_t sas_ss_size ;
2517   int (*notifier)(void * ) ;
2518   void *notifier_data ;
2519   sigset_t *notifier_mask ;
2520   struct audit_context *audit_context ;
2521   uid_t loginuid ;
2522   unsigned int sessionid ;
2523   seccomp_t seccomp ;
2524   u32 parent_exec_id ;
2525   u32 self_exec_id ;
2526   spinlock_t alloc_lock ;
2527   raw_spinlock_t pi_lock ;
2528   struct plist_head pi_waiters ;
2529   struct rt_mutex_waiter *pi_blocked_on ;
2530   struct mutex_waiter *blocked_on ;
2531   unsigned int irq_events ;
2532   unsigned long hardirq_enable_ip ;
2533   unsigned long hardirq_disable_ip ;
2534   unsigned int hardirq_enable_event ;
2535   unsigned int hardirq_disable_event ;
2536   int hardirqs_enabled ;
2537   int hardirq_context ;
2538   unsigned long softirq_disable_ip ;
2539   unsigned long softirq_enable_ip ;
2540   unsigned int softirq_disable_event ;
2541   unsigned int softirq_enable_event ;
2542   int softirqs_enabled ;
2543   int softirq_context ;
2544   u64 curr_chain_key ;
2545   int lockdep_depth ;
2546   unsigned int lockdep_recursion ;
2547   struct held_lock held_locks[48U] ;
2548   gfp_t lockdep_reclaim_gfp ;
2549   void *journal_info ;
2550   struct bio_list *bio_list ;
2551   struct blk_plug *plug ;
2552   struct reclaim_state *reclaim_state ;
2553   struct backing_dev_info *backing_dev_info ;
2554   struct io_context *io_context ;
2555   unsigned long ptrace_message ;
2556   siginfo_t *last_siginfo ;
2557   struct task_io_accounting ioac ;
2558   u64 acct_rss_mem1 ;
2559   u64 acct_vm_mem1 ;
2560   cputime_t acct_timexpd ;
2561   nodemask_t mems_allowed ;
2562   seqcount_t mems_allowed_seq ;
2563   int cpuset_mem_spread_rotor ;
2564   int cpuset_slab_spread_rotor ;
2565   struct css_set *cgroups ;
2566   struct list_head cg_list ;
2567   struct robust_list_head *robust_list ;
2568   struct compat_robust_list_head *compat_robust_list ;
2569   struct list_head pi_state_list ;
2570   struct futex_pi_state *pi_state_cache ;
2571   struct perf_event_context *perf_event_ctxp[2U] ;
2572   struct mutex perf_event_mutex ;
2573   struct list_head perf_event_list ;
2574   struct mempolicy *mempolicy ;
2575   short il_next ;
2576   short pref_node_fork ;
2577   struct rcu_head rcu ;
2578   struct pipe_inode_info *splice_pipe ;
2579   struct task_delay_info *delays ;
2580   int make_it_fail ;
2581   int nr_dirtied ;
2582   int nr_dirtied_pause ;
2583   unsigned long dirty_paused_when ;
2584   int latency_record_count ;
2585   struct latency_record latency_record[32U] ;
2586   unsigned long timer_slack_ns ;
2587   unsigned long default_timer_slack_ns ;
2588   struct list_head *scm_work_list ;
2589   unsigned long trace ;
2590   unsigned long trace_recursion ;
2591   struct memcg_batch_info memcg_batch ;
2592   atomic_t ptrace_bp_refcnt ;
2593};
2594#line 28 "include/linux/of.h"
2595typedef u32 phandle;
2596#line 30 "include/linux/of.h"
2597struct property {
2598   char *name ;
2599   int length ;
2600   void *value ;
2601   struct property *next ;
2602   unsigned long _flags ;
2603   unsigned int unique_id ;
2604};
2605#line 39
2606struct proc_dir_entry;
2607#line 39 "include/linux/of.h"
2608struct device_node {
2609   char const   *name ;
2610   char const   *type ;
2611   phandle phandle ;
2612   char *full_name ;
2613   struct property *properties ;
2614   struct property *deadprops ;
2615   struct device_node *parent ;
2616   struct device_node *child ;
2617   struct device_node *sibling ;
2618   struct device_node *next ;
2619   struct device_node *allnext ;
2620   struct proc_dir_entry *pde ;
2621   struct kref kref ;
2622   unsigned long _flags ;
2623   void *data ;
2624};
2625#line 41 "include/linux/i2c.h"
2626struct i2c_msg;
2627#line 41
2628struct i2c_msg;
2629#line 42
2630struct i2c_algorithm;
2631#line 42
2632struct i2c_algorithm;
2633#line 43
2634struct i2c_adapter;
2635#line 43
2636struct i2c_adapter;
2637#line 44
2638struct i2c_client;
2639#line 44
2640struct i2c_client;
2641#line 45
2642struct i2c_driver;
2643#line 45
2644struct i2c_driver;
2645#line 46
2646union i2c_smbus_data;
2647#line 46
2648union i2c_smbus_data;
2649#line 47
2650struct i2c_board_info;
2651#line 47
2652struct i2c_board_info;
2653#line 119 "include/linux/i2c.h"
2654struct i2c_driver {
2655   unsigned int class ;
2656   int (*attach_adapter)(struct i2c_adapter * ) ;
2657   int (*detach_adapter)(struct i2c_adapter * ) ;
2658   int (*probe)(struct i2c_client * , struct i2c_device_id  const  * ) ;
2659   int (*remove)(struct i2c_client * ) ;
2660   void (*shutdown)(struct i2c_client * ) ;
2661   int (*suspend)(struct i2c_client * , pm_message_t  ) ;
2662   int (*resume)(struct i2c_client * ) ;
2663   void (*alert)(struct i2c_client * , unsigned int  ) ;
2664   int (*command)(struct i2c_client * , unsigned int  , void * ) ;
2665   struct device_driver driver ;
2666   struct i2c_device_id  const  *id_table ;
2667   int (*detect)(struct i2c_client * , struct i2c_board_info * ) ;
2668   unsigned short const   *address_list ;
2669   struct list_head clients ;
2670};
2671#line 200 "include/linux/i2c.h"
2672struct i2c_client {
2673   unsigned short flags ;
2674   unsigned short addr ;
2675   char name[20U] ;
2676   struct i2c_adapter *adapter ;
2677   struct i2c_driver *driver ;
2678   struct device dev ;
2679   int irq ;
2680   struct list_head detected ;
2681};
2682#line 251 "include/linux/i2c.h"
2683struct i2c_board_info {
2684   char type[20U] ;
2685   unsigned short flags ;
2686   unsigned short addr ;
2687   void *platform_data ;
2688   struct dev_archdata *archdata ;
2689   struct device_node *of_node ;
2690   int irq ;
2691};
2692#line 336 "include/linux/i2c.h"
2693struct i2c_algorithm {
2694   int (*master_xfer)(struct i2c_adapter * , struct i2c_msg * , int  ) ;
2695   int (*smbus_xfer)(struct i2c_adapter * , u16  , unsigned short  , char  , u8  ,
2696                     int  , union i2c_smbus_data * ) ;
2697   u32 (*functionality)(struct i2c_adapter * ) ;
2698};
2699#line 368 "include/linux/i2c.h"
2700struct i2c_adapter {
2701   struct module *owner ;
2702   unsigned int class ;
2703   struct i2c_algorithm  const  *algo ;
2704   void *algo_data ;
2705   struct rt_mutex bus_lock ;
2706   int timeout ;
2707   int retries ;
2708   struct device dev ;
2709   int nr ;
2710   char name[48U] ;
2711   struct completion dev_released ;
2712   struct mutex userspace_clients_lock ;
2713   struct list_head userspace_clients ;
2714};
2715#line 486 "include/linux/i2c.h"
2716struct i2c_msg {
2717   __u16 addr ;
2718   __u16 flags ;
2719   __u16 len ;
2720   __u8 *buf ;
2721};
2722#line 551 "include/linux/i2c.h"
2723union i2c_smbus_data {
2724   __u8 byte ;
2725   __u16 word ;
2726   __u8 block[34U] ;
2727};
2728#line 188 "include/linux/serial.h"
2729struct serial_icounter_struct {
2730   int cts ;
2731   int dsr ;
2732   int rng ;
2733   int dcd ;
2734   int rx ;
2735   int tx ;
2736   int frame ;
2737   int overrun ;
2738   int parity ;
2739   int brk ;
2740   int buf_overrun ;
2741   int reserved[9U] ;
2742};
2743#line 41 "include/asm-generic/sections.h"
2744struct exception_table_entry {
2745   unsigned long insn ;
2746   unsigned long fixup ;
2747};
2748#line 16 "include/linux/circ_buf.h"
2749struct block_device;
2750#line 16
2751struct block_device;
2752#line 89 "include/linux/kdev_t.h"
2753struct hlist_bl_node;
2754#line 89 "include/linux/kdev_t.h"
2755struct hlist_bl_head {
2756   struct hlist_bl_node *first ;
2757};
2758#line 36 "include/linux/list_bl.h"
2759struct hlist_bl_node {
2760   struct hlist_bl_node *next ;
2761   struct hlist_bl_node **pprev ;
2762};
2763#line 114 "include/linux/rculist_bl.h"
2764struct nameidata;
2765#line 114
2766struct nameidata;
2767#line 115
2768struct path;
2769#line 115
2770struct path;
2771#line 116
2772struct vfsmount;
2773#line 116
2774struct vfsmount;
2775#line 117 "include/linux/rculist_bl.h"
2776struct qstr {
2777   unsigned int hash ;
2778   unsigned int len ;
2779   unsigned char const   *name ;
2780};
2781#line 72 "include/linux/dcache.h"
2782struct dentry_operations;
2783#line 72
2784struct super_block;
2785#line 72 "include/linux/dcache.h"
2786union __anonunion_d_u_165 {
2787   struct list_head d_child ;
2788   struct rcu_head d_rcu ;
2789};
2790#line 72 "include/linux/dcache.h"
2791struct dentry {
2792   unsigned int d_flags ;
2793   seqcount_t d_seq ;
2794   struct hlist_bl_node d_hash ;
2795   struct dentry *d_parent ;
2796   struct qstr d_name ;
2797   struct inode *d_inode ;
2798   unsigned char d_iname[32U] ;
2799   unsigned int d_count ;
2800   spinlock_t d_lock ;
2801   struct dentry_operations  const  *d_op ;
2802   struct super_block *d_sb ;
2803   unsigned long d_time ;
2804   void *d_fsdata ;
2805   struct list_head d_lru ;
2806   union __anonunion_d_u_165 d_u ;
2807   struct list_head d_subdirs ;
2808   struct list_head d_alias ;
2809};
2810#line 123 "include/linux/dcache.h"
2811struct dentry_operations {
2812   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2813   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2814   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2815                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2816   int (*d_delete)(struct dentry  const  * ) ;
2817   void (*d_release)(struct dentry * ) ;
2818   void (*d_prune)(struct dentry * ) ;
2819   void (*d_iput)(struct dentry * , struct inode * ) ;
2820   char *(*d_dname)(struct dentry * , char * , int  ) ;
2821   struct vfsmount *(*d_automount)(struct path * ) ;
2822   int (*d_manage)(struct dentry * , bool  ) ;
2823};
2824#line 402 "include/linux/dcache.h"
2825struct path {
2826   struct vfsmount *mnt ;
2827   struct dentry *dentry ;
2828};
2829#line 58 "include/linux/radix-tree.h"
2830struct radix_tree_node;
2831#line 58 "include/linux/radix-tree.h"
2832struct radix_tree_root {
2833   unsigned int height ;
2834   gfp_t gfp_mask ;
2835   struct radix_tree_node *rnode ;
2836};
2837#line 45 "include/linux/semaphore.h"
2838struct fiemap_extent {
2839   __u64 fe_logical ;
2840   __u64 fe_physical ;
2841   __u64 fe_length ;
2842   __u64 fe_reserved64[2U] ;
2843   __u32 fe_flags ;
2844   __u32 fe_reserved[3U] ;
2845};
2846#line 38 "include/linux/fiemap.h"
2847enum migrate_mode {
2848    MIGRATE_ASYNC = 0,
2849    MIGRATE_SYNC_LIGHT = 1,
2850    MIGRATE_SYNC = 2
2851} ;
2852#line 44
2853struct export_operations;
2854#line 44
2855struct export_operations;
2856#line 46
2857struct poll_table_struct;
2858#line 46
2859struct poll_table_struct;
2860#line 47
2861struct kstatfs;
2862#line 47
2863struct kstatfs;
2864#line 435 "include/linux/fs.h"
2865struct iattr {
2866   unsigned int ia_valid ;
2867   umode_t ia_mode ;
2868   uid_t ia_uid ;
2869   gid_t ia_gid ;
2870   loff_t ia_size ;
2871   struct timespec ia_atime ;
2872   struct timespec ia_mtime ;
2873   struct timespec ia_ctime ;
2874   struct file *ia_file ;
2875};
2876#line 119 "include/linux/quota.h"
2877struct if_dqinfo {
2878   __u64 dqi_bgrace ;
2879   __u64 dqi_igrace ;
2880   __u32 dqi_flags ;
2881   __u32 dqi_valid ;
2882};
2883#line 152 "include/linux/quota.h"
2884struct fs_disk_quota {
2885   __s8 d_version ;
2886   __s8 d_flags ;
2887   __u16 d_fieldmask ;
2888   __u32 d_id ;
2889   __u64 d_blk_hardlimit ;
2890   __u64 d_blk_softlimit ;
2891   __u64 d_ino_hardlimit ;
2892   __u64 d_ino_softlimit ;
2893   __u64 d_bcount ;
2894   __u64 d_icount ;
2895   __s32 d_itimer ;
2896   __s32 d_btimer ;
2897   __u16 d_iwarns ;
2898   __u16 d_bwarns ;
2899   __s32 d_padding2 ;
2900   __u64 d_rtb_hardlimit ;
2901   __u64 d_rtb_softlimit ;
2902   __u64 d_rtbcount ;
2903   __s32 d_rtbtimer ;
2904   __u16 d_rtbwarns ;
2905   __s16 d_padding3 ;
2906   char d_padding4[8U] ;
2907};
2908#line 75 "include/linux/dqblk_xfs.h"
2909struct fs_qfilestat {
2910   __u64 qfs_ino ;
2911   __u64 qfs_nblks ;
2912   __u32 qfs_nextents ;
2913};
2914#line 150 "include/linux/dqblk_xfs.h"
2915typedef struct fs_qfilestat fs_qfilestat_t;
2916#line 151 "include/linux/dqblk_xfs.h"
2917struct fs_quota_stat {
2918   __s8 qs_version ;
2919   __u16 qs_flags ;
2920   __s8 qs_pad ;
2921   fs_qfilestat_t qs_uquota ;
2922   fs_qfilestat_t qs_gquota ;
2923   __u32 qs_incoredqs ;
2924   __s32 qs_btimelimit ;
2925   __s32 qs_itimelimit ;
2926   __s32 qs_rtbtimelimit ;
2927   __u16 qs_bwarnlimit ;
2928   __u16 qs_iwarnlimit ;
2929};
2930#line 165
2931struct dquot;
2932#line 165
2933struct dquot;
2934#line 185 "include/linux/quota.h"
2935typedef __kernel_uid32_t qid_t;
2936#line 186 "include/linux/quota.h"
2937typedef long long qsize_t;
2938#line 189 "include/linux/quota.h"
2939struct mem_dqblk {
2940   qsize_t dqb_bhardlimit ;
2941   qsize_t dqb_bsoftlimit ;
2942   qsize_t dqb_curspace ;
2943   qsize_t dqb_rsvspace ;
2944   qsize_t dqb_ihardlimit ;
2945   qsize_t dqb_isoftlimit ;
2946   qsize_t dqb_curinodes ;
2947   time_t dqb_btime ;
2948   time_t dqb_itime ;
2949};
2950#line 211
2951struct quota_format_type;
2952#line 211
2953struct quota_format_type;
2954#line 212 "include/linux/quota.h"
2955struct mem_dqinfo {
2956   struct quota_format_type *dqi_format ;
2957   int dqi_fmt_id ;
2958   struct list_head dqi_dirty_list ;
2959   unsigned long dqi_flags ;
2960   unsigned int dqi_bgrace ;
2961   unsigned int dqi_igrace ;
2962   qsize_t dqi_maxblimit ;
2963   qsize_t dqi_maxilimit ;
2964   void *dqi_priv ;
2965};
2966#line 275 "include/linux/quota.h"
2967struct dquot {
2968   struct hlist_node dq_hash ;
2969   struct list_head dq_inuse ;
2970   struct list_head dq_free ;
2971   struct list_head dq_dirty ;
2972   struct mutex dq_lock ;
2973   atomic_t dq_count ;
2974   wait_queue_head_t dq_wait_unused ;
2975   struct super_block *dq_sb ;
2976   unsigned int dq_id ;
2977   loff_t dq_off ;
2978   unsigned long dq_flags ;
2979   short dq_type ;
2980   struct mem_dqblk dq_dqb ;
2981};
2982#line 303 "include/linux/quota.h"
2983struct quota_format_ops {
2984   int (*check_quota_file)(struct super_block * , int  ) ;
2985   int (*read_file_info)(struct super_block * , int  ) ;
2986   int (*write_file_info)(struct super_block * , int  ) ;
2987   int (*free_file_info)(struct super_block * , int  ) ;
2988   int (*read_dqblk)(struct dquot * ) ;
2989   int (*commit_dqblk)(struct dquot * ) ;
2990   int (*release_dqblk)(struct dquot * ) ;
2991};
2992#line 314 "include/linux/quota.h"
2993struct dquot_operations {
2994   int (*write_dquot)(struct dquot * ) ;
2995   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2996   void (*destroy_dquot)(struct dquot * ) ;
2997   int (*acquire_dquot)(struct dquot * ) ;
2998   int (*release_dquot)(struct dquot * ) ;
2999   int (*mark_dirty)(struct dquot * ) ;
3000   int (*write_info)(struct super_block * , int  ) ;
3001   qsize_t *(*get_reserved_space)(struct inode * ) ;
3002};
3003#line 328 "include/linux/quota.h"
3004struct quotactl_ops {
3005   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
3006   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
3007   int (*quota_off)(struct super_block * , int  ) ;
3008   int (*quota_sync)(struct super_block * , int  , int  ) ;
3009   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
3010   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
3011   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
3012   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
3013   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3014   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
3015};
3016#line 344 "include/linux/quota.h"
3017struct quota_format_type {
3018   int qf_fmt_id ;
3019   struct quota_format_ops  const  *qf_ops ;
3020   struct module *qf_owner ;
3021   struct quota_format_type *qf_next ;
3022};
3023#line 390 "include/linux/quota.h"
3024struct quota_info {
3025   unsigned int flags ;
3026   struct mutex dqio_mutex ;
3027   struct mutex dqonoff_mutex ;
3028   struct rw_semaphore dqptr_sem ;
3029   struct inode *files[2U] ;
3030   struct mem_dqinfo info[2U] ;
3031   struct quota_format_ops  const  *ops[2U] ;
3032};
3033#line 585 "include/linux/fs.h"
3034union __anonunion_arg_167 {
3035   char *buf ;
3036   void *data ;
3037};
3038#line 585 "include/linux/fs.h"
3039struct __anonstruct_read_descriptor_t_166 {
3040   size_t written ;
3041   size_t count ;
3042   union __anonunion_arg_167 arg ;
3043   int error ;
3044};
3045#line 585 "include/linux/fs.h"
3046typedef struct __anonstruct_read_descriptor_t_166 read_descriptor_t;
3047#line 588 "include/linux/fs.h"
3048struct address_space_operations {
3049   int (*writepage)(struct page * , struct writeback_control * ) ;
3050   int (*readpage)(struct file * , struct page * ) ;
3051   int (*writepages)(struct address_space * , struct writeback_control * ) ;
3052   int (*set_page_dirty)(struct page * ) ;
3053   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
3054                    unsigned int  ) ;
3055   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
3056                      unsigned int  , struct page ** , void ** ) ;
3057   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
3058                    unsigned int  , struct page * , void * ) ;
3059   sector_t (*bmap)(struct address_space * , sector_t  ) ;
3060   void (*invalidatepage)(struct page * , unsigned long  ) ;
3061   int (*releasepage)(struct page * , gfp_t  ) ;
3062   void (*freepage)(struct page * ) ;
3063   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
3064                        unsigned long  ) ;
3065   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
3066   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
3067   int (*launder_page)(struct page * ) ;
3068   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
3069   int (*error_remove_page)(struct address_space * , struct page * ) ;
3070};
3071#line 642 "include/linux/fs.h"
3072struct address_space {
3073   struct inode *host ;
3074   struct radix_tree_root page_tree ;
3075   spinlock_t tree_lock ;
3076   unsigned int i_mmap_writable ;
3077   struct prio_tree_root i_mmap ;
3078   struct list_head i_mmap_nonlinear ;
3079   struct mutex i_mmap_mutex ;
3080   unsigned long nrpages ;
3081   unsigned long writeback_index ;
3082   struct address_space_operations  const  *a_ops ;
3083   unsigned long flags ;
3084   struct backing_dev_info *backing_dev_info ;
3085   spinlock_t private_lock ;
3086   struct list_head private_list ;
3087   struct address_space *assoc_mapping ;
3088};
3089#line 664
3090struct request_queue;
3091#line 664
3092struct request_queue;
3093#line 665
3094struct hd_struct;
3095#line 665
3096struct gendisk;
3097#line 665 "include/linux/fs.h"
3098struct block_device {
3099   dev_t bd_dev ;
3100   int bd_openers ;
3101   struct inode *bd_inode ;
3102   struct super_block *bd_super ;
3103   struct mutex bd_mutex ;
3104   struct list_head bd_inodes ;
3105   void *bd_claiming ;
3106   void *bd_holder ;
3107   int bd_holders ;
3108   bool bd_write_holder ;
3109   struct list_head bd_holder_disks ;
3110   struct block_device *bd_contains ;
3111   unsigned int bd_block_size ;
3112   struct hd_struct *bd_part ;
3113   unsigned int bd_part_count ;
3114   int bd_invalidated ;
3115   struct gendisk *bd_disk ;
3116   struct request_queue *bd_queue ;
3117   struct list_head bd_list ;
3118   unsigned long bd_private ;
3119   int bd_fsfreeze_count ;
3120   struct mutex bd_fsfreeze_mutex ;
3121};
3122#line 737
3123struct posix_acl;
3124#line 737
3125struct posix_acl;
3126#line 738
3127struct inode_operations;
3128#line 738 "include/linux/fs.h"
3129union __anonunion_ldv_23795_168 {
3130   unsigned int const   i_nlink ;
3131   unsigned int __i_nlink ;
3132};
3133#line 738 "include/linux/fs.h"
3134union __anonunion_ldv_23814_169 {
3135   struct list_head i_dentry ;
3136   struct rcu_head i_rcu ;
3137};
3138#line 738
3139struct file_operations;
3140#line 738
3141struct file_lock;
3142#line 738
3143struct cdev;
3144#line 738 "include/linux/fs.h"
3145union __anonunion_ldv_23832_170 {
3146   struct pipe_inode_info *i_pipe ;
3147   struct block_device *i_bdev ;
3148   struct cdev *i_cdev ;
3149};
3150#line 738 "include/linux/fs.h"
3151struct inode {
3152   umode_t i_mode ;
3153   unsigned short i_opflags ;
3154   uid_t i_uid ;
3155   gid_t i_gid ;
3156   unsigned int i_flags ;
3157   struct posix_acl *i_acl ;
3158   struct posix_acl *i_default_acl ;
3159   struct inode_operations  const  *i_op ;
3160   struct super_block *i_sb ;
3161   struct address_space *i_mapping ;
3162   void *i_security ;
3163   unsigned long i_ino ;
3164   union __anonunion_ldv_23795_168 ldv_23795 ;
3165   dev_t i_rdev ;
3166   struct timespec i_atime ;
3167   struct timespec i_mtime ;
3168   struct timespec i_ctime ;
3169   spinlock_t i_lock ;
3170   unsigned short i_bytes ;
3171   blkcnt_t i_blocks ;
3172   loff_t i_size ;
3173   unsigned long i_state ;
3174   struct mutex i_mutex ;
3175   unsigned long dirtied_when ;
3176   struct hlist_node i_hash ;
3177   struct list_head i_wb_list ;
3178   struct list_head i_lru ;
3179   struct list_head i_sb_list ;
3180   union __anonunion_ldv_23814_169 ldv_23814 ;
3181   atomic_t i_count ;
3182   unsigned int i_blkbits ;
3183   u64 i_version ;
3184   atomic_t i_dio_count ;
3185   atomic_t i_writecount ;
3186   struct file_operations  const  *i_fop ;
3187   struct file_lock *i_flock ;
3188   struct address_space i_data ;
3189   struct dquot *i_dquot[2U] ;
3190   struct list_head i_devices ;
3191   union __anonunion_ldv_23832_170 ldv_23832 ;
3192   __u32 i_generation ;
3193   __u32 i_fsnotify_mask ;
3194   struct hlist_head i_fsnotify_marks ;
3195   atomic_t i_readcount ;
3196   void *i_private ;
3197};
3198#line 941 "include/linux/fs.h"
3199struct fown_struct {
3200   rwlock_t lock ;
3201   struct pid *pid ;
3202   enum pid_type pid_type ;
3203   uid_t uid ;
3204   uid_t euid ;
3205   int signum ;
3206};
3207#line 949 "include/linux/fs.h"
3208struct file_ra_state {
3209   unsigned long start ;
3210   unsigned int size ;
3211   unsigned int async_size ;
3212   unsigned int ra_pages ;
3213   unsigned int mmap_miss ;
3214   loff_t prev_pos ;
3215};
3216#line 972 "include/linux/fs.h"
3217union __anonunion_f_u_171 {
3218   struct list_head fu_list ;
3219   struct rcu_head fu_rcuhead ;
3220};
3221#line 972 "include/linux/fs.h"
3222struct file {
3223   union __anonunion_f_u_171 f_u ;
3224   struct path f_path ;
3225   struct file_operations  const  *f_op ;
3226   spinlock_t f_lock ;
3227   int f_sb_list_cpu ;
3228   atomic_long_t f_count ;
3229   unsigned int f_flags ;
3230   fmode_t f_mode ;
3231   loff_t f_pos ;
3232   struct fown_struct f_owner ;
3233   struct cred  const  *f_cred ;
3234   struct file_ra_state f_ra ;
3235   u64 f_version ;
3236   void *f_security ;
3237   void *private_data ;
3238   struct list_head f_ep_links ;
3239   struct list_head f_tfile_llink ;
3240   struct address_space *f_mapping ;
3241   unsigned long f_mnt_write_state ;
3242};
3243#line 1111 "include/linux/fs.h"
3244typedef struct files_struct *fl_owner_t;
3245#line 1112 "include/linux/fs.h"
3246struct file_lock_operations {
3247   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3248   void (*fl_release_private)(struct file_lock * ) ;
3249};
3250#line 1117 "include/linux/fs.h"
3251struct lock_manager_operations {
3252   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3253   void (*lm_notify)(struct file_lock * ) ;
3254   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
3255   void (*lm_release_private)(struct file_lock * ) ;
3256   void (*lm_break)(struct file_lock * ) ;
3257   int (*lm_change)(struct file_lock ** , int  ) ;
3258};
3259#line 1134
3260struct nlm_lockowner;
3261#line 1134
3262struct nlm_lockowner;
3263#line 1135 "include/linux/fs.h"
3264struct nfs_lock_info {
3265   u32 state ;
3266   struct nlm_lockowner *owner ;
3267   struct list_head list ;
3268};
3269#line 14 "include/linux/nfs_fs_i.h"
3270struct nfs4_lock_state;
3271#line 14
3272struct nfs4_lock_state;
3273#line 15 "include/linux/nfs_fs_i.h"
3274struct nfs4_lock_info {
3275   struct nfs4_lock_state *owner ;
3276};
3277#line 19
3278struct fasync_struct;
3279#line 19 "include/linux/nfs_fs_i.h"
3280struct __anonstruct_afs_173 {
3281   struct list_head link ;
3282   int state ;
3283};
3284#line 19 "include/linux/nfs_fs_i.h"
3285union __anonunion_fl_u_172 {
3286   struct nfs_lock_info nfs_fl ;
3287   struct nfs4_lock_info nfs4_fl ;
3288   struct __anonstruct_afs_173 afs ;
3289};
3290#line 19 "include/linux/nfs_fs_i.h"
3291struct file_lock {
3292   struct file_lock *fl_next ;
3293   struct list_head fl_link ;
3294   struct list_head fl_block ;
3295   fl_owner_t fl_owner ;
3296   unsigned int fl_flags ;
3297   unsigned char fl_type ;
3298   unsigned int fl_pid ;
3299   struct pid *fl_nspid ;
3300   wait_queue_head_t fl_wait ;
3301   struct file *fl_file ;
3302   loff_t fl_start ;
3303   loff_t fl_end ;
3304   struct fasync_struct *fl_fasync ;
3305   unsigned long fl_break_time ;
3306   unsigned long fl_downgrade_time ;
3307   struct file_lock_operations  const  *fl_ops ;
3308   struct lock_manager_operations  const  *fl_lmops ;
3309   union __anonunion_fl_u_172 fl_u ;
3310};
3311#line 1221 "include/linux/fs.h"
3312struct fasync_struct {
3313   spinlock_t fa_lock ;
3314   int magic ;
3315   int fa_fd ;
3316   struct fasync_struct *fa_next ;
3317   struct file *fa_file ;
3318   struct rcu_head fa_rcu ;
3319};
3320#line 1417
3321struct file_system_type;
3322#line 1417
3323struct super_operations;
3324#line 1417
3325struct xattr_handler;
3326#line 1417
3327struct mtd_info;
3328#line 1417 "include/linux/fs.h"
3329struct super_block {
3330   struct list_head s_list ;
3331   dev_t s_dev ;
3332   unsigned char s_dirt ;
3333   unsigned char s_blocksize_bits ;
3334   unsigned long s_blocksize ;
3335   loff_t s_maxbytes ;
3336   struct file_system_type *s_type ;
3337   struct super_operations  const  *s_op ;
3338   struct dquot_operations  const  *dq_op ;
3339   struct quotactl_ops  const  *s_qcop ;
3340   struct export_operations  const  *s_export_op ;
3341   unsigned long s_flags ;
3342   unsigned long s_magic ;
3343   struct dentry *s_root ;
3344   struct rw_semaphore s_umount ;
3345   struct mutex s_lock ;
3346   int s_count ;
3347   atomic_t s_active ;
3348   void *s_security ;
3349   struct xattr_handler  const  **s_xattr ;
3350   struct list_head s_inodes ;
3351   struct hlist_bl_head s_anon ;
3352   struct list_head *s_files ;
3353   struct list_head s_mounts ;
3354   struct list_head s_dentry_lru ;
3355   int s_nr_dentry_unused ;
3356   spinlock_t s_inode_lru_lock ;
3357   struct list_head s_inode_lru ;
3358   int s_nr_inodes_unused ;
3359   struct block_device *s_bdev ;
3360   struct backing_dev_info *s_bdi ;
3361   struct mtd_info *s_mtd ;
3362   struct hlist_node s_instances ;
3363   struct quota_info s_dquot ;
3364   int s_frozen ;
3365   wait_queue_head_t s_wait_unfrozen ;
3366   char s_id[32U] ;
3367   u8 s_uuid[16U] ;
3368   void *s_fs_info ;
3369   unsigned int s_max_links ;
3370   fmode_t s_mode ;
3371   u32 s_time_gran ;
3372   struct mutex s_vfs_rename_mutex ;
3373   char *s_subtype ;
3374   char *s_options ;
3375   struct dentry_operations  const  *s_d_op ;
3376   int cleancache_poolid ;
3377   struct shrinker s_shrink ;
3378   atomic_long_t s_remove_count ;
3379   int s_readonly_remount ;
3380};
3381#line 1563 "include/linux/fs.h"
3382struct fiemap_extent_info {
3383   unsigned int fi_flags ;
3384   unsigned int fi_extents_mapped ;
3385   unsigned int fi_extents_max ;
3386   struct fiemap_extent *fi_extents_start ;
3387};
3388#line 1602 "include/linux/fs.h"
3389struct file_operations {
3390   struct module *owner ;
3391   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
3392   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
3393   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
3394   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3395                       loff_t  ) ;
3396   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3397                        loff_t  ) ;
3398   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
3399                                                   loff_t  , u64  , unsigned int  ) ) ;
3400   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3401   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3402   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3403   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3404   int (*open)(struct inode * , struct file * ) ;
3405   int (*flush)(struct file * , fl_owner_t  ) ;
3406   int (*release)(struct inode * , struct file * ) ;
3407   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
3408   int (*aio_fsync)(struct kiocb * , int  ) ;
3409   int (*fasync)(int  , struct file * , int  ) ;
3410   int (*lock)(struct file * , int  , struct file_lock * ) ;
3411   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3412                       int  ) ;
3413   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3414                                      unsigned long  , unsigned long  ) ;
3415   int (*check_flags)(int  ) ;
3416   int (*flock)(struct file * , int  , struct file_lock * ) ;
3417   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3418                           unsigned int  ) ;
3419   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3420                          unsigned int  ) ;
3421   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3422   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
3423};
3424#line 1637 "include/linux/fs.h"
3425struct inode_operations {
3426   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3427   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3428   int (*permission)(struct inode * , int  ) ;
3429   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3430   int (*readlink)(struct dentry * , char * , int  ) ;
3431   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3432   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3433   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3434   int (*unlink)(struct inode * , struct dentry * ) ;
3435   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3436   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3437   int (*rmdir)(struct inode * , struct dentry * ) ;
3438   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3439   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3440   void (*truncate)(struct inode * ) ;
3441   int (*setattr)(struct dentry * , struct iattr * ) ;
3442   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3443   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3444   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3445   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3446   int (*removexattr)(struct dentry * , char const   * ) ;
3447   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3448   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
3449};
3450#line 1682 "include/linux/fs.h"
3451struct super_operations {
3452   struct inode *(*alloc_inode)(struct super_block * ) ;
3453   void (*destroy_inode)(struct inode * ) ;
3454   void (*dirty_inode)(struct inode * , int  ) ;
3455   int (*write_inode)(struct inode * , struct writeback_control * ) ;
3456   int (*drop_inode)(struct inode * ) ;
3457   void (*evict_inode)(struct inode * ) ;
3458   void (*put_super)(struct super_block * ) ;
3459   void (*write_super)(struct super_block * ) ;
3460   int (*sync_fs)(struct super_block * , int  ) ;
3461   int (*freeze_fs)(struct super_block * ) ;
3462   int (*unfreeze_fs)(struct super_block * ) ;
3463   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3464   int (*remount_fs)(struct super_block * , int * , char * ) ;
3465   void (*umount_begin)(struct super_block * ) ;
3466   int (*show_options)(struct seq_file * , struct dentry * ) ;
3467   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3468   int (*show_path)(struct seq_file * , struct dentry * ) ;
3469   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3470   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3471   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3472                          loff_t  ) ;
3473   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3474   int (*nr_cached_objects)(struct super_block * ) ;
3475   void (*free_cached_objects)(struct super_block * , int  ) ;
3476};
3477#line 1834 "include/linux/fs.h"
3478struct file_system_type {
3479   char const   *name ;
3480   int fs_flags ;
3481   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3482   void (*kill_sb)(struct super_block * ) ;
3483   struct module *owner ;
3484   struct file_system_type *next ;
3485   struct hlist_head fs_supers ;
3486   struct lock_class_key s_lock_key ;
3487   struct lock_class_key s_umount_key ;
3488   struct lock_class_key s_vfs_rename_key ;
3489   struct lock_class_key i_lock_key ;
3490   struct lock_class_key i_mutex_key ;
3491   struct lock_class_key i_mutex_dir_key ;
3492};
3493#line 6 "include/asm-generic/termbits.h"
3494typedef unsigned char cc_t;
3495#line 7 "include/asm-generic/termbits.h"
3496typedef unsigned int speed_t;
3497#line 8 "include/asm-generic/termbits.h"
3498typedef unsigned int tcflag_t;
3499#line 30 "include/asm-generic/termbits.h"
3500struct ktermios {
3501   tcflag_t c_iflag ;
3502   tcflag_t c_oflag ;
3503   tcflag_t c_cflag ;
3504   tcflag_t c_lflag ;
3505   cc_t c_line ;
3506   cc_t c_cc[19U] ;
3507   speed_t c_ispeed ;
3508   speed_t c_ospeed ;
3509};
3510#line 41 "include/asm-generic/termbits.h"
3511struct winsize {
3512   unsigned short ws_row ;
3513   unsigned short ws_col ;
3514   unsigned short ws_xpixel ;
3515   unsigned short ws_ypixel ;
3516};
3517#line 138 "include/asm-generic/termios.h"
3518struct termiox {
3519   __u16 x_hflag ;
3520   __u16 x_cflag ;
3521   __u16 x_rflag[5U] ;
3522   __u16 x_sflag ;
3523};
3524#line 16 "include/linux/termios.h"
3525struct cdev {
3526   struct kobject kobj ;
3527   struct module *owner ;
3528   struct file_operations  const  *ops ;
3529   struct list_head list ;
3530   dev_t dev ;
3531   unsigned int count ;
3532};
3533#line 34 "include/linux/cdev.h"
3534struct tty_driver;
3535#line 34
3536struct tty_driver;
3537#line 35 "include/linux/cdev.h"
3538struct tty_operations {
3539   struct tty_struct *(*lookup)(struct tty_driver * , struct inode * , int  ) ;
3540   int (*install)(struct tty_driver * , struct tty_struct * ) ;
3541   void (*remove)(struct tty_driver * , struct tty_struct * ) ;
3542   int (*open)(struct tty_struct * , struct file * ) ;
3543   void (*close)(struct tty_struct * , struct file * ) ;
3544   void (*shutdown)(struct tty_struct * ) ;
3545   void (*cleanup)(struct tty_struct * ) ;
3546   int (*write)(struct tty_struct * , unsigned char const   * , int  ) ;
3547   int (*put_char)(struct tty_struct * , unsigned char  ) ;
3548   void (*flush_chars)(struct tty_struct * ) ;
3549   int (*write_room)(struct tty_struct * ) ;
3550   int (*chars_in_buffer)(struct tty_struct * ) ;
3551   int (*ioctl)(struct tty_struct * , unsigned int  , unsigned long  ) ;
3552   long (*compat_ioctl)(struct tty_struct * , unsigned int  , unsigned long  ) ;
3553   void (*set_termios)(struct tty_struct * , struct ktermios * ) ;
3554   void (*throttle)(struct tty_struct * ) ;
3555   void (*unthrottle)(struct tty_struct * ) ;
3556   void (*stop)(struct tty_struct * ) ;
3557   void (*start)(struct tty_struct * ) ;
3558   void (*hangup)(struct tty_struct * ) ;
3559   int (*break_ctl)(struct tty_struct * , int  ) ;
3560   void (*flush_buffer)(struct tty_struct * ) ;
3561   void (*set_ldisc)(struct tty_struct * ) ;
3562   void (*wait_until_sent)(struct tty_struct * , int  ) ;
3563   void (*send_xchar)(struct tty_struct * , char  ) ;
3564   int (*tiocmget)(struct tty_struct * ) ;
3565   int (*tiocmset)(struct tty_struct * , unsigned int  , unsigned int  ) ;
3566   int (*resize)(struct tty_struct * , struct winsize * ) ;
3567   int (*set_termiox)(struct tty_struct * , struct termiox * ) ;
3568   int (*get_icount)(struct tty_struct * , struct serial_icounter_struct * ) ;
3569   int (*poll_init)(struct tty_driver * , int  , char * ) ;
3570   int (*poll_get_char)(struct tty_driver * , int  ) ;
3571   void (*poll_put_char)(struct tty_driver * , int  , char  ) ;
3572   struct file_operations  const  *proc_fops ;
3573};
3574#line 293 "include/linux/tty_driver.h"
3575struct tty_driver {
3576   int magic ;
3577   struct kref kref ;
3578   struct cdev cdev ;
3579   struct module *owner ;
3580   char const   *driver_name ;
3581   char const   *name ;
3582   int name_base ;
3583   int major ;
3584   int minor_start ;
3585   int num ;
3586   short type ;
3587   short subtype ;
3588   struct ktermios init_termios ;
3589   int flags ;
3590   struct proc_dir_entry *proc_entry ;
3591   struct tty_driver *other ;
3592   struct tty_struct **ttys ;
3593   struct ktermios **termios ;
3594   void *driver_state ;
3595   struct tty_operations  const  *ops ;
3596   struct list_head tty_drivers ;
3597};
3598#line 48 "include/linux/pps_kernel.h"
3599struct pps_event_time {
3600   struct timespec ts_real ;
3601};
3602#line 116 "include/linux/pps_kernel.h"
3603struct tty_ldisc_ops {
3604   int magic ;
3605   char *name ;
3606   int num ;
3607   int flags ;
3608   int (*open)(struct tty_struct * ) ;
3609   void (*close)(struct tty_struct * ) ;
3610   void (*flush_buffer)(struct tty_struct * ) ;
3611   ssize_t (*chars_in_buffer)(struct tty_struct * ) ;
3612   ssize_t (*read)(struct tty_struct * , struct file * , unsigned char * , size_t  ) ;
3613   ssize_t (*write)(struct tty_struct * , struct file * , unsigned char const   * ,
3614                    size_t  ) ;
3615   int (*ioctl)(struct tty_struct * , struct file * , unsigned int  , unsigned long  ) ;
3616   long (*compat_ioctl)(struct tty_struct * , struct file * , unsigned int  , unsigned long  ) ;
3617   void (*set_termios)(struct tty_struct * , struct ktermios * ) ;
3618   unsigned int (*poll)(struct tty_struct * , struct file * , struct poll_table_struct * ) ;
3619   int (*hangup)(struct tty_struct * ) ;
3620   void (*receive_buf)(struct tty_struct * , unsigned char const   * , char * , int  ) ;
3621   void (*write_wakeup)(struct tty_struct * ) ;
3622   void (*dcd_change)(struct tty_struct * , unsigned int  , struct pps_event_time * ) ;
3623   struct module *owner ;
3624   int refcount ;
3625};
3626#line 153 "include/linux/tty_ldisc.h"
3627struct tty_ldisc {
3628   struct tty_ldisc_ops *ops ;
3629   atomic_t users ;
3630};
3631#line 158 "include/linux/tty_ldisc.h"
3632struct tty_buffer {
3633   struct tty_buffer *next ;
3634   char *char_buf_ptr ;
3635   unsigned char *flag_buf_ptr ;
3636   int used ;
3637   int size ;
3638   int commit ;
3639   int read ;
3640   unsigned long data[0U] ;
3641};
3642#line 75 "include/linux/tty.h"
3643struct tty_bufhead {
3644   struct work_struct work ;
3645   spinlock_t lock ;
3646   struct tty_buffer *head ;
3647   struct tty_buffer *tail ;
3648   struct tty_buffer *free ;
3649   int memory_used ;
3650};
3651#line 95
3652struct tty_port;
3653#line 95
3654struct tty_port;
3655#line 96 "include/linux/tty.h"
3656struct tty_port_operations {
3657   int (*carrier_raised)(struct tty_port * ) ;
3658   void (*dtr_rts)(struct tty_port * , int  ) ;
3659   void (*shutdown)(struct tty_port * ) ;
3660   void (*drop)(struct tty_port * ) ;
3661   int (*activate)(struct tty_port * , struct tty_struct * ) ;
3662   void (*destruct)(struct tty_port * ) ;
3663};
3664#line 222 "include/linux/tty.h"
3665struct tty_port {
3666   struct tty_struct *tty ;
3667   struct tty_port_operations  const  *ops ;
3668   spinlock_t lock ;
3669   int blocked_open ;
3670   int count ;
3671   wait_queue_head_t open_wait ;
3672   wait_queue_head_t close_wait ;
3673   wait_queue_head_t delta_msr_wait ;
3674   unsigned long flags ;
3675   unsigned char console : 1 ;
3676   struct mutex mutex ;
3677   struct mutex buf_mutex ;
3678   unsigned char *xmit_buf ;
3679   unsigned int close_delay ;
3680   unsigned int closing_wait ;
3681   int drain_delay ;
3682   struct kref kref ;
3683};
3684#line 244 "include/linux/tty.h"
3685struct tty_struct {
3686   int magic ;
3687   struct kref kref ;
3688   struct device *dev ;
3689   struct tty_driver *driver ;
3690   struct tty_operations  const  *ops ;
3691   int index ;
3692   struct mutex ldisc_mutex ;
3693   struct tty_ldisc *ldisc ;
3694   struct mutex termios_mutex ;
3695   spinlock_t ctrl_lock ;
3696   struct ktermios *termios ;
3697   struct ktermios *termios_locked ;
3698   struct termiox *termiox ;
3699   char name[64U] ;
3700   struct pid *pgrp ;
3701   struct pid *session ;
3702   unsigned long flags ;
3703   int count ;
3704   struct winsize winsize ;
3705   unsigned char stopped : 1 ;
3706   unsigned char hw_stopped : 1 ;
3707   unsigned char flow_stopped : 1 ;
3708   unsigned char packet : 1 ;
3709   unsigned char low_latency : 1 ;
3710   unsigned char warned : 1 ;
3711   unsigned char ctrl_status ;
3712   unsigned int receive_room ;
3713   struct tty_struct *link ;
3714   struct fasync_struct *fasync ;
3715   struct tty_bufhead buf ;
3716   int alt_speed ;
3717   wait_queue_head_t write_wait ;
3718   wait_queue_head_t read_wait ;
3719   struct work_struct hangup_work ;
3720   void *disc_data ;
3721   void *driver_data ;
3722   struct list_head tty_files ;
3723   unsigned int column ;
3724   unsigned char lnext : 1 ;
3725   unsigned char erasing : 1 ;
3726   unsigned char raw : 1 ;
3727   unsigned char real_raw : 1 ;
3728   unsigned char icanon : 1 ;
3729   unsigned char closing : 1 ;
3730   unsigned char echo_overrun : 1 ;
3731   unsigned short minimum_to_wake ;
3732   unsigned long overrun_time ;
3733   int num_overrun ;
3734   unsigned long process_char_map[4U] ;
3735   char *read_buf ;
3736   int read_head ;
3737   int read_tail ;
3738   int read_cnt ;
3739   unsigned long read_flags[64U] ;
3740   unsigned char *echo_buf ;
3741   unsigned int echo_pos ;
3742   unsigned int echo_cnt ;
3743   int canon_data ;
3744   unsigned long canon_head ;
3745   unsigned int canon_column ;
3746   struct mutex atomic_read_lock ;
3747   struct mutex atomic_write_lock ;
3748   struct mutex output_lock ;
3749   struct mutex echo_lock ;
3750   unsigned char *write_buf ;
3751   int write_cnt ;
3752   spinlock_t read_lock ;
3753   struct work_struct SAK_work ;
3754   struct tty_port *port ;
3755};
3756#line 309 "include/linux/kgdb.h"
3757struct fb_fix_screeninfo {
3758   char id[16U] ;
3759   unsigned long smem_start ;
3760   __u32 smem_len ;
3761   __u32 type ;
3762   __u32 type_aux ;
3763   __u32 visual ;
3764   __u16 xpanstep ;
3765   __u16 ypanstep ;
3766   __u16 ywrapstep ;
3767   __u32 line_length ;
3768   unsigned long mmio_start ;
3769   __u32 mmio_len ;
3770   __u32 accel ;
3771   __u16 capabilities ;
3772   __u16 reserved[2U] ;
3773};
3774#line 181 "include/linux/fb.h"
3775struct fb_bitfield {
3776   __u32 offset ;
3777   __u32 length ;
3778   __u32 msb_right ;
3779};
3780#line 197 "include/linux/fb.h"
3781struct fb_var_screeninfo {
3782   __u32 xres ;
3783   __u32 yres ;
3784   __u32 xres_virtual ;
3785   __u32 yres_virtual ;
3786   __u32 xoffset ;
3787   __u32 yoffset ;
3788   __u32 bits_per_pixel ;
3789   __u32 grayscale ;
3790   struct fb_bitfield red ;
3791   struct fb_bitfield green ;
3792   struct fb_bitfield blue ;
3793   struct fb_bitfield transp ;
3794   __u32 nonstd ;
3795   __u32 activate ;
3796   __u32 height ;
3797   __u32 width ;
3798   __u32 accel_flags ;
3799   __u32 pixclock ;
3800   __u32 left_margin ;
3801   __u32 right_margin ;
3802   __u32 upper_margin ;
3803   __u32 lower_margin ;
3804   __u32 hsync_len ;
3805   __u32 vsync_len ;
3806   __u32 sync ;
3807   __u32 vmode ;
3808   __u32 rotate ;
3809   __u32 colorspace ;
3810   __u32 reserved[4U] ;
3811};
3812#line 284 "include/linux/fb.h"
3813struct fb_cmap {
3814   __u32 start ;
3815   __u32 len ;
3816   __u16 *red ;
3817   __u16 *green ;
3818   __u16 *blue ;
3819   __u16 *transp ;
3820};
3821#line 340 "include/linux/fb.h"
3822struct fb_copyarea {
3823   __u32 dx ;
3824   __u32 dy ;
3825   __u32 width ;
3826   __u32 height ;
3827   __u32 sx ;
3828   __u32 sy ;
3829};
3830#line 353 "include/linux/fb.h"
3831struct fb_fillrect {
3832   __u32 dx ;
3833   __u32 dy ;
3834   __u32 width ;
3835   __u32 height ;
3836   __u32 color ;
3837   __u32 rop ;
3838};
3839#line 362 "include/linux/fb.h"
3840struct fb_image {
3841   __u32 dx ;
3842   __u32 dy ;
3843   __u32 width ;
3844   __u32 height ;
3845   __u32 fg_color ;
3846   __u32 bg_color ;
3847   __u8 depth ;
3848   char const   *data ;
3849   struct fb_cmap cmap ;
3850};
3851#line 374 "include/linux/fb.h"
3852struct fbcurpos {
3853   __u16 x ;
3854   __u16 y ;
3855};
3856#line 390 "include/linux/fb.h"
3857struct fb_cursor {
3858   __u16 set ;
3859   __u16 enable ;
3860   __u16 rop ;
3861   char const   *mask ;
3862   struct fbcurpos hot ;
3863   struct fb_image image ;
3864};
3865#line 404
3866enum backlight_type {
3867    BACKLIGHT_RAW = 1,
3868    BACKLIGHT_PLATFORM = 2,
3869    BACKLIGHT_FIRMWARE = 3,
3870    BACKLIGHT_TYPE_MAX = 4
3871} ;
3872#line 411
3873struct backlight_device;
3874#line 411
3875struct backlight_device;
3876#line 412
3877struct fb_info;
3878#line 412
3879struct fb_info;
3880#line 413 "include/linux/fb.h"
3881struct backlight_ops {
3882   unsigned int options ;
3883   int (*update_status)(struct backlight_device * ) ;
3884   int (*get_brightness)(struct backlight_device * ) ;
3885   int (*check_fb)(struct backlight_device * , struct fb_info * ) ;
3886};
3887#line 59 "include/linux/backlight.h"
3888struct backlight_properties {
3889   int brightness ;
3890   int max_brightness ;
3891   int power ;
3892   int fb_blank ;
3893   enum backlight_type type ;
3894   unsigned int state ;
3895};
3896#line 78 "include/linux/backlight.h"
3897struct backlight_device {
3898   struct backlight_properties props ;
3899   struct mutex update_lock ;
3900   struct mutex ops_lock ;
3901   struct backlight_ops  const  *ops ;
3902   struct notifier_block fb_notif ;
3903   struct device dev ;
3904};
3905#line 136 "include/linux/backlight.h"
3906struct fb_chroma {
3907   __u32 redx ;
3908   __u32 greenx ;
3909   __u32 bluex ;
3910   __u32 whitex ;
3911   __u32 redy ;
3912   __u32 greeny ;
3913   __u32 bluey ;
3914   __u32 whitey ;
3915};
3916#line 457 "include/linux/fb.h"
3917struct fb_videomode;
3918#line 457 "include/linux/fb.h"
3919struct fb_monspecs {
3920   struct fb_chroma chroma ;
3921   struct fb_videomode *modedb ;
3922   __u8 manufacturer[4U] ;
3923   __u8 monitor[14U] ;
3924   __u8 serial_no[14U] ;
3925   __u8 ascii[14U] ;
3926   __u32 modedb_len ;
3927   __u32 model ;
3928   __u32 serial ;
3929   __u32 year ;
3930   __u32 week ;
3931   __u32 hfmin ;
3932   __u32 hfmax ;
3933   __u32 dclkmin ;
3934   __u32 dclkmax ;
3935   __u16 input ;
3936   __u16 dpms ;
3937   __u16 signal ;
3938   __u16 vfmin ;
3939   __u16 vfmax ;
3940   __u16 gamma ;
3941   unsigned char gtf : 1 ;
3942   __u16 misc ;
3943   __u8 version ;
3944   __u8 revision ;
3945   __u8 max_x ;
3946   __u8 max_y ;
3947};
3948#line 562 "include/linux/fb.h"
3949struct fb_blit_caps {
3950   u32 x ;
3951   u32 y ;
3952   u32 len ;
3953   u32 flags ;
3954};
3955#line 573 "include/linux/fb.h"
3956struct fb_pixmap {
3957   u8 *addr ;
3958   u32 size ;
3959   u32 offset ;
3960   u32 buf_align ;
3961   u32 scan_align ;
3962   u32 access_align ;
3963   u32 flags ;
3964   u32 blit_x ;
3965   u32 blit_y ;
3966   void (*writeio)(struct fb_info * , void * , void * , unsigned int  ) ;
3967   void (*readio)(struct fb_info * , void * , void * , unsigned int  ) ;
3968};
3969#line 602 "include/linux/fb.h"
3970struct fb_deferred_io {
3971   unsigned long delay ;
3972   struct mutex lock ;
3973   struct list_head pagelist ;
3974   void (*deferred_io)(struct fb_info * , struct list_head * ) ;
3975};
3976#line 612 "include/linux/fb.h"
3977struct fb_ops {
3978   struct module *owner ;
3979   int (*fb_open)(struct fb_info * , int  ) ;
3980   int (*fb_release)(struct fb_info * , int  ) ;
3981   ssize_t (*fb_read)(struct fb_info * , char * , size_t  , loff_t * ) ;
3982   ssize_t (*fb_write)(struct fb_info * , char const   * , size_t  , loff_t * ) ;
3983   int (*fb_check_var)(struct fb_var_screeninfo * , struct fb_info * ) ;
3984   int (*fb_set_par)(struct fb_info * ) ;
3985   int (*fb_setcolreg)(unsigned int  , unsigned int  , unsigned int  , unsigned int  ,
3986                       unsigned int  , struct fb_info * ) ;
3987   int (*fb_setcmap)(struct fb_cmap * , struct fb_info * ) ;
3988   int (*fb_blank)(int  , struct fb_info * ) ;
3989   int (*fb_pan_display)(struct fb_var_screeninfo * , struct fb_info * ) ;
3990   void (*fb_fillrect)(struct fb_info * , struct fb_fillrect  const  * ) ;
3991   void (*fb_copyarea)(struct fb_info * , struct fb_copyarea  const  * ) ;
3992   void (*fb_imageblit)(struct fb_info * , struct fb_image  const  * ) ;
3993   int (*fb_cursor)(struct fb_info * , struct fb_cursor * ) ;
3994   void (*fb_rotate)(struct fb_info * , int  ) ;
3995   int (*fb_sync)(struct fb_info * ) ;
3996   int (*fb_ioctl)(struct fb_info * , unsigned int  , unsigned long  ) ;
3997   int (*fb_compat_ioctl)(struct fb_info * , unsigned int  , unsigned long  ) ;
3998   int (*fb_mmap)(struct fb_info * , struct vm_area_struct * ) ;
3999   void (*fb_get_caps)(struct fb_info * , struct fb_blit_caps * , struct fb_var_screeninfo * ) ;
4000   void (*fb_destroy)(struct fb_info * ) ;
4001   int (*fb_debug_enter)(struct fb_info * ) ;
4002   int (*fb_debug_leave)(struct fb_info * ) ;
4003};
4004#line 700 "include/linux/fb.h"
4005struct fb_tilemap {
4006   __u32 width ;
4007   __u32 height ;
4008   __u32 depth ;
4009   __u32 length ;
4010   __u8 const   *data ;
4011};
4012#line 716 "include/linux/fb.h"
4013struct fb_tilerect {
4014   __u32 sx ;
4015   __u32 sy ;
4016   __u32 width ;
4017   __u32 height ;
4018   __u32 index ;
4019   __u32 fg ;
4020   __u32 bg ;
4021   __u32 rop ;
4022};
4023#line 728 "include/linux/fb.h"
4024struct fb_tilearea {
4025   __u32 sx ;
4026   __u32 sy ;
4027   __u32 dx ;
4028   __u32 dy ;
4029   __u32 width ;
4030   __u32 height ;
4031};
4032#line 737 "include/linux/fb.h"
4033struct fb_tileblit {
4034   __u32 sx ;
4035   __u32 sy ;
4036   __u32 width ;
4037   __u32 height ;
4038   __u32 fg ;
4039   __u32 bg ;
4040   __u32 length ;
4041   __u32 *indices ;
4042};
4043#line 748 "include/linux/fb.h"
4044struct fb_tilecursor {
4045   __u32 sx ;
4046   __u32 sy ;
4047   __u32 mode ;
4048   __u32 shape ;
4049   __u32 fg ;
4050   __u32 bg ;
4051};
4052#line 757 "include/linux/fb.h"
4053struct fb_tile_ops {
4054   void (*fb_settile)(struct fb_info * , struct fb_tilemap * ) ;
4055   void (*fb_tilecopy)(struct fb_info * , struct fb_tilearea * ) ;
4056   void (*fb_tilefill)(struct fb_info * , struct fb_tilerect * ) ;
4057   void (*fb_tileblit)(struct fb_info * , struct fb_tileblit * ) ;
4058   void (*fb_tilecursor)(struct fb_info * , struct fb_tilecursor * ) ;
4059   int (*fb_get_tilemax)(struct fb_info * ) ;
4060};
4061#line 776 "include/linux/fb.h"
4062struct aperture {
4063   resource_size_t base ;
4064   resource_size_t size ;
4065};
4066#line 895 "include/linux/fb.h"
4067struct apertures_struct {
4068   unsigned int count ;
4069   struct aperture ranges[0U] ;
4070};
4071#line 896 "include/linux/fb.h"
4072struct fb_info {
4073   atomic_t count ;
4074   int node ;
4075   int flags ;
4076   struct mutex lock ;
4077   struct mutex mm_lock ;
4078   struct fb_var_screeninfo var ;
4079   struct fb_fix_screeninfo fix ;
4080   struct fb_monspecs monspecs ;
4081   struct work_struct queue ;
4082   struct fb_pixmap pixmap ;
4083   struct fb_pixmap sprite ;
4084   struct fb_cmap cmap ;
4085   struct list_head modelist ;
4086   struct fb_videomode *mode ;
4087   struct backlight_device *bl_dev ;
4088   struct mutex bl_curve_mutex ;
4089   u8 bl_curve[128U] ;
4090   struct delayed_work deferred_work ;
4091   struct fb_deferred_io *fbdefio ;
4092   struct fb_ops *fbops ;
4093   struct device *device ;
4094   struct device *dev ;
4095   int class_flag ;
4096   struct fb_tile_ops *tileops ;
4097   char *screen_base ;
4098   unsigned long screen_size ;
4099   void *pseudo_palette ;
4100   u32 state ;
4101   void *fbcon_par ;
4102   void *par ;
4103   struct apertures_struct *apertures ;
4104};
4105#line 1145 "include/linux/fb.h"
4106struct fb_videomode {
4107   char const   *name ;
4108   u32 refresh ;
4109   u32 xres ;
4110   u32 yres ;
4111   u32 pixclock ;
4112   u32 left_margin ;
4113   u32 right_margin ;
4114   u32 upper_margin ;
4115   u32 lower_margin ;
4116   u32 hsync_len ;
4117   u32 vsync_len ;
4118   u32 sync ;
4119   u32 vmode ;
4120   u32 flag ;
4121};
4122#line 69 "include/linux/io.h"
4123struct hotplug_slot;
4124#line 69 "include/linux/io.h"
4125struct pci_slot {
4126   struct pci_bus *bus ;
4127   struct list_head list ;
4128   struct hotplug_slot *hotplug ;
4129   unsigned char number ;
4130   struct kobject kobj ;
4131};
4132#line 117 "include/linux/pci.h"
4133typedef int pci_power_t;
4134#line 143 "include/linux/pci.h"
4135typedef unsigned int pci_channel_state_t;
4136#line 144
4137enum pci_channel_state {
4138    pci_channel_io_normal = 1,
4139    pci_channel_io_frozen = 2,
4140    pci_channel_io_perm_failure = 3
4141} ;
4142#line 169 "include/linux/pci.h"
4143typedef unsigned short pci_dev_flags_t;
4144#line 186 "include/linux/pci.h"
4145typedef unsigned short pci_bus_flags_t;
4146#line 229
4147struct pcie_link_state;
4148#line 229
4149struct pcie_link_state;
4150#line 230
4151struct pci_vpd;
4152#line 230
4153struct pci_vpd;
4154#line 231
4155struct pci_sriov;
4156#line 231
4157struct pci_sriov;
4158#line 232
4159struct pci_ats;
4160#line 232
4161struct pci_ats;
4162#line 233
4163struct pci_driver;
4164#line 233 "include/linux/pci.h"
4165union __anonunion_ldv_28467_174 {
4166   struct pci_sriov *sriov ;
4167   struct pci_dev *physfn ;
4168};
4169#line 233 "include/linux/pci.h"
4170struct pci_dev {
4171   struct list_head bus_list ;
4172   struct pci_bus *bus ;
4173   struct pci_bus *subordinate ;
4174   void *sysdata ;
4175   struct proc_dir_entry *procent ;
4176   struct pci_slot *slot ;
4177   unsigned int devfn ;
4178   unsigned short vendor ;
4179   unsigned short device ;
4180   unsigned short subsystem_vendor ;
4181   unsigned short subsystem_device ;
4182   unsigned int class ;
4183   u8 revision ;
4184   u8 hdr_type ;
4185   u8 pcie_cap ;
4186   unsigned char pcie_type : 4 ;
4187   unsigned char pcie_mpss : 3 ;
4188   u8 rom_base_reg ;
4189   u8 pin ;
4190   struct pci_driver *driver ;
4191   u64 dma_mask ;
4192   struct device_dma_parameters dma_parms ;
4193   pci_power_t current_state ;
4194   int pm_cap ;
4195   unsigned char pme_support : 5 ;
4196   unsigned char pme_interrupt : 1 ;
4197   unsigned char pme_poll : 1 ;
4198   unsigned char d1_support : 1 ;
4199   unsigned char d2_support : 1 ;
4200   unsigned char no_d1d2 : 1 ;
4201   unsigned char mmio_always_on : 1 ;
4202   unsigned char wakeup_prepared : 1 ;
4203   unsigned int d3_delay ;
4204   struct pcie_link_state *link_state ;
4205   pci_channel_state_t error_state ;
4206   struct device dev ;
4207   int cfg_size ;
4208   unsigned int irq ;
4209   struct resource resource[17U] ;
4210   unsigned char transparent : 1 ;
4211   unsigned char multifunction : 1 ;
4212   unsigned char is_added : 1 ;
4213   unsigned char is_busmaster : 1 ;
4214   unsigned char no_msi : 1 ;
4215   unsigned char block_cfg_access : 1 ;
4216   unsigned char broken_parity_status : 1 ;
4217   unsigned char irq_reroute_variant : 2 ;
4218   unsigned char msi_enabled : 1 ;
4219   unsigned char msix_enabled : 1 ;
4220   unsigned char ari_enabled : 1 ;
4221   unsigned char is_managed : 1 ;
4222   unsigned char is_pcie : 1 ;
4223   unsigned char needs_freset : 1 ;
4224   unsigned char state_saved : 1 ;
4225   unsigned char is_physfn : 1 ;
4226   unsigned char is_virtfn : 1 ;
4227   unsigned char reset_fn : 1 ;
4228   unsigned char is_hotplug_bridge : 1 ;
4229   unsigned char __aer_firmware_first_valid : 1 ;
4230   unsigned char __aer_firmware_first : 1 ;
4231   pci_dev_flags_t dev_flags ;
4232   atomic_t enable_cnt ;
4233   u32 saved_config_space[16U] ;
4234   struct hlist_head saved_cap_space ;
4235   struct bin_attribute *rom_attr ;
4236   int rom_attr_enabled ;
4237   struct bin_attribute *res_attr[17U] ;
4238   struct bin_attribute *res_attr_wc[17U] ;
4239   struct list_head msi_list ;
4240   struct kset *msi_kset ;
4241   struct pci_vpd *vpd ;
4242   union __anonunion_ldv_28467_174 ldv_28467 ;
4243   struct pci_ats *ats ;
4244};
4245#line 403
4246struct pci_ops;
4247#line 403 "include/linux/pci.h"
4248struct pci_bus {
4249   struct list_head node ;
4250   struct pci_bus *parent ;
4251   struct list_head children ;
4252   struct list_head devices ;
4253   struct pci_dev *self ;
4254   struct list_head slots ;
4255   struct resource *resource[4U] ;
4256   struct list_head resources ;
4257   struct pci_ops *ops ;
4258   void *sysdata ;
4259   struct proc_dir_entry *procdir ;
4260   unsigned char number ;
4261   unsigned char primary ;
4262   unsigned char secondary ;
4263   unsigned char subordinate ;
4264   unsigned char max_bus_speed ;
4265   unsigned char cur_bus_speed ;
4266   char name[48U] ;
4267   unsigned short bridge_ctl ;
4268   pci_bus_flags_t bus_flags ;
4269   struct device *bridge ;
4270   struct device dev ;
4271   struct bin_attribute *legacy_io ;
4272   struct bin_attribute *legacy_mem ;
4273   unsigned char is_added : 1 ;
4274};
4275#line 455 "include/linux/pci.h"
4276struct pci_ops {
4277   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
4278   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
4279};
4280#line 490 "include/linux/pci.h"
4281struct pci_dynids {
4282   spinlock_t lock ;
4283   struct list_head list ;
4284};
4285#line 503 "include/linux/pci.h"
4286typedef unsigned int pci_ers_result_t;
4287#line 512 "include/linux/pci.h"
4288struct pci_error_handlers {
4289   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
4290   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
4291   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
4292   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
4293   void (*resume)(struct pci_dev * ) ;
4294};
4295#line 540 "include/linux/pci.h"
4296struct pci_driver {
4297   struct list_head node ;
4298   char const   *name ;
4299   struct pci_device_id  const  *id_table ;
4300   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
4301   void (*remove)(struct pci_dev * ) ;
4302   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
4303   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
4304   int (*resume_early)(struct pci_dev * ) ;
4305   int (*resume)(struct pci_dev * ) ;
4306   void (*shutdown)(struct pci_dev * ) ;
4307   struct pci_error_handlers *err_handler ;
4308   struct device_driver driver ;
4309   struct pci_dynids dynids ;
4310};
4311#line 986 "include/linux/pci.h"
4312struct scatterlist {
4313   unsigned long sg_magic ;
4314   unsigned long page_link ;
4315   unsigned int offset ;
4316   unsigned int length ;
4317   dma_addr_t dma_address ;
4318   unsigned int dma_length ;
4319};
4320#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
4321struct dma_attrs {
4322   unsigned long flags[1U] ;
4323};
4324#line 67 "include/linux/dma-attrs.h"
4325enum dma_data_direction {
4326    DMA_BIDIRECTIONAL = 0,
4327    DMA_TO_DEVICE = 1,
4328    DMA_FROM_DEVICE = 2,
4329    DMA_NONE = 3
4330} ;
4331#line 268 "include/linux/scatterlist.h"
4332struct dma_map_ops {
4333   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
4334   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
4335   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
4336               size_t  , struct dma_attrs * ) ;
4337   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
4338                          enum dma_data_direction  , struct dma_attrs * ) ;
4339   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
4340                      struct dma_attrs * ) ;
4341   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
4342                 struct dma_attrs * ) ;
4343   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
4344                    struct dma_attrs * ) ;
4345   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
4346   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
4347   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
4348   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
4349   int (*mapping_error)(struct device * , dma_addr_t  ) ;
4350   int (*dma_supported)(struct device * , u64  ) ;
4351   int (*set_dma_mask)(struct device * , u64  ) ;
4352   int is_phys ;
4353};
4354#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
4355typedef s32 compat_long_t;
4356#line 212 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
4357typedef u32 compat_uptr_t;
4358#line 225 "include/linux/compat.h"
4359struct compat_robust_list {
4360   compat_uptr_t next ;
4361};
4362#line 229 "include/linux/compat.h"
4363struct compat_robust_list_head {
4364   struct compat_robust_list list ;
4365   compat_long_t futex_offset ;
4366   compat_uptr_t list_op_pending ;
4367};
4368#line 129 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4369struct __anonstruct_vaddr_t_191 {
4370   void *vaddr ;
4371};
4372#line 129 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4373typedef struct __anonstruct_vaddr_t_191 vaddr_t;
4374#line 206 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4375struct my_timming {
4376   unsigned int pixclock ;
4377   int mnp ;
4378   unsigned int crtc ;
4379   unsigned int HDisplay ;
4380   unsigned int HSyncStart ;
4381   unsigned int HSyncEnd ;
4382   unsigned int HTotal ;
4383   unsigned int VDisplay ;
4384   unsigned int VSyncStart ;
4385   unsigned int VSyncEnd ;
4386   unsigned int VTotal ;
4387   unsigned int sync ;
4388   int dblscan ;
4389   int interlaced ;
4390   unsigned int delay ;
4391};
4392#line 232 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4393struct __anonstruct_data_192 {
4394   unsigned int mnp_key ;
4395   unsigned int mnp_value ;
4396};
4397#line 232 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4398struct matrox_pll_cache {
4399   unsigned int valid ;
4400   struct __anonstruct_data_192 data[4U] ;
4401};
4402#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4403struct matrox_pll_limits {
4404   unsigned int vcomin ;
4405   unsigned int vcomax ;
4406};
4407#line 239 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4408struct matrox_pll_features {
4409   unsigned int vco_freq_min ;
4410   unsigned int ref_freq ;
4411   unsigned int feed_div_min ;
4412   unsigned int feed_div_max ;
4413   unsigned int in_div_min ;
4414   unsigned int in_div_max ;
4415   unsigned int post_shift_max ;
4416};
4417#line 249 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4418struct __anonstruct_ydstorg_193 {
4419   unsigned int bytes ;
4420   unsigned int pixels ;
4421   unsigned int chunks ;
4422};
4423#line 249 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4424struct matroxfb_par {
4425   unsigned int final_bppShift ;
4426   unsigned int cmap_len ;
4427   struct __anonstruct_ydstorg_193 ydstorg ;
4428};
4429#line 260
4430struct matrox_fb_info;
4431#line 260
4432struct matrox_fb_info;
4433#line 261 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4434struct matrox_DAC1064_features {
4435   u_int8_t xvrefctrl ;
4436   u_int8_t xmiscctrl ;
4437};
4438#line 267 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4439struct mavenregs {
4440   u_int8_t regs[256U] ;
4441   int mode ;
4442   int vlines ;
4443   int xtal ;
4444   int fv ;
4445   u_int16_t htotal ;
4446   u_int16_t hcorr ;
4447};
4448#line 279 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4449struct matrox_crtc2 {
4450   u_int32_t ctl ;
4451};
4452#line 283 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4453struct matrox_hw_state {
4454   u_int32_t MXoptionReg ;
4455   unsigned char DACclk[6U] ;
4456   unsigned char DACreg[80U] ;
4457   unsigned char MiscOutReg ;
4458   unsigned char DACpal[768U] ;
4459   unsigned char CRTC[25U] ;
4460   unsigned char CRTCEXT[9U] ;
4461   unsigned char SEQ[5U] ;
4462   unsigned char GCTL[9U] ;
4463   unsigned char ATTR[21U] ;
4464   struct mavenregs maven ;
4465   struct matrox_crtc2 crtc2 ;
4466};
4467#line 303 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4468struct matrox_accel_data {
4469   unsigned char ramdac_rev ;
4470   u_int32_t m_dwg_rect ;
4471   u_int32_t m_opmode ;
4472};
4473#line 311
4474struct v4l2_queryctrl;
4475#line 311
4476struct v4l2_queryctrl;
4477#line 312
4478struct v4l2_control;
4479#line 312
4480struct v4l2_control;
4481#line 313 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4482struct matrox_altout {
4483   char const   *name ;
4484   int (*compute)(void * , struct my_timming * ) ;
4485   int (*program)(void * ) ;
4486   int (*start)(void * ) ;
4487   int (*verifymode)(void * , u_int32_t  ) ;
4488   int (*getqueryctrl)(void * , struct v4l2_queryctrl * ) ;
4489   int (*getctrl)(void * , struct v4l2_control * ) ;
4490   int (*setctrl)(void * , struct v4l2_control * ) ;
4491};
4492#line 327
4493enum mga_chip {
4494    MGA_2064 = 0,
4495    MGA_2164 = 1,
4496    MGA_1064 = 2,
4497    MGA_1164 = 3,
4498    MGA_G100 = 4,
4499    MGA_G200 = 5,
4500    MGA_G400 = 6,
4501    MGA_G450 = 7,
4502    MGA_G550 = 8
4503} ;
4504#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4505struct __anonstruct_version_194 {
4506   unsigned char vMaj ;
4507   unsigned char vMin ;
4508   unsigned char vRev ;
4509};
4510#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4511struct __anonstruct_output_195 {
4512   unsigned char state ;
4513   unsigned char tvout ;
4514};
4515#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4516struct matrox_bios {
4517   unsigned char bios_valid : 1 ;
4518   unsigned int pins_len ;
4519   unsigned char pins[128U] ;
4520   struct __anonstruct_version_194 version ;
4521   struct __anonstruct_output_195 output ;
4522};
4523#line 346
4524struct matrox_switch;
4525#line 346
4526struct matrox_switch;
4527#line 347
4528struct matroxfb_driver;
4529#line 347
4530struct matroxfb_driver;
4531#line 348
4532struct matroxfb_dh_fb_info;
4533#line 348
4534struct matroxfb_dh_fb_info;
4535#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4536struct matrox_vsync {
4537   wait_queue_head_t wait ;
4538   unsigned int cnt ;
4539};
4540#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4541struct __anonstruct_crtc1_196 {
4542   struct matrox_vsync vsync ;
4543   unsigned int pixclock ;
4544   int mnp ;
4545   int panpos ;
4546};
4547#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4548struct __anonstruct_crtc2_197 {
4549   struct matrox_vsync vsync ;
4550   unsigned int pixclock ;
4551   int mnp ;
4552   struct matroxfb_dh_fb_info *info ;
4553   struct rw_semaphore lock ;
4554};
4555#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4556struct __anonstruct_tvo_params_199 {
4557   int brightness ;
4558   int contrast ;
4559   int saturation ;
4560   int hue ;
4561   int gamma ;
4562   int testout ;
4563   int deflicker ;
4564};
4565#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4566struct __anonstruct_altout_198 {
4567   struct rw_semaphore lock ;
4568   struct __anonstruct_tvo_params_199 tvo_params ;
4569};
4570#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4571struct __anonstruct_outputs_200 {
4572   unsigned int src ;
4573   struct matrox_altout *output ;
4574   void *data ;
4575   unsigned int mode ;
4576   unsigned int default_src ;
4577};
4578#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4579struct __anonstruct_video_201 {
4580   unsigned long base ;
4581   vaddr_t vbase ;
4582   unsigned int len ;
4583   unsigned int len_usable ;
4584   unsigned int len_maximum ;
4585};
4586#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4587struct __anonstruct_mmio_202 {
4588   unsigned long base ;
4589   vaddr_t vbase ;
4590   unsigned int len ;
4591};
4592#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4593struct __anonstruct_features_203 {
4594   struct matrox_pll_features pll ;
4595   struct matrox_DAC1064_features DAC1064 ;
4596};
4597#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4598struct __anonstruct_lock_204 {
4599   spinlock_t DAC ;
4600   spinlock_t accel ;
4601};
4602#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4603struct __anonstruct_capable_205 {
4604   int cfb4 ;
4605   int const   *vxres ;
4606   int cross4MB ;
4607   int text ;
4608   int plnwt ;
4609   int srcorg ;
4610};
4611#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4612struct __anonstruct_mtrr_206 {
4613   int vram ;
4614   int vram_valid ;
4615};
4616#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4617struct __anonstruct_devflags_207 {
4618   int precise_width ;
4619   int mga_24bpp_fix ;
4620   int novga ;
4621   int nobios ;
4622   int nopciretry ;
4623   int noinit ;
4624   int sgram ;
4625   int support32MB ;
4626   int accelerator ;
4627   int text_type_aux ;
4628   int video64bits ;
4629   int crtc2 ;
4630   int maven_capable ;
4631   unsigned int vgastep ;
4632   unsigned int textmode ;
4633   unsigned int textstep ;
4634   unsigned int textvram ;
4635   unsigned int ydstorg ;
4636   int memtype ;
4637   int g450dac ;
4638   int dfp_type ;
4639   int panellink ;
4640   int dualhead ;
4641   unsigned int fbResource ;
4642};
4643#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4644struct __anonstruct_limits_208 {
4645   struct matrox_pll_limits pixel ;
4646   struct matrox_pll_limits system ;
4647   struct matrox_pll_limits video ;
4648};
4649#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4650struct __anonstruct_cache_209 {
4651   struct matrox_pll_cache pixel ;
4652   struct matrox_pll_cache system ;
4653   struct matrox_pll_cache video ;
4654};
4655#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4656struct __anonstruct_pll_211 {
4657   unsigned int video ;
4658   unsigned int system ;
4659};
4660#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4661struct __anonstruct_reg_212 {
4662   u_int32_t opt ;
4663   u_int32_t opt2 ;
4664   u_int32_t opt3 ;
4665   u_int32_t mctlwtst ;
4666   u_int32_t mctlwtst_core ;
4667   u_int32_t memmisc ;
4668   u_int32_t memrdbk ;
4669   u_int32_t maccess ;
4670};
4671#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4672struct __anonstruct_memory_213 {
4673   unsigned char ddr : 1 ;
4674   unsigned char emrswen : 1 ;
4675   unsigned char dll : 1 ;
4676};
4677#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4678struct __anonstruct_values_210 {
4679   struct __anonstruct_pll_211 pll ;
4680   struct __anonstruct_reg_212 reg ;
4681   struct __anonstruct_memory_213 memory ;
4682};
4683#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4684struct matrox_fb_info {
4685   struct fb_info fbcon ;
4686   struct list_head next_fb ;
4687   int dead ;
4688   int initialized ;
4689   unsigned int usecount ;
4690   unsigned int userusecount ;
4691   unsigned long irq_flags ;
4692   struct matroxfb_par curr ;
4693   struct matrox_hw_state hw ;
4694   struct matrox_accel_data accel ;
4695   struct pci_dev *pcidev ;
4696   struct __anonstruct_crtc1_196 crtc1 ;
4697   struct __anonstruct_crtc2_197 crtc2 ;
4698   struct __anonstruct_altout_198 altout ;
4699   struct __anonstruct_outputs_200 outputs[3U] ;
4700   struct matroxfb_driver *drivers[5U] ;
4701   void *drivers_data[5U] ;
4702   unsigned int drivers_count ;
4703   struct __anonstruct_video_201 video ;
4704   struct __anonstruct_mmio_202 mmio ;
4705   unsigned int max_pixel_clock ;
4706   unsigned int max_pixel_clock_panellink ;
4707   struct matrox_switch *hw_switch ;
4708   struct __anonstruct_features_203 features ;
4709   struct __anonstruct_lock_204 lock ;
4710   enum mga_chip chip ;
4711   int interleave ;
4712   int millenium ;
4713   int milleniumII ;
4714   struct __anonstruct_capable_205 capable ;
4715   struct __anonstruct_mtrr_206 mtrr ;
4716   struct __anonstruct_devflags_207 devflags ;
4717   struct fb_ops fbops ;
4718   struct matrox_bios bios ;
4719   struct __anonstruct_limits_208 limits ;
4720   struct __anonstruct_cache_209 cache ;
4721   struct __anonstruct_values_210 values ;
4722   u_int32_t cmap[16U] ;
4723};
4724#line 519 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4725struct matrox_switch {
4726   int (*preinit)(struct matrox_fb_info * ) ;
4727   void (*reset)(struct matrox_fb_info * ) ;
4728   int (*init)(struct matrox_fb_info * , struct my_timming * ) ;
4729   void (*restore)(struct matrox_fb_info * ) ;
4730};
4731#line 528 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4732struct matroxfb_driver {
4733   struct list_head node ;
4734   char *name ;
4735   void *(*probe)(struct matrox_fb_info * ) ;
4736   void (*remove)(struct matrox_fb_info * , void * ) ;
4737};
4738#line 722 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4739struct i2c_algo_bit_data {
4740   void *data ;
4741   void (*setsda)(void * , int  ) ;
4742   void (*setscl)(void * , int  ) ;
4743   int (*getsda)(void * ) ;
4744   int (*getscl)(void * ) ;
4745   int (*pre_xfer)(struct i2c_adapter * ) ;
4746   void (*post_xfer)(struct i2c_adapter * ) ;
4747   int udelay ;
4748   int timeout ;
4749};
4750#line 54 "include/linux/i2c-algo-bit.h"
4751struct __anonstruct_mask_214 {
4752   unsigned int data ;
4753   unsigned int clock ;
4754};
4755#line 54 "include/linux/i2c-algo-bit.h"
4756struct i2c_bit_adapter {
4757   struct i2c_adapter adapter ;
4758   int initialized ;
4759   struct i2c_algo_bit_data bac ;
4760   struct matrox_fb_info *minfo ;
4761   struct __anonstruct_mask_214 mask ;
4762};
4763#line 19 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_maven.h"
4764struct matroxfb_dh_maven_info {
4765   struct i2c_bit_adapter maven ;
4766   struct i2c_bit_adapter ddc1 ;
4767   struct i2c_bit_adapter ddc2 ;
4768};
4769#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4770void ldv_spin_lock(void) ;
4771#line 3
4772void ldv_spin_unlock(void) ;
4773#line 4
4774int ldv_spin_trylock(void) ;
4775#line 101 "include/linux/printk.h"
4776extern int printk(char const   *  , ...) ;
4777#line 323 "include/linux/kernel.h"
4778extern int snprintf(char * , size_t  , char const   *  , ...) ;
4779#line 43 "include/linux/spinlock_api_smp.h"
4780extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
4781#line 350 "include/linux/spinlock.h"
4782__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags ) 
4783{ struct raw_spinlock *__cil_tmp5 ;
4784
4785  {
4786  {
4787#line 352
4788  __cil_tmp5 = (struct raw_spinlock *)lock;
4789#line 352
4790  _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
4791  }
4792#line 353
4793  return;
4794}
4795}
4796#line 350
4797__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
4798#line 26 "include/linux/export.h"
4799extern struct module __this_module ;
4800#line 161 "include/linux/slab.h"
4801extern void kfree(void const   * ) ;
4802#line 220 "include/linux/slub_def.h"
4803extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
4804#line 223
4805void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
4806#line 353 "include/linux/slab.h"
4807__inline static void *kzalloc(size_t size , gfp_t flags ) ;
4808#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4809extern void *__VERIFIER_nondet_pointer(void) ;
4810#line 11
4811void ldv_check_alloc_flags(gfp_t flags ) ;
4812#line 12
4813void ldv_check_alloc_nonatomic(void) ;
4814#line 14
4815struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4816#line 793 "include/linux/device.h"
4817extern int dev_set_drvdata(struct device * , void * ) ;
4818#line 312 "include/linux/i2c.h"
4819extern struct i2c_client *i2c_new_probed_device(struct i2c_adapter * , struct i2c_board_info * ,
4820                                                unsigned short const   * , int (*)(struct i2c_adapter * ,
4821                                                                                   unsigned short  ) ) ;
4822#line 400 "include/linux/i2c.h"
4823__inline static void i2c_set_adapdata(struct i2c_adapter *dev , void *data ) 
4824{ unsigned long __cil_tmp3 ;
4825  unsigned long __cil_tmp4 ;
4826  struct device *__cil_tmp5 ;
4827
4828  {
4829  {
4830#line 402
4831  __cil_tmp3 = (unsigned long )dev;
4832#line 402
4833  __cil_tmp4 = __cil_tmp3 + 176;
4834#line 402
4835  __cil_tmp5 = (struct device *)__cil_tmp4;
4836#line 402
4837  dev_set_drvdata(__cil_tmp5, data);
4838  }
4839#line 403
4840  return;
4841}
4842}
4843#line 447
4844extern int i2c_del_adapter(struct i2c_adapter * ) ;
4845#line 536 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/video/matrox/matroxfb_base.h"
4846extern int matroxfb_register_driver(struct matroxfb_driver * ) ;
4847#line 537
4848extern void matroxfb_unregister_driver(struct matroxfb_driver * ) ;
4849#line 716
4850extern void matroxfb_DAC_out(struct matrox_fb_info  const  * , int  , int  ) ;
4851#line 718
4852extern int matroxfb_DAC_in(struct matrox_fb_info  const  * , int  ) ;
4853#line 51 "include/linux/i2c-algo-bit.h"
4854extern int i2c_bit_add_bus(struct i2c_adapter * ) ;
4855#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4856static int matroxfb_read_gpio(struct matrox_fb_info *minfo ) 
4857{ unsigned long flags ;
4858  int v ;
4859  struct matrox_fb_info  const  *__cil_tmp4 ;
4860  unsigned long __cil_tmp5 ;
4861  unsigned long __cil_tmp6 ;
4862  spinlock_t *__cil_tmp7 ;
4863
4864  {
4865  {
4866#line 59
4867  ldv_spin_lock();
4868#line 60
4869  __cil_tmp4 = (struct matrox_fb_info  const  *)minfo;
4870#line 60
4871  v = matroxfb_DAC_in(__cil_tmp4, 43);
4872#line 61
4873  __cil_tmp5 = (unsigned long )minfo;
4874#line 61
4875  __cil_tmp6 = __cil_tmp5 + 3728;
4876#line 61
4877  __cil_tmp7 = (spinlock_t *)__cil_tmp6;
4878#line 61
4879  spin_unlock_irqrestore(__cil_tmp7, flags);
4880  }
4881#line 62
4882  return (v);
4883}
4884}
4885#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4886static void matroxfb_set_gpio(struct matrox_fb_info *minfo , int mask , int val ) 
4887{ unsigned long flags ;
4888  int v ;
4889  int tmp ;
4890  struct matrox_fb_info  const  *__cil_tmp7 ;
4891  int __cil_tmp8 ;
4892  struct matrox_fb_info  const  *__cil_tmp9 ;
4893  struct matrox_fb_info  const  *__cil_tmp10 ;
4894  unsigned long __cil_tmp11 ;
4895  unsigned long __cil_tmp12 ;
4896  spinlock_t *__cil_tmp13 ;
4897
4898  {
4899  {
4900#line 69
4901  ldv_spin_lock();
4902#line 70
4903  __cil_tmp7 = (struct matrox_fb_info  const  *)minfo;
4904#line 70
4905  tmp = matroxfb_DAC_in(__cil_tmp7, 42);
4906#line 70
4907  __cil_tmp8 = tmp & mask;
4908#line 70
4909  v = __cil_tmp8 | val;
4910#line 71
4911  __cil_tmp9 = (struct matrox_fb_info  const  *)minfo;
4912#line 71
4913  matroxfb_DAC_out(__cil_tmp9, 42, v);
4914#line 73
4915  __cil_tmp10 = (struct matrox_fb_info  const  *)minfo;
4916#line 73
4917  matroxfb_DAC_out(__cil_tmp10, 43, 0);
4918#line 74
4919  __cil_tmp11 = (unsigned long )minfo;
4920#line 74
4921  __cil_tmp12 = __cil_tmp11 + 3728;
4922#line 74
4923  __cil_tmp13 = (spinlock_t *)__cil_tmp12;
4924#line 74
4925  spin_unlock_irqrestore(__cil_tmp13, flags);
4926  }
4927#line 75
4928  return;
4929}
4930}
4931#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4932__inline static void matroxfb_i2c_set(struct matrox_fb_info *minfo , int mask , int state ) 
4933{ int __cil_tmp4 ;
4934
4935  {
4936#line 79
4937  if (state != 0) {
4938#line 80
4939    state = 0;
4940  } else {
4941#line 82
4942    state = mask;
4943  }
4944  {
4945#line 83
4946  __cil_tmp4 = ~ mask;
4947#line 83
4948  matroxfb_set_gpio(minfo, __cil_tmp4, state);
4949  }
4950#line 84
4951  return;
4952}
4953}
4954#line 86 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4955static void matroxfb_gpio_setsda(void *data , int state ) 
4956{ struct i2c_bit_adapter *b ;
4957  unsigned long __cil_tmp4 ;
4958  unsigned long __cil_tmp5 ;
4959  struct matrox_fb_info *__cil_tmp6 ;
4960  unsigned long __cil_tmp7 ;
4961  unsigned long __cil_tmp8 ;
4962  unsigned int __cil_tmp9 ;
4963  int __cil_tmp10 ;
4964
4965  {
4966  {
4967#line 87
4968  b = (struct i2c_bit_adapter *)data;
4969#line 88
4970  __cil_tmp4 = (unsigned long )b;
4971#line 88
4972  __cil_tmp5 = __cil_tmp4 + 1736;
4973#line 88
4974  __cil_tmp6 = *((struct matrox_fb_info **)__cil_tmp5);
4975#line 88
4976  __cil_tmp7 = (unsigned long )b;
4977#line 88
4978  __cil_tmp8 = __cil_tmp7 + 1744;
4979#line 88
4980  __cil_tmp9 = *((unsigned int *)__cil_tmp8);
4981#line 88
4982  __cil_tmp10 = (int )__cil_tmp9;
4983#line 88
4984  matroxfb_i2c_set(__cil_tmp6, __cil_tmp10, state);
4985  }
4986#line 89
4987  return;
4988}
4989}
4990#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
4991static void matroxfb_gpio_setscl(void *data , int state ) 
4992{ struct i2c_bit_adapter *b ;
4993  unsigned long __cil_tmp4 ;
4994  unsigned long __cil_tmp5 ;
4995  struct matrox_fb_info *__cil_tmp6 ;
4996  unsigned long __cil_tmp7 ;
4997  unsigned long __cil_tmp8 ;
4998  unsigned long __cil_tmp9 ;
4999  unsigned int __cil_tmp10 ;
5000  int __cil_tmp11 ;
5001
5002  {
5003  {
5004#line 92
5005  b = (struct i2c_bit_adapter *)data;
5006#line 93
5007  __cil_tmp4 = (unsigned long )b;
5008#line 93
5009  __cil_tmp5 = __cil_tmp4 + 1736;
5010#line 93
5011  __cil_tmp6 = *((struct matrox_fb_info **)__cil_tmp5);
5012#line 93
5013  __cil_tmp7 = 1744 + 4;
5014#line 93
5015  __cil_tmp8 = (unsigned long )b;
5016#line 93
5017  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
5018#line 93
5019  __cil_tmp10 = *((unsigned int *)__cil_tmp9);
5020#line 93
5021  __cil_tmp11 = (int )__cil_tmp10;
5022#line 93
5023  matroxfb_i2c_set(__cil_tmp6, __cil_tmp11, state);
5024  }
5025#line 94
5026  return;
5027}
5028}
5029#line 96 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5030static int matroxfb_gpio_getsda(void *data ) 
5031{ struct i2c_bit_adapter *b ;
5032  int tmp ;
5033  unsigned long __cil_tmp4 ;
5034  unsigned long __cil_tmp5 ;
5035  struct matrox_fb_info *__cil_tmp6 ;
5036  unsigned long __cil_tmp7 ;
5037  unsigned long __cil_tmp8 ;
5038  unsigned int __cil_tmp9 ;
5039  unsigned int __cil_tmp10 ;
5040  unsigned int __cil_tmp11 ;
5041
5042  {
5043  {
5044#line 97
5045  b = (struct i2c_bit_adapter *)data;
5046#line 98
5047  __cil_tmp4 = (unsigned long )b;
5048#line 98
5049  __cil_tmp5 = __cil_tmp4 + 1736;
5050#line 98
5051  __cil_tmp6 = *((struct matrox_fb_info **)__cil_tmp5);
5052#line 98
5053  tmp = matroxfb_read_gpio(__cil_tmp6);
5054  }
5055  {
5056#line 98
5057  __cil_tmp7 = (unsigned long )b;
5058#line 98
5059  __cil_tmp8 = __cil_tmp7 + 1744;
5060#line 98
5061  __cil_tmp9 = *((unsigned int *)__cil_tmp8);
5062#line 98
5063  __cil_tmp10 = (unsigned int )tmp;
5064#line 98
5065  __cil_tmp11 = __cil_tmp10 & __cil_tmp9;
5066#line 98
5067  return (__cil_tmp11 != 0U);
5068  }
5069}
5070}
5071#line 101 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5072static int matroxfb_gpio_getscl(void *data ) 
5073{ struct i2c_bit_adapter *b ;
5074  int tmp ;
5075  unsigned long __cil_tmp4 ;
5076  unsigned long __cil_tmp5 ;
5077  struct matrox_fb_info *__cil_tmp6 ;
5078  unsigned long __cil_tmp7 ;
5079  unsigned long __cil_tmp8 ;
5080  unsigned long __cil_tmp9 ;
5081  unsigned int __cil_tmp10 ;
5082  unsigned int __cil_tmp11 ;
5083  unsigned int __cil_tmp12 ;
5084
5085  {
5086  {
5087#line 102
5088  b = (struct i2c_bit_adapter *)data;
5089#line 103
5090  __cil_tmp4 = (unsigned long )b;
5091#line 103
5092  __cil_tmp5 = __cil_tmp4 + 1736;
5093#line 103
5094  __cil_tmp6 = *((struct matrox_fb_info **)__cil_tmp5);
5095#line 103
5096  tmp = matroxfb_read_gpio(__cil_tmp6);
5097  }
5098  {
5099#line 103
5100  __cil_tmp7 = 1744 + 4;
5101#line 103
5102  __cil_tmp8 = (unsigned long )b;
5103#line 103
5104  __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
5105#line 103
5106  __cil_tmp10 = *((unsigned int *)__cil_tmp9);
5107#line 103
5108  __cil_tmp11 = (unsigned int )tmp;
5109#line 103
5110  __cil_tmp12 = __cil_tmp11 & __cil_tmp10;
5111#line 103
5112  return (__cil_tmp12 != 0U);
5113  }
5114}
5115}
5116#line 106 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5117static struct i2c_algo_bit_data  const  matrox_i2c_algo_template  = 
5118#line 106
5119     {(void *)0, & matroxfb_gpio_setsda, & matroxfb_gpio_setscl, & matroxfb_gpio_getsda,
5120    & matroxfb_gpio_getscl, (int (*)(struct i2c_adapter * ))0, (void (*)(struct i2c_adapter * ))0,
5121    10, 100};
5122#line 116 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5123static int i2c_bus_reg(struct i2c_bit_adapter *b , struct matrox_fb_info *minfo ,
5124                       unsigned int data , unsigned int clock , char const   *name ,
5125                       int class ) 
5126{ int err ;
5127  unsigned long __cil_tmp8 ;
5128  unsigned long __cil_tmp9 ;
5129  unsigned long __cil_tmp10 ;
5130  unsigned long __cil_tmp11 ;
5131  unsigned long __cil_tmp12 ;
5132  unsigned long __cil_tmp13 ;
5133  unsigned long __cil_tmp14 ;
5134  unsigned long __cil_tmp15 ;
5135  unsigned long __cil_tmp16 ;
5136  unsigned long __cil_tmp17 ;
5137  char (*__cil_tmp18)[48U] ;
5138  char *__cil_tmp19 ;
5139  unsigned long __cil_tmp20 ;
5140  unsigned long __cil_tmp21 ;
5141  unsigned long __cil_tmp22 ;
5142  int __cil_tmp23 ;
5143  struct i2c_adapter *__cil_tmp24 ;
5144  void *__cil_tmp25 ;
5145  unsigned long __cil_tmp26 ;
5146  unsigned long __cil_tmp27 ;
5147  unsigned long __cil_tmp28 ;
5148  unsigned long __cil_tmp29 ;
5149  unsigned long __cil_tmp30 ;
5150  unsigned long __cil_tmp31 ;
5151  unsigned long __cil_tmp32 ;
5152  unsigned long __cil_tmp33 ;
5153  struct i2c_algo_bit_data *__cil_tmp34 ;
5154  unsigned long __cil_tmp35 ;
5155  unsigned long __cil_tmp36 ;
5156  unsigned long __cil_tmp37 ;
5157  unsigned long __cil_tmp38 ;
5158  unsigned long __cil_tmp39 ;
5159  struct pci_dev *__cil_tmp40 ;
5160  unsigned long __cil_tmp41 ;
5161  unsigned long __cil_tmp42 ;
5162  unsigned long __cil_tmp43 ;
5163  unsigned long __cil_tmp44 ;
5164  unsigned long __cil_tmp45 ;
5165  unsigned long __cil_tmp46 ;
5166  struct i2c_adapter *__cil_tmp47 ;
5167  unsigned long __cil_tmp48 ;
5168  unsigned long __cil_tmp49 ;
5169
5170  {
5171  {
5172#line 122
5173  __cil_tmp8 = (unsigned long )b;
5174#line 122
5175  __cil_tmp9 = __cil_tmp8 + 1736;
5176#line 122
5177  *((struct matrox_fb_info **)__cil_tmp9) = minfo;
5178#line 123
5179  __cil_tmp10 = (unsigned long )b;
5180#line 123
5181  __cil_tmp11 = __cil_tmp10 + 1744;
5182#line 123
5183  *((unsigned int *)__cil_tmp11) = data;
5184#line 124
5185  __cil_tmp12 = 1744 + 4;
5186#line 124
5187  __cil_tmp13 = (unsigned long )b;
5188#line 124
5189  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
5190#line 124
5191  *((unsigned int *)__cil_tmp14) = clock;
5192#line 125
5193  *((struct module **)b) = & __this_module;
5194#line 126
5195  __cil_tmp15 = 0 + 1332;
5196#line 126
5197  __cil_tmp16 = (unsigned long )b;
5198#line 126
5199  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
5200#line 126
5201  __cil_tmp18 = (char (*)[48U])__cil_tmp17;
5202#line 126
5203  __cil_tmp19 = (char *)__cil_tmp18;
5204#line 126
5205  __cil_tmp20 = 0 + 4;
5206#line 126
5207  __cil_tmp21 = (unsigned long )minfo;
5208#line 126
5209  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
5210#line 126
5211  __cil_tmp23 = *((int *)__cil_tmp22);
5212#line 126
5213  snprintf(__cil_tmp19, 48UL, name, __cil_tmp23);
5214#line 128
5215  __cil_tmp24 = (struct i2c_adapter *)b;
5216#line 128
5217  __cil_tmp25 = (void *)b;
5218#line 128
5219  i2c_set_adapdata(__cil_tmp24, __cil_tmp25);
5220#line 129
5221  __cil_tmp26 = 0 + 8;
5222#line 129
5223  __cil_tmp27 = (unsigned long )b;
5224#line 129
5225  __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
5226#line 129
5227  *((unsigned int *)__cil_tmp28) = (unsigned int )class;
5228#line 130
5229  __cil_tmp29 = 0 + 24;
5230#line 130
5231  __cil_tmp30 = (unsigned long )b;
5232#line 130
5233  __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
5234#line 130
5235  __cil_tmp32 = (unsigned long )b;
5236#line 130
5237  __cil_tmp33 = __cil_tmp32 + 1672;
5238#line 130
5239  __cil_tmp34 = (struct i2c_algo_bit_data *)__cil_tmp33;
5240#line 130
5241  *((void **)__cil_tmp31) = (void *)__cil_tmp34;
5242#line 131
5243  __cil_tmp35 = 0 + 176;
5244#line 131
5245  __cil_tmp36 = (unsigned long )b;
5246#line 131
5247  __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
5248#line 131
5249  __cil_tmp38 = (unsigned long )minfo;
5250#line 131
5251  __cil_tmp39 = __cil_tmp38 + 2888;
5252#line 131
5253  __cil_tmp40 = *((struct pci_dev **)__cil_tmp39);
5254#line 131
5255  __cil_tmp41 = (unsigned long )__cil_tmp40;
5256#line 131
5257  __cil_tmp42 = __cil_tmp41 + 144;
5258#line 131
5259  *((struct device **)__cil_tmp37) = (struct device *)__cil_tmp42;
5260#line 132
5261  __cil_tmp43 = (unsigned long )b;
5262#line 132
5263  __cil_tmp44 = __cil_tmp43 + 1672;
5264#line 132
5265  *((struct i2c_algo_bit_data *)__cil_tmp44) = (struct i2c_algo_bit_data )matrox_i2c_algo_template;
5266#line 133
5267  __cil_tmp45 = (unsigned long )b;
5268#line 133
5269  __cil_tmp46 = __cil_tmp45 + 1672;
5270#line 133
5271  *((void **)__cil_tmp46) = (void *)b;
5272#line 134
5273  __cil_tmp47 = (struct i2c_adapter *)b;
5274#line 134
5275  err = i2c_bit_add_bus(__cil_tmp47);
5276#line 135
5277  __cil_tmp48 = (unsigned long )b;
5278#line 135
5279  __cil_tmp49 = __cil_tmp48 + 1664;
5280#line 135
5281  *((int *)__cil_tmp49) = err == 0;
5282  }
5283#line 136
5284  return (err);
5285}
5286}
5287#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5288static void i2c_bit_bus_del(struct i2c_bit_adapter *b ) 
5289{ unsigned long __cil_tmp2 ;
5290  unsigned long __cil_tmp3 ;
5291  int __cil_tmp4 ;
5292  struct i2c_adapter *__cil_tmp5 ;
5293  unsigned long __cil_tmp6 ;
5294  unsigned long __cil_tmp7 ;
5295
5296  {
5297  {
5298#line 140
5299  __cil_tmp2 = (unsigned long )b;
5300#line 140
5301  __cil_tmp3 = __cil_tmp2 + 1664;
5302#line 140
5303  __cil_tmp4 = *((int *)__cil_tmp3);
5304#line 140
5305  if (__cil_tmp4 != 0) {
5306    {
5307#line 141
5308    __cil_tmp5 = (struct i2c_adapter *)b;
5309#line 141
5310    i2c_del_adapter(__cil_tmp5);
5311#line 142
5312    __cil_tmp6 = (unsigned long )b;
5313#line 142
5314    __cil_tmp7 = __cil_tmp6 + 1664;
5315#line 142
5316    *((int *)__cil_tmp7) = 0;
5317    }
5318  } else {
5319
5320  }
5321  }
5322#line 144
5323  return;
5324}
5325}
5326#line 146 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5327__inline static void i2c_maven_done(struct matroxfb_dh_maven_info *minfo2 ) 
5328{ struct i2c_bit_adapter *__cil_tmp2 ;
5329
5330  {
5331  {
5332#line 147
5333  __cil_tmp2 = (struct i2c_bit_adapter *)minfo2;
5334#line 147
5335  i2c_bit_bus_del(__cil_tmp2);
5336  }
5337#line 148
5338  return;
5339}
5340}
5341#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5342__inline static void i2c_ddc1_done(struct matroxfb_dh_maven_info *minfo2 ) 
5343{ unsigned long __cil_tmp2 ;
5344  unsigned long __cil_tmp3 ;
5345  struct i2c_bit_adapter *__cil_tmp4 ;
5346
5347  {
5348  {
5349#line 151
5350  __cil_tmp2 = (unsigned long )minfo2;
5351#line 151
5352  __cil_tmp3 = __cil_tmp2 + 1752;
5353#line 151
5354  __cil_tmp4 = (struct i2c_bit_adapter *)__cil_tmp3;
5355#line 151
5356  i2c_bit_bus_del(__cil_tmp4);
5357  }
5358#line 152
5359  return;
5360}
5361}
5362#line 154 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5363__inline static void i2c_ddc2_done(struct matroxfb_dh_maven_info *minfo2 ) 
5364{ unsigned long __cil_tmp2 ;
5365  unsigned long __cil_tmp3 ;
5366  struct i2c_bit_adapter *__cil_tmp4 ;
5367
5368  {
5369  {
5370#line 155
5371  __cil_tmp2 = (unsigned long )minfo2;
5372#line 155
5373  __cil_tmp3 = __cil_tmp2 + 3504;
5374#line 155
5375  __cil_tmp4 = (struct i2c_bit_adapter *)__cil_tmp3;
5376#line 155
5377  i2c_bit_bus_del(__cil_tmp4);
5378  }
5379#line 156
5380  return;
5381}
5382}
5383#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5384static void *i2c_matroxfb_probe(struct matrox_fb_info *minfo ) 
5385{ int err ;
5386  unsigned long flags ;
5387  struct matroxfb_dh_maven_info *m2info ;
5388  void *tmp ;
5389  struct i2c_board_info maven_info ;
5390  unsigned short addr_list[2U] ;
5391  struct matroxfb_dh_maven_info *__cil_tmp8 ;
5392  unsigned long __cil_tmp9 ;
5393  unsigned long __cil_tmp10 ;
5394  struct matrox_fb_info  const  *__cil_tmp11 ;
5395  struct matrox_fb_info  const  *__cil_tmp12 ;
5396  unsigned long __cil_tmp13 ;
5397  unsigned long __cil_tmp14 ;
5398  spinlock_t *__cil_tmp15 ;
5399  unsigned long __cil_tmp16 ;
5400  unsigned long __cil_tmp17 ;
5401  enum mga_chip __cil_tmp18 ;
5402  unsigned int __cil_tmp19 ;
5403  unsigned long __cil_tmp20 ;
5404  unsigned long __cil_tmp21 ;
5405  struct i2c_bit_adapter *__cil_tmp22 ;
5406  unsigned long __cil_tmp23 ;
5407  unsigned long __cil_tmp24 ;
5408  struct i2c_bit_adapter *__cil_tmp25 ;
5409  unsigned long __cil_tmp26 ;
5410  unsigned long __cil_tmp27 ;
5411  unsigned long __cil_tmp28 ;
5412  int __cil_tmp29 ;
5413  unsigned long __cil_tmp30 ;
5414  unsigned long __cil_tmp31 ;
5415  struct i2c_bit_adapter *__cil_tmp32 ;
5416  struct i2c_bit_adapter *__cil_tmp33 ;
5417  unsigned long __cil_tmp34 ;
5418  unsigned long __cil_tmp35 ;
5419  unsigned long __cil_tmp36 ;
5420  unsigned long __cil_tmp37 ;
5421  unsigned long __cil_tmp38 ;
5422  unsigned long __cil_tmp39 ;
5423  unsigned long __cil_tmp40 ;
5424  unsigned long __cil_tmp41 ;
5425  unsigned long __cil_tmp42 ;
5426  unsigned long __cil_tmp43 ;
5427  unsigned long __cil_tmp44 ;
5428  unsigned long __cil_tmp45 ;
5429  unsigned long __cil_tmp46 ;
5430  unsigned long __cil_tmp47 ;
5431  unsigned long __cil_tmp48 ;
5432  unsigned long __cil_tmp49 ;
5433  unsigned long __cil_tmp50 ;
5434  unsigned long __cil_tmp51 ;
5435  unsigned long __cil_tmp52 ;
5436  unsigned long __cil_tmp53 ;
5437  unsigned long __cil_tmp54 ;
5438  unsigned long __cil_tmp55 ;
5439  unsigned long __cil_tmp56 ;
5440  unsigned long __cil_tmp57 ;
5441  unsigned long __cil_tmp58 ;
5442  unsigned long __cil_tmp59 ;
5443  unsigned long __cil_tmp60 ;
5444  unsigned long __cil_tmp61 ;
5445  unsigned long __cil_tmp62 ;
5446  unsigned long __cil_tmp63 ;
5447  unsigned long __cil_tmp64 ;
5448  unsigned long __cil_tmp65 ;
5449  unsigned long __cil_tmp66 ;
5450  unsigned long __cil_tmp67 ;
5451  unsigned long __cil_tmp68 ;
5452  unsigned long __cil_tmp69 ;
5453  unsigned long __cil_tmp70 ;
5454  unsigned long __cil_tmp71 ;
5455  unsigned long __cil_tmp72 ;
5456  unsigned long __cil_tmp73 ;
5457  unsigned long __cil_tmp74 ;
5458  unsigned long __cil_tmp75 ;
5459  unsigned long __cil_tmp76 ;
5460  unsigned long __cil_tmp77 ;
5461  unsigned long __cil_tmp78 ;
5462  unsigned long __cil_tmp79 ;
5463  unsigned long __cil_tmp80 ;
5464  unsigned long __cil_tmp81 ;
5465  unsigned long __cil_tmp82 ;
5466  unsigned long __cil_tmp83 ;
5467  unsigned long __cil_tmp84 ;
5468  unsigned long __cil_tmp85 ;
5469  unsigned long __cil_tmp86 ;
5470  unsigned long __cil_tmp87 ;
5471  unsigned long __cil_tmp88 ;
5472  unsigned long __cil_tmp89 ;
5473  unsigned long __cil_tmp90 ;
5474  unsigned long __cil_tmp91 ;
5475  unsigned long __cil_tmp92 ;
5476  unsigned long __cil_tmp93 ;
5477  unsigned long __cil_tmp94 ;
5478  unsigned long __cil_tmp95 ;
5479  unsigned long __cil_tmp96 ;
5480  unsigned long __cil_tmp97 ;
5481  unsigned long __cil_tmp98 ;
5482  unsigned long __cil_tmp99 ;
5483  unsigned long __cil_tmp100 ;
5484  unsigned long __cil_tmp101 ;
5485  unsigned long __cil_tmp102 ;
5486  unsigned long __cil_tmp103 ;
5487  struct i2c_adapter *__cil_tmp104 ;
5488  unsigned short const   *__cil_tmp105 ;
5489  int (*__cil_tmp106)(struct i2c_adapter * , unsigned short  ) ;
5490  void const   *__cil_tmp107 ;
5491
5492  {
5493  {
5494#line 163
5495  tmp = kzalloc(5256UL, 208U);
5496#line 163
5497  m2info = (struct matroxfb_dh_maven_info *)tmp;
5498  }
5499  {
5500#line 164
5501  __cil_tmp8 = (struct matroxfb_dh_maven_info *)0;
5502#line 164
5503  __cil_tmp9 = (unsigned long )__cil_tmp8;
5504#line 164
5505  __cil_tmp10 = (unsigned long )m2info;
5506#line 164
5507  if (__cil_tmp10 == __cil_tmp9) {
5508#line 165
5509    return ((void *)0);
5510  } else {
5511
5512  }
5513  }
5514  {
5515#line 167
5516  ldv_spin_lock();
5517#line 168
5518  __cil_tmp11 = (struct matrox_fb_info  const  *)minfo;
5519#line 168
5520  matroxfb_DAC_out(__cil_tmp11, 43, 255);
5521#line 169
5522  __cil_tmp12 = (struct matrox_fb_info  const  *)minfo;
5523#line 169
5524  matroxfb_DAC_out(__cil_tmp12, 42, 0);
5525#line 170
5526  __cil_tmp13 = (unsigned long )minfo;
5527#line 170
5528  __cil_tmp14 = __cil_tmp13 + 3728;
5529#line 170
5530  __cil_tmp15 = (spinlock_t *)__cil_tmp14;
5531#line 170
5532  spin_unlock_irqrestore(__cil_tmp15, flags);
5533  }
5534  {
5535#line 172
5536  __cil_tmp16 = (unsigned long )minfo;
5537#line 172
5538  __cil_tmp17 = __cil_tmp16 + 3872;
5539#line 172
5540  __cil_tmp18 = *((enum mga_chip *)__cil_tmp17);
5541#line 172
5542  __cil_tmp19 = (unsigned int )__cil_tmp18;
5543#line 173
5544  if ((int )__cil_tmp19 == 0) {
5545#line 173
5546    goto case_0;
5547  } else
5548#line 174
5549  if ((int )__cil_tmp19 == 1) {
5550#line 174
5551    goto case_1;
5552  } else {
5553    {
5554#line 179
5555    goto switch_default;
5556#line 172
5557    if (0) {
5558      case_0: /* CIL Label */ ;
5559      case_1: /* CIL Label */ 
5560      {
5561#line 175
5562      __cil_tmp20 = (unsigned long )m2info;
5563#line 175
5564      __cil_tmp21 = __cil_tmp20 + 1752;
5565#line 175
5566      __cil_tmp22 = (struct i2c_bit_adapter *)__cil_tmp21;
5567#line 175
5568      err = i2c_bus_reg(__cil_tmp22, minfo, 4U, 16U, "DDC:fb%u #0", 8);
5569      }
5570#line 178
5571      goto ldv_32091;
5572      switch_default: /* CIL Label */ 
5573      {
5574#line 180
5575      __cil_tmp23 = (unsigned long )m2info;
5576#line 180
5577      __cil_tmp24 = __cil_tmp23 + 1752;
5578#line 180
5579      __cil_tmp25 = (struct i2c_bit_adapter *)__cil_tmp24;
5580#line 180
5581      err = i2c_bus_reg(__cil_tmp25, minfo, 2U, 8U, "DDC:fb%u #0", 8);
5582      }
5583#line 183
5584      goto ldv_32091;
5585    } else {
5586      switch_break: /* CIL Label */ ;
5587    }
5588    }
5589  }
5590  }
5591  ldv_32091: ;
5592#line 185
5593  if (err != 0) {
5594#line 186
5595    goto fail_ddc1;
5596  } else {
5597
5598  }
5599  {
5600#line 187
5601  __cil_tmp26 = 3928 + 88;
5602#line 187
5603  __cil_tmp27 = (unsigned long )minfo;
5604#line 187
5605  __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
5606#line 187
5607  __cil_tmp29 = *((int *)__cil_tmp28);
5608#line 187
5609  if (__cil_tmp29 != 0) {
5610    {
5611#line 188
5612    __cil_tmp30 = (unsigned long )m2info;
5613#line 188
5614    __cil_tmp31 = __cil_tmp30 + 3504;
5615#line 188
5616    __cil_tmp32 = (struct i2c_bit_adapter *)__cil_tmp31;
5617#line 188
5618    err = i2c_bus_reg(__cil_tmp32, minfo, 1U, 4U, "DDC:fb%u #1", 8);
5619    }
5620#line 191
5621    if (err == -19) {
5622      {
5623#line 192
5624      printk("<6>i2c-matroxfb: VGA->TV plug detected, DDC unavailable.\n");
5625      }
5626    } else
5627#line 193
5628    if (err != 0) {
5629      {
5630#line 194
5631      printk("<6>i2c-matroxfb: Could not register secondary output i2c bus. Continuing anyway.\n");
5632      }
5633    } else {
5634
5635    }
5636    {
5637#line 196
5638    __cil_tmp33 = (struct i2c_bit_adapter *)m2info;
5639#line 196
5640    err = i2c_bus_reg(__cil_tmp33, minfo, 16U, 32U, "MAVEN:fb%u", 0);
5641    }
5642#line 198
5643    if (err != 0) {
5644      {
5645#line 199
5646      printk("<6>i2c-matroxfb: Could not register Maven i2c bus. Continuing anyway.\n");
5647      }
5648    } else {
5649      {
5650#line 201
5651      __cil_tmp34 = 0 * 1UL;
5652#line 201
5653      __cil_tmp35 = 0 + __cil_tmp34;
5654#line 201
5655      __cil_tmp36 = (unsigned long )(& maven_info) + __cil_tmp35;
5656#line 201
5657      *((char *)__cil_tmp36) = (char )'m';
5658#line 201
5659      __cil_tmp37 = 1 * 1UL;
5660#line 201
5661      __cil_tmp38 = 0 + __cil_tmp37;
5662#line 201
5663      __cil_tmp39 = (unsigned long )(& maven_info) + __cil_tmp38;
5664#line 201
5665      *((char *)__cil_tmp39) = (char )'a';
5666#line 201
5667      __cil_tmp40 = 2 * 1UL;
5668#line 201
5669      __cil_tmp41 = 0 + __cil_tmp40;
5670#line 201
5671      __cil_tmp42 = (unsigned long )(& maven_info) + __cil_tmp41;
5672#line 201
5673      *((char *)__cil_tmp42) = (char )'v';
5674#line 201
5675      __cil_tmp43 = 3 * 1UL;
5676#line 201
5677      __cil_tmp44 = 0 + __cil_tmp43;
5678#line 201
5679      __cil_tmp45 = (unsigned long )(& maven_info) + __cil_tmp44;
5680#line 201
5681      *((char *)__cil_tmp45) = (char )'e';
5682#line 201
5683      __cil_tmp46 = 4 * 1UL;
5684#line 201
5685      __cil_tmp47 = 0 + __cil_tmp46;
5686#line 201
5687      __cil_tmp48 = (unsigned long )(& maven_info) + __cil_tmp47;
5688#line 201
5689      *((char *)__cil_tmp48) = (char )'n';
5690#line 201
5691      __cil_tmp49 = 5 * 1UL;
5692#line 201
5693      __cil_tmp50 = 0 + __cil_tmp49;
5694#line 201
5695      __cil_tmp51 = (unsigned long )(& maven_info) + __cil_tmp50;
5696#line 201
5697      *((char *)__cil_tmp51) = (char )'\000';
5698#line 201
5699      __cil_tmp52 = 6 * 1UL;
5700#line 201
5701      __cil_tmp53 = 0 + __cil_tmp52;
5702#line 201
5703      __cil_tmp54 = (unsigned long )(& maven_info) + __cil_tmp53;
5704#line 201
5705      *((char *)__cil_tmp54) = (char)0;
5706#line 201
5707      __cil_tmp55 = 7 * 1UL;
5708#line 201
5709      __cil_tmp56 = 0 + __cil_tmp55;
5710#line 201
5711      __cil_tmp57 = (unsigned long )(& maven_info) + __cil_tmp56;
5712#line 201
5713      *((char *)__cil_tmp57) = (char)0;
5714#line 201
5715      __cil_tmp58 = 8 * 1UL;
5716#line 201
5717      __cil_tmp59 = 0 + __cil_tmp58;
5718#line 201
5719      __cil_tmp60 = (unsigned long )(& maven_info) + __cil_tmp59;
5720#line 201
5721      *((char *)__cil_tmp60) = (char)0;
5722#line 201
5723      __cil_tmp61 = 9 * 1UL;
5724#line 201
5725      __cil_tmp62 = 0 + __cil_tmp61;
5726#line 201
5727      __cil_tmp63 = (unsigned long )(& maven_info) + __cil_tmp62;
5728#line 201
5729      *((char *)__cil_tmp63) = (char)0;
5730#line 201
5731      __cil_tmp64 = 10 * 1UL;
5732#line 201
5733      __cil_tmp65 = 0 + __cil_tmp64;
5734#line 201
5735      __cil_tmp66 = (unsigned long )(& maven_info) + __cil_tmp65;
5736#line 201
5737      *((char *)__cil_tmp66) = (char)0;
5738#line 201
5739      __cil_tmp67 = 11 * 1UL;
5740#line 201
5741      __cil_tmp68 = 0 + __cil_tmp67;
5742#line 201
5743      __cil_tmp69 = (unsigned long )(& maven_info) + __cil_tmp68;
5744#line 201
5745      *((char *)__cil_tmp69) = (char)0;
5746#line 201
5747      __cil_tmp70 = 12 * 1UL;
5748#line 201
5749      __cil_tmp71 = 0 + __cil_tmp70;
5750#line 201
5751      __cil_tmp72 = (unsigned long )(& maven_info) + __cil_tmp71;
5752#line 201
5753      *((char *)__cil_tmp72) = (char)0;
5754#line 201
5755      __cil_tmp73 = 13 * 1UL;
5756#line 201
5757      __cil_tmp74 = 0 + __cil_tmp73;
5758#line 201
5759      __cil_tmp75 = (unsigned long )(& maven_info) + __cil_tmp74;
5760#line 201
5761      *((char *)__cil_tmp75) = (char)0;
5762#line 201
5763      __cil_tmp76 = 14 * 1UL;
5764#line 201
5765      __cil_tmp77 = 0 + __cil_tmp76;
5766#line 201
5767      __cil_tmp78 = (unsigned long )(& maven_info) + __cil_tmp77;
5768#line 201
5769      *((char *)__cil_tmp78) = (char)0;
5770#line 201
5771      __cil_tmp79 = 15 * 1UL;
5772#line 201
5773      __cil_tmp80 = 0 + __cil_tmp79;
5774#line 201
5775      __cil_tmp81 = (unsigned long )(& maven_info) + __cil_tmp80;
5776#line 201
5777      *((char *)__cil_tmp81) = (char)0;
5778#line 201
5779      __cil_tmp82 = 16 * 1UL;
5780#line 201
5781      __cil_tmp83 = 0 + __cil_tmp82;
5782#line 201
5783      __cil_tmp84 = (unsigned long )(& maven_info) + __cil_tmp83;
5784#line 201
5785      *((char *)__cil_tmp84) = (char)0;
5786#line 201
5787      __cil_tmp85 = 17 * 1UL;
5788#line 201
5789      __cil_tmp86 = 0 + __cil_tmp85;
5790#line 201
5791      __cil_tmp87 = (unsigned long )(& maven_info) + __cil_tmp86;
5792#line 201
5793      *((char *)__cil_tmp87) = (char)0;
5794#line 201
5795      __cil_tmp88 = 18 * 1UL;
5796#line 201
5797      __cil_tmp89 = 0 + __cil_tmp88;
5798#line 201
5799      __cil_tmp90 = (unsigned long )(& maven_info) + __cil_tmp89;
5800#line 201
5801      *((char *)__cil_tmp90) = (char)0;
5802#line 201
5803      __cil_tmp91 = 19 * 1UL;
5804#line 201
5805      __cil_tmp92 = 0 + __cil_tmp91;
5806#line 201
5807      __cil_tmp93 = (unsigned long )(& maven_info) + __cil_tmp92;
5808#line 201
5809      *((char *)__cil_tmp93) = (char)0;
5810#line 201
5811      __cil_tmp94 = (unsigned long )(& maven_info) + 20;
5812#line 201
5813      *((unsigned short *)__cil_tmp94) = (unsigned short)0;
5814#line 201
5815      __cil_tmp95 = (unsigned long )(& maven_info) + 22;
5816#line 201
5817      *((unsigned short *)__cil_tmp95) = (unsigned short)27;
5818#line 201
5819      __cil_tmp96 = (unsigned long )(& maven_info) + 24;
5820#line 201
5821      *((void **)__cil_tmp96) = (void *)0;
5822#line 201
5823      __cil_tmp97 = (unsigned long )(& maven_info) + 32;
5824#line 201
5825      *((struct dev_archdata **)__cil_tmp97) = (struct dev_archdata *)0;
5826#line 201
5827      __cil_tmp98 = (unsigned long )(& maven_info) + 40;
5828#line 201
5829      *((struct device_node **)__cil_tmp98) = (struct device_node *)0;
5830#line 201
5831      __cil_tmp99 = (unsigned long )(& maven_info) + 48;
5832#line 201
5833      *((int *)__cil_tmp99) = 0;
5834#line 204
5835      __cil_tmp100 = 0 * 2UL;
5836#line 204
5837      __cil_tmp101 = (unsigned long )(addr_list) + __cil_tmp100;
5838#line 204
5839      *((unsigned short *)__cil_tmp101) = (unsigned short)27;
5840#line 204
5841      __cil_tmp102 = 1 * 2UL;
5842#line 204
5843      __cil_tmp103 = (unsigned long )(addr_list) + __cil_tmp102;
5844#line 204
5845      *((unsigned short *)__cil_tmp103) = (unsigned short)65534;
5846#line 208
5847      __cil_tmp104 = (struct i2c_adapter *)m2info;
5848#line 208
5849      __cil_tmp105 = (unsigned short const   *)(& addr_list);
5850#line 208
5851      __cil_tmp106 = (int (*)(struct i2c_adapter * , unsigned short  ))0;
5852#line 208
5853      i2c_new_probed_device(__cil_tmp104, & maven_info, __cil_tmp105, __cil_tmp106);
5854      }
5855    }
5856  } else {
5857
5858  }
5859  }
5860#line 212
5861  return ((void *)m2info);
5862  fail_ddc1: 
5863  {
5864#line 214
5865  __cil_tmp107 = (void const   *)m2info;
5866#line 214
5867  kfree(__cil_tmp107);
5868#line 215
5869  printk("<3>i2c-matroxfb: Could not register primary adapter DDC bus.\n");
5870  }
5871#line 216
5872  return ((void *)0);
5873}
5874}
5875#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5876static void i2c_matroxfb_remove(struct matrox_fb_info *minfo , void *data ) 
5877{ struct matroxfb_dh_maven_info *m2info ;
5878  void const   *__cil_tmp4 ;
5879
5880  {
5881  {
5882#line 220
5883  m2info = (struct matroxfb_dh_maven_info *)data;
5884#line 222
5885  i2c_maven_done(m2info);
5886#line 223
5887  i2c_ddc2_done(m2info);
5888#line 224
5889  i2c_ddc1_done(m2info);
5890#line 225
5891  __cil_tmp4 = (void const   *)m2info;
5892#line 225
5893  kfree(__cil_tmp4);
5894  }
5895#line 226
5896  return;
5897}
5898}
5899#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5900static struct matroxfb_driver i2c_matroxfb  =    {{& i2c_matroxfb.node, & i2c_matroxfb.node}, (char *)"i2c-matroxfb", & i2c_matroxfb_probe,
5901    & i2c_matroxfb_remove};
5902#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5903static int i2c_matroxfb_init(void) 
5904{ int tmp ;
5905
5906  {
5907  {
5908#line 236
5909  tmp = matroxfb_register_driver(& i2c_matroxfb);
5910  }
5911#line 236
5912  if (tmp != 0) {
5913    {
5914#line 237
5915    printk("<3>i2c-matroxfb: failed to register driver\n");
5916    }
5917#line 238
5918    return (-6);
5919  } else {
5920
5921  }
5922#line 240
5923  return (0);
5924}
5925}
5926#line 243 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5927static void i2c_matroxfb_exit(void) 
5928{ 
5929
5930  {
5931  {
5932#line 244
5933  matroxfb_unregister_driver(& i2c_matroxfb);
5934  }
5935#line 245
5936  return;
5937}
5938}
5939#line 271
5940extern void ldv_check_final_state(void) ;
5941#line 277
5942extern void ldv_initialize(void) ;
5943#line 280
5944extern int __VERIFIER_nondet_int(void) ;
5945#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5946int LDV_IN_INTERRUPT  ;
5947#line 286 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
5948void main(void) 
5949{ void *var_matroxfb_gpio_setsda_3_p0 ;
5950  int var_matroxfb_gpio_setsda_3_p1 ;
5951  void *var_matroxfb_gpio_setscl_4_p0 ;
5952  int var_matroxfb_gpio_setscl_4_p1 ;
5953  void *var_matroxfb_gpio_getsda_5_p0 ;
5954  void *var_matroxfb_gpio_getscl_6_p0 ;
5955  struct matrox_fb_info *var_group1 ;
5956  void *var_i2c_matroxfb_remove_13_p1 ;
5957  int ldv_s_i2c_matroxfb_matroxfb_driver ;
5958  int tmp ;
5959  int tmp___0 ;
5960  int tmp___1 ;
5961
5962  {
5963  {
5964#line 412
5965  ldv_s_i2c_matroxfb_matroxfb_driver = 0;
5966#line 384
5967  LDV_IN_INTERRUPT = 1;
5968#line 393
5969  ldv_initialize();
5970#line 408
5971  tmp = i2c_matroxfb_init();
5972  }
5973#line 408
5974  if (tmp != 0) {
5975#line 409
5976    goto ldv_final;
5977  } else {
5978
5979  }
5980#line 416
5981  goto ldv_32152;
5982  ldv_32151: 
5983  {
5984#line 420
5985  tmp___0 = __VERIFIER_nondet_int();
5986  }
5987#line 422
5988  if (tmp___0 == 0) {
5989#line 422
5990    goto case_0;
5991  } else
5992#line 447
5993  if (tmp___0 == 1) {
5994#line 447
5995    goto case_1;
5996  } else
5997#line 472
5998  if (tmp___0 == 2) {
5999#line 472
6000    goto case_2;
6001  } else
6002#line 497
6003  if (tmp___0 == 3) {
6004#line 497
6005    goto case_3;
6006  } else
6007#line 522
6008  if (tmp___0 == 4) {
6009#line 522
6010    goto case_4;
6011  } else
6012#line 547
6013  if (tmp___0 == 5) {
6014#line 547
6015    goto case_5;
6016  } else {
6017    {
6018#line 572
6019    goto switch_default;
6020#line 420
6021    if (0) {
6022      case_0: /* CIL Label */ 
6023      {
6024#line 439
6025      matroxfb_gpio_setsda(var_matroxfb_gpio_setsda_3_p0, var_matroxfb_gpio_setsda_3_p1);
6026      }
6027#line 446
6028      goto ldv_32144;
6029      case_1: /* CIL Label */ 
6030      {
6031#line 464
6032      matroxfb_gpio_setscl(var_matroxfb_gpio_setscl_4_p0, var_matroxfb_gpio_setscl_4_p1);
6033      }
6034#line 471
6035      goto ldv_32144;
6036      case_2: /* CIL Label */ 
6037      {
6038#line 489
6039      matroxfb_gpio_getsda(var_matroxfb_gpio_getsda_5_p0);
6040      }
6041#line 496
6042      goto ldv_32144;
6043      case_3: /* CIL Label */ 
6044      {
6045#line 514
6046      matroxfb_gpio_getscl(var_matroxfb_gpio_getscl_6_p0);
6047      }
6048#line 521
6049      goto ldv_32144;
6050      case_4: /* CIL Label */ ;
6051#line 525
6052      if (ldv_s_i2c_matroxfb_matroxfb_driver == 0) {
6053        {
6054#line 539
6055        i2c_matroxfb_probe(var_group1);
6056#line 540
6057        ldv_s_i2c_matroxfb_matroxfb_driver = 0;
6058        }
6059      } else {
6060
6061      }
6062#line 546
6063      goto ldv_32144;
6064      case_5: /* CIL Label */ 
6065      {
6066#line 564
6067      i2c_matroxfb_remove(var_group1, var_i2c_matroxfb_remove_13_p1);
6068      }
6069#line 571
6070      goto ldv_32144;
6071      switch_default: /* CIL Label */ ;
6072#line 572
6073      goto ldv_32144;
6074    } else {
6075      switch_break: /* CIL Label */ ;
6076    }
6077    }
6078  }
6079  ldv_32144: ;
6080  ldv_32152: 
6081  {
6082#line 416
6083  tmp___1 = __VERIFIER_nondet_int();
6084  }
6085#line 416
6086  if (tmp___1 != 0) {
6087#line 418
6088    goto ldv_32151;
6089  } else
6090#line 416
6091  if (ldv_s_i2c_matroxfb_matroxfb_driver != 0) {
6092#line 418
6093    goto ldv_32151;
6094  } else {
6095#line 420
6096    goto ldv_32153;
6097  }
6098  ldv_32153: ;
6099  {
6100#line 593
6101  i2c_matroxfb_exit();
6102  }
6103  ldv_final: 
6104  {
6105#line 596
6106  ldv_check_final_state();
6107  }
6108#line 599
6109  return;
6110}
6111}
6112#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
6113void ldv_blast_assert(void) 
6114{ 
6115
6116  {
6117  ERROR: ;
6118#line 6
6119  goto ERROR;
6120}
6121}
6122#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
6123extern int __VERIFIER_nondet_int(void) ;
6124#line 620 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6125int ldv_spin  =    0;
6126#line 624 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6127void ldv_check_alloc_flags(gfp_t flags ) 
6128{ 
6129
6130  {
6131#line 627
6132  if (ldv_spin != 0) {
6133#line 627
6134    if (flags != 32U) {
6135      {
6136#line 627
6137      ldv_blast_assert();
6138      }
6139    } else {
6140
6141    }
6142  } else {
6143
6144  }
6145#line 630
6146  return;
6147}
6148}
6149#line 630
6150extern struct page *ldv_some_page(void) ;
6151#line 633 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6152struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
6153{ struct page *tmp ;
6154
6155  {
6156#line 636
6157  if (ldv_spin != 0) {
6158#line 636
6159    if (flags != 32U) {
6160      {
6161#line 636
6162      ldv_blast_assert();
6163      }
6164    } else {
6165
6166    }
6167  } else {
6168
6169  }
6170  {
6171#line 638
6172  tmp = ldv_some_page();
6173  }
6174#line 638
6175  return (tmp);
6176}
6177}
6178#line 642 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6179void ldv_check_alloc_nonatomic(void) 
6180{ 
6181
6182  {
6183#line 645
6184  if (ldv_spin != 0) {
6185    {
6186#line 645
6187    ldv_blast_assert();
6188    }
6189  } else {
6190
6191  }
6192#line 648
6193  return;
6194}
6195}
6196#line 649 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6197void ldv_spin_lock(void) 
6198{ 
6199
6200  {
6201#line 652
6202  ldv_spin = 1;
6203#line 653
6204  return;
6205}
6206}
6207#line 656 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6208void ldv_spin_unlock(void) 
6209{ 
6210
6211  {
6212#line 659
6213  ldv_spin = 0;
6214#line 660
6215  return;
6216}
6217}
6218#line 663 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6219int ldv_spin_trylock(void) 
6220{ int is_lock ;
6221
6222  {
6223  {
6224#line 668
6225  is_lock = __VERIFIER_nondet_int();
6226  }
6227#line 670
6228  if (is_lock != 0) {
6229#line 673
6230    return (0);
6231  } else {
6232#line 678
6233    ldv_spin = 1;
6234#line 680
6235    return (1);
6236  }
6237}
6238}
6239#line 756 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6240__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
6241{ 
6242
6243  {
6244  {
6245#line 762
6246  ldv_spin_unlock();
6247#line 764
6248  ldv_spin_unlock_irqrestore_8(lock, flags);
6249  }
6250#line 765
6251  return;
6252}
6253}
6254#line 847 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6255void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
6256{ 
6257
6258  {
6259  {
6260#line 853
6261  ldv_check_alloc_flags(ldv_func_arg2);
6262#line 855
6263  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
6264  }
6265#line 856
6266  return ((void *)0);
6267}
6268}
6269#line 858 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1361/dscv_tempdir/dscv/ri/43_1a/drivers/video/matrox/i2c-matroxfb.c.p"
6270__inline static void *kzalloc(size_t size , gfp_t flags ) 
6271{ void *tmp ;
6272
6273  {
6274  {
6275#line 864
6276  ldv_check_alloc_flags(flags);
6277#line 865
6278  tmp = __VERIFIER_nondet_pointer();
6279  }
6280#line 865
6281  return (tmp);
6282}
6283}