Showing error 618

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--spi--spi-tle62x0.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4541
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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