Showing error 175

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--auxdisplay--ks0108.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 1639
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 26 "include/asm-generic/int-ll64.h"
   7typedef unsigned int __u32;
   8#line 30 "include/asm-generic/int-ll64.h"
   9typedef unsigned long long __u64;
  10#line 45 "include/asm-generic/int-ll64.h"
  11typedef short s16;
  12#line 46 "include/asm-generic/int-ll64.h"
  13typedef unsigned short u16;
  14#line 48 "include/asm-generic/int-ll64.h"
  15typedef int s32;
  16#line 49 "include/asm-generic/int-ll64.h"
  17typedef unsigned int u32;
  18#line 51 "include/asm-generic/int-ll64.h"
  19typedef long long s64;
  20#line 14 "include/asm-generic/posix_types.h"
  21typedef long __kernel_long_t;
  22#line 15 "include/asm-generic/posix_types.h"
  23typedef unsigned long __kernel_ulong_t;
  24#line 75 "include/asm-generic/posix_types.h"
  25typedef __kernel_ulong_t __kernel_size_t;
  26#line 76 "include/asm-generic/posix_types.h"
  27typedef __kernel_long_t __kernel_ssize_t;
  28#line 27 "include/linux/types.h"
  29typedef unsigned short umode_t;
  30#line 63 "include/linux/types.h"
  31typedef __kernel_size_t size_t;
  32#line 68 "include/linux/types.h"
  33typedef __kernel_ssize_t ssize_t;
  34#line 219 "include/linux/types.h"
  35struct __anonstruct_atomic_t_7 {
  36   int counter ;
  37};
  38#line 219 "include/linux/types.h"
  39typedef struct __anonstruct_atomic_t_7 atomic_t;
  40#line 229 "include/linux/types.h"
  41struct list_head {
  42   struct list_head *next ;
  43   struct list_head *prev ;
  44};
  45#line 146 "include/linux/init.h"
  46typedef void (*ctor_fn_t)(void);
  47#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  48struct module;
  49#line 56
  50struct module;
  51#line 47 "include/linux/dynamic_debug.h"
  52struct device;
  53#line 47
  54struct device;
  55#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
  56struct task_struct;
  57#line 20
  58struct task_struct;
  59#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  60struct task_struct;
  61#line 52 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
  62struct task_struct;
  63#line 329
  64struct arch_spinlock;
  65#line 329
  66struct arch_spinlock;
  67#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  68struct task_struct;
  69#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
  70struct task_struct;
  71#line 10 "include/asm-generic/bug.h"
  72struct bug_entry {
  73   int bug_addr_disp ;
  74   int file_disp ;
  75   unsigned short line ;
  76   unsigned short flags ;
  77};
  78#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
  79struct static_key;
  80#line 234
  81struct static_key;
  82#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  83typedef u16 __ticket_t;
  84#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  85typedef u32 __ticketpair_t;
  86#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  87struct __raw_tickets {
  88   __ticket_t head ;
  89   __ticket_t tail ;
  90};
  91#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  92union __anonunion____missing_field_name_36 {
  93   __ticketpair_t head_tail ;
  94   struct __raw_tickets tickets ;
  95};
  96#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  97struct arch_spinlock {
  98   union __anonunion____missing_field_name_36 __annonCompField17 ;
  99};
 100#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 101typedef struct arch_spinlock arch_spinlock_t;
 102#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 103struct __anonstruct____missing_field_name_38 {
 104   u32 read ;
 105   s32 write ;
 106};
 107#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 108union __anonunion_arch_rwlock_t_37 {
 109   s64 lock ;
 110   struct __anonstruct____missing_field_name_38 __annonCompField18 ;
 111};
 112#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 113typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
 114#line 12 "include/linux/lockdep.h"
 115struct task_struct;
 116#line 20 "include/linux/spinlock_types.h"
 117struct raw_spinlock {
 118   arch_spinlock_t raw_lock ;
 119   unsigned int magic ;
 120   unsigned int owner_cpu ;
 121   void *owner ;
 122};
 123#line 20 "include/linux/spinlock_types.h"
 124typedef struct raw_spinlock raw_spinlock_t;
 125#line 64 "include/linux/spinlock_types.h"
 126union __anonunion____missing_field_name_39 {
 127   struct raw_spinlock rlock ;
 128};
 129#line 64 "include/linux/spinlock_types.h"
 130struct spinlock {
 131   union __anonunion____missing_field_name_39 __annonCompField19 ;
 132};
 133#line 64 "include/linux/spinlock_types.h"
 134typedef struct spinlock spinlock_t;
 135#line 11 "include/linux/rwlock_types.h"
 136struct __anonstruct_rwlock_t_40 {
 137   arch_rwlock_t raw_lock ;
 138   unsigned int magic ;
 139   unsigned int owner_cpu ;
 140   void *owner ;
 141};
 142#line 11 "include/linux/rwlock_types.h"
 143typedef struct __anonstruct_rwlock_t_40 rwlock_t;
 144#line 49 "include/linux/wait.h"
 145struct __wait_queue_head {
 146   spinlock_t lock ;
 147   struct list_head task_list ;
 148};
 149#line 53 "include/linux/wait.h"
 150typedef struct __wait_queue_head wait_queue_head_t;
 151#line 55
 152struct task_struct;
 153#line 48 "include/linux/mutex.h"
 154struct mutex {
 155   atomic_t count ;
 156   spinlock_t wait_lock ;
 157   struct list_head wait_list ;
 158   struct task_struct *owner ;
 159   char const   *name ;
 160   void *magic ;
 161};
 162#line 202 "include/linux/ioport.h"
 163struct device;
 164#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 165struct device;
 166#line 42 "include/linux/pm.h"
 167struct device;
 168#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 169struct task_struct;
 170#line 18 "include/linux/elf.h"
 171typedef __u64 Elf64_Addr;
 172#line 19 "include/linux/elf.h"
 173typedef __u16 Elf64_Half;
 174#line 23 "include/linux/elf.h"
 175typedef __u32 Elf64_Word;
 176#line 24 "include/linux/elf.h"
 177typedef __u64 Elf64_Xword;
 178#line 194 "include/linux/elf.h"
 179struct elf64_sym {
 180   Elf64_Word st_name ;
 181   unsigned char st_info ;
 182   unsigned char st_other ;
 183   Elf64_Half st_shndx ;
 184   Elf64_Addr st_value ;
 185   Elf64_Xword st_size ;
 186};
 187#line 194 "include/linux/elf.h"
 188typedef struct elf64_sym Elf64_Sym;
 189#line 20 "include/linux/kobject_ns.h"
 190struct sock;
 191#line 20
 192struct sock;
 193#line 21
 194struct kobject;
 195#line 21
 196struct kobject;
 197#line 27
 198enum kobj_ns_type {
 199    KOBJ_NS_TYPE_NONE = 0,
 200    KOBJ_NS_TYPE_NET = 1,
 201    KOBJ_NS_TYPES = 2
 202} ;
 203#line 40 "include/linux/kobject_ns.h"
 204struct kobj_ns_type_operations {
 205   enum kobj_ns_type type ;
 206   void *(*grab_current_ns)(void) ;
 207   void const   *(*netlink_ns)(struct sock *sk ) ;
 208   void const   *(*initial_ns)(void) ;
 209   void (*drop_ns)(void * ) ;
 210};
 211#line 22 "include/linux/sysfs.h"
 212struct kobject;
 213#line 23
 214struct module;
 215#line 24
 216enum kobj_ns_type;
 217#line 26 "include/linux/sysfs.h"
 218struct attribute {
 219   char const   *name ;
 220   umode_t mode ;
 221};
 222#line 112 "include/linux/sysfs.h"
 223struct sysfs_ops {
 224   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 225   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 226   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 227};
 228#line 118
 229struct sysfs_dirent;
 230#line 118
 231struct sysfs_dirent;
 232#line 22 "include/linux/kref.h"
 233struct kref {
 234   atomic_t refcount ;
 235};
 236#line 60 "include/linux/kobject.h"
 237struct kset;
 238#line 60
 239struct kobj_type;
 240#line 60 "include/linux/kobject.h"
 241struct kobject {
 242   char const   *name ;
 243   struct list_head entry ;
 244   struct kobject *parent ;
 245   struct kset *kset ;
 246   struct kobj_type *ktype ;
 247   struct sysfs_dirent *sd ;
 248   struct kref kref ;
 249   unsigned int state_initialized : 1 ;
 250   unsigned int state_in_sysfs : 1 ;
 251   unsigned int state_add_uevent_sent : 1 ;
 252   unsigned int state_remove_uevent_sent : 1 ;
 253   unsigned int uevent_suppress : 1 ;
 254};
 255#line 108 "include/linux/kobject.h"
 256struct kobj_type {
 257   void (*release)(struct kobject *kobj ) ;
 258   struct sysfs_ops  const  *sysfs_ops ;
 259   struct attribute **default_attrs ;
 260   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 261   void const   *(*namespace)(struct kobject *kobj ) ;
 262};
 263#line 116 "include/linux/kobject.h"
 264struct kobj_uevent_env {
 265   char *envp[32] ;
 266   int envp_idx ;
 267   char buf[2048] ;
 268   int buflen ;
 269};
 270#line 123 "include/linux/kobject.h"
 271struct kset_uevent_ops {
 272   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 273   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 274   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 275};
 276#line 140
 277struct sock;
 278#line 159 "include/linux/kobject.h"
 279struct kset {
 280   struct list_head list ;
 281   spinlock_t list_lock ;
 282   struct kobject kobj ;
 283   struct kset_uevent_ops  const  *uevent_ops ;
 284};
 285#line 39 "include/linux/moduleparam.h"
 286struct kernel_param;
 287#line 39
 288struct kernel_param;
 289#line 41 "include/linux/moduleparam.h"
 290struct kernel_param_ops {
 291   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 292   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 293   void (*free)(void *arg ) ;
 294};
 295#line 50
 296struct kparam_string;
 297#line 50
 298struct kparam_array;
 299#line 50 "include/linux/moduleparam.h"
 300union __anonunion____missing_field_name_199 {
 301   void *arg ;
 302   struct kparam_string  const  *str ;
 303   struct kparam_array  const  *arr ;
 304};
 305#line 50 "include/linux/moduleparam.h"
 306struct kernel_param {
 307   char const   *name ;
 308   struct kernel_param_ops  const  *ops ;
 309   u16 perm ;
 310   s16 level ;
 311   union __anonunion____missing_field_name_199 __annonCompField32 ;
 312};
 313#line 63 "include/linux/moduleparam.h"
 314struct kparam_string {
 315   unsigned int maxlen ;
 316   char *string ;
 317};
 318#line 69 "include/linux/moduleparam.h"
 319struct kparam_array {
 320   unsigned int max ;
 321   unsigned int elemsize ;
 322   unsigned int *num ;
 323   struct kernel_param_ops  const  *ops ;
 324   void *elem ;
 325};
 326#line 445
 327struct module;
 328#line 80 "include/linux/jump_label.h"
 329struct module;
 330#line 143 "include/linux/jump_label.h"
 331struct static_key {
 332   atomic_t enabled ;
 333};
 334#line 22 "include/linux/tracepoint.h"
 335struct module;
 336#line 23
 337struct tracepoint;
 338#line 23
 339struct tracepoint;
 340#line 25 "include/linux/tracepoint.h"
 341struct tracepoint_func {
 342   void *func ;
 343   void *data ;
 344};
 345#line 30 "include/linux/tracepoint.h"
 346struct tracepoint {
 347   char const   *name ;
 348   struct static_key key ;
 349   void (*regfunc)(void) ;
 350   void (*unregfunc)(void) ;
 351   struct tracepoint_func *funcs ;
 352};
 353#line 19 "include/linux/export.h"
 354struct kernel_symbol {
 355   unsigned long value ;
 356   char const   *name ;
 357};
 358#line 8 "include/asm-generic/module.h"
 359struct mod_arch_specific {
 360
 361};
 362#line 35 "include/linux/module.h"
 363struct module;
 364#line 37
 365struct module_param_attrs;
 366#line 37 "include/linux/module.h"
 367struct module_kobject {
 368   struct kobject kobj ;
 369   struct module *mod ;
 370   struct kobject *drivers_dir ;
 371   struct module_param_attrs *mp ;
 372};
 373#line 44 "include/linux/module.h"
 374struct module_attribute {
 375   struct attribute attr ;
 376   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 377   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 378                    size_t count ) ;
 379   void (*setup)(struct module * , char const   * ) ;
 380   int (*test)(struct module * ) ;
 381   void (*free)(struct module * ) ;
 382};
 383#line 71
 384struct exception_table_entry;
 385#line 71
 386struct exception_table_entry;
 387#line 199
 388enum module_state {
 389    MODULE_STATE_LIVE = 0,
 390    MODULE_STATE_COMING = 1,
 391    MODULE_STATE_GOING = 2
 392} ;
 393#line 215 "include/linux/module.h"
 394struct module_ref {
 395   unsigned long incs ;
 396   unsigned long decs ;
 397} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 398#line 220
 399struct module_sect_attrs;
 400#line 220
 401struct module_notes_attrs;
 402#line 220
 403struct ftrace_event_call;
 404#line 220 "include/linux/module.h"
 405struct module {
 406   enum module_state state ;
 407   struct list_head list ;
 408   char name[64UL - sizeof(unsigned long )] ;
 409   struct module_kobject mkobj ;
 410   struct module_attribute *modinfo_attrs ;
 411   char const   *version ;
 412   char const   *srcversion ;
 413   struct kobject *holders_dir ;
 414   struct kernel_symbol  const  *syms ;
 415   unsigned long const   *crcs ;
 416   unsigned int num_syms ;
 417   struct kernel_param *kp ;
 418   unsigned int num_kp ;
 419   unsigned int num_gpl_syms ;
 420   struct kernel_symbol  const  *gpl_syms ;
 421   unsigned long const   *gpl_crcs ;
 422   struct kernel_symbol  const  *unused_syms ;
 423   unsigned long const   *unused_crcs ;
 424   unsigned int num_unused_syms ;
 425   unsigned int num_unused_gpl_syms ;
 426   struct kernel_symbol  const  *unused_gpl_syms ;
 427   unsigned long const   *unused_gpl_crcs ;
 428   struct kernel_symbol  const  *gpl_future_syms ;
 429   unsigned long const   *gpl_future_crcs ;
 430   unsigned int num_gpl_future_syms ;
 431   unsigned int num_exentries ;
 432   struct exception_table_entry *extable ;
 433   int (*init)(void) ;
 434   void *module_init ;
 435   void *module_core ;
 436   unsigned int init_size ;
 437   unsigned int core_size ;
 438   unsigned int init_text_size ;
 439   unsigned int core_text_size ;
 440   unsigned int init_ro_size ;
 441   unsigned int core_ro_size ;
 442   struct mod_arch_specific arch ;
 443   unsigned int taints ;
 444   unsigned int num_bugs ;
 445   struct list_head bug_list ;
 446   struct bug_entry *bug_table ;
 447   Elf64_Sym *symtab ;
 448   Elf64_Sym *core_symtab ;
 449   unsigned int num_symtab ;
 450   unsigned int core_num_syms ;
 451   char *strtab ;
 452   char *core_strtab ;
 453   struct module_sect_attrs *sect_attrs ;
 454   struct module_notes_attrs *notes_attrs ;
 455   char *args ;
 456   void *percpu ;
 457   unsigned int percpu_size ;
 458   unsigned int num_tracepoints ;
 459   struct tracepoint * const  *tracepoints_ptrs ;
 460   unsigned int num_trace_bprintk_fmt ;
 461   char const   **trace_bprintk_fmt_start ;
 462   struct ftrace_event_call **trace_events ;
 463   unsigned int num_trace_events ;
 464   struct list_head source_list ;
 465   struct list_head target_list ;
 466   struct task_struct *waiter ;
 467   void (*exit)(void) ;
 468   struct module_ref *refptr ;
 469   ctor_fn_t *ctors ;
 470   unsigned int num_ctors ;
 471};
 472#line 18 "include/linux/capability.h"
 473struct task_struct;
 474#line 16 "include/linux/semaphore.h"
 475struct semaphore {
 476   raw_spinlock_t lock ;
 477   unsigned int count ;
 478   struct list_head wait_list ;
 479};
 480#line 413 "include/linux/fs.h"
 481struct kobject;
 482#line 25 "include/linux/io.h"
 483struct device;
 484#line 37 "include/linux/parport.h"
 485enum __anonenum_parport_device_class_218 {
 486    PARPORT_CLASS_LEGACY = 0,
 487    PARPORT_CLASS_PRINTER = 1,
 488    PARPORT_CLASS_MODEM = 2,
 489    PARPORT_CLASS_NET = 3,
 490    PARPORT_CLASS_HDC = 4,
 491    PARPORT_CLASS_PCMCIA = 5,
 492    PARPORT_CLASS_MEDIA = 6,
 493    PARPORT_CLASS_FDC = 7,
 494    PARPORT_CLASS_PORTS = 8,
 495    PARPORT_CLASS_SCANNER = 9,
 496    PARPORT_CLASS_DIGCAM = 10,
 497    PARPORT_CLASS_OTHER = 11,
 498    PARPORT_CLASS_UNSPEC = 12,
 499    PARPORT_CLASS_SCSIADAPTER = 13
 500} ;
 501#line 37 "include/linux/parport.h"
 502typedef enum __anonenum_parport_device_class_218 parport_device_class;
 503#line 106
 504struct parport;
 505#line 106
 506struct parport;
 507#line 107
 508struct pardevice;
 509#line 107
 510struct pardevice;
 511#line 109 "include/linux/parport.h"
 512struct pc_parport_state {
 513   unsigned int ctr ;
 514   unsigned int ecr ;
 515};
 516#line 114 "include/linux/parport.h"
 517struct ax_parport_state {
 518   unsigned int ctr ;
 519   unsigned int ecr ;
 520   unsigned int dcsr ;
 521};
 522#line 121 "include/linux/parport.h"
 523struct amiga_parport_state {
 524   unsigned char data ;
 525   unsigned char datadir ;
 526   unsigned char status ;
 527   unsigned char statusdir ;
 528};
 529#line 128 "include/linux/parport.h"
 530struct ax88796_parport_state {
 531   unsigned char cpr ;
 532};
 533#line 132 "include/linux/parport.h"
 534struct ip32_parport_state {
 535   unsigned int dcr ;
 536   unsigned int ecr ;
 537};
 538#line 137 "include/linux/parport.h"
 539union __anonunion_u_220 {
 540   struct pc_parport_state pc ;
 541   struct ax_parport_state ax ;
 542   struct amiga_parport_state amiga ;
 543   struct ax88796_parport_state ax88796 ;
 544   struct ip32_parport_state ip32 ;
 545   void *misc ;
 546};
 547#line 137 "include/linux/parport.h"
 548struct parport_state {
 549   union __anonunion_u_220 u ;
 550};
 551#line 150 "include/linux/parport.h"
 552struct parport_operations {
 553   void (*write_data)(struct parport * , unsigned char  ) ;
 554   unsigned char (*read_data)(struct parport * ) ;
 555   void (*write_control)(struct parport * , unsigned char  ) ;
 556   unsigned char (*read_control)(struct parport * ) ;
 557   unsigned char (*frob_control)(struct parport * , unsigned char mask , unsigned char val ) ;
 558   unsigned char (*read_status)(struct parport * ) ;
 559   void (*enable_irq)(struct parport * ) ;
 560   void (*disable_irq)(struct parport * ) ;
 561   void (*data_forward)(struct parport * ) ;
 562   void (*data_reverse)(struct parport * ) ;
 563   void (*init_state)(struct pardevice * , struct parport_state * ) ;
 564   void (*save_state)(struct parport * , struct parport_state * ) ;
 565   void (*restore_state)(struct parport * , struct parport_state * ) ;
 566   size_t (*epp_write_data)(struct parport *port , void const   *buf , size_t len ,
 567                            int flags ) ;
 568   size_t (*epp_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
 569   size_t (*epp_write_addr)(struct parport *port , void const   *buf , size_t len ,
 570                            int flags ) ;
 571   size_t (*epp_read_addr)(struct parport *port , void *buf , size_t len , int flags ) ;
 572   size_t (*ecp_write_data)(struct parport *port , void const   *buf , size_t len ,
 573                            int flags ) ;
 574   size_t (*ecp_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
 575   size_t (*ecp_write_addr)(struct parport *port , void const   *buf , size_t len ,
 576                            int flags ) ;
 577   size_t (*compat_write_data)(struct parport *port , void const   *buf , size_t len ,
 578                               int flags ) ;
 579   size_t (*nibble_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
 580   size_t (*byte_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
 581   struct module *owner ;
 582};
 583#line 201 "include/linux/parport.h"
 584struct parport_device_info {
 585   parport_device_class class ;
 586   char const   *class_name ;
 587   char const   *mfr ;
 588   char const   *model ;
 589   char const   *cmdset ;
 590   char const   *description ;
 591};
 592#line 223 "include/linux/parport.h"
 593struct pardevice {
 594   char const   *name ;
 595   struct parport *port ;
 596   int daisy ;
 597   int (*preempt)(void * ) ;
 598   void (*wakeup)(void * ) ;
 599   void *private ;
 600   void (*irq_func)(void * ) ;
 601   unsigned int flags ;
 602   struct pardevice *next ;
 603   struct pardevice *prev ;
 604   struct parport_state *state ;
 605   wait_queue_head_t wait_q ;
 606   unsigned long time ;
 607   unsigned long timeslice ;
 608   long volatile   timeout ;
 609   unsigned long waiting ;
 610   struct pardevice *waitprev ;
 611   struct pardevice *waitnext ;
 612   void *sysctl_table ;
 613};
 614#line 249
 615enum ieee1284_phase {
 616    IEEE1284_PH_FWD_DATA = 0,
 617    IEEE1284_PH_FWD_IDLE = 1,
 618    IEEE1284_PH_TERMINATE = 2,
 619    IEEE1284_PH_NEGOTIATION = 3,
 620    IEEE1284_PH_HBUSY_DNA = 4,
 621    IEEE1284_PH_REV_IDLE = 5,
 622    IEEE1284_PH_HBUSY_DAVAIL = 6,
 623    IEEE1284_PH_REV_DATA = 7,
 624    IEEE1284_PH_ECP_SETUP = 8,
 625    IEEE1284_PH_ECP_FWD_TO_REV = 9,
 626    IEEE1284_PH_ECP_REV_TO_FWD = 10,
 627    IEEE1284_PH_ECP_DIR_UNKNOWN = 11
 628} ;
 629#line 263 "include/linux/parport.h"
 630struct ieee1284_info {
 631   int mode ;
 632   enum ieee1284_phase  volatile  phase ;
 633   struct semaphore irq ;
 634};
 635#line 270 "include/linux/parport.h"
 636struct parport {
 637   unsigned long base ;
 638   unsigned long base_hi ;
 639   unsigned int size ;
 640   char const   *name ;
 641   unsigned int modes ;
 642   int irq ;
 643   int dma ;
 644   int muxport ;
 645   int portnum ;
 646   struct device *dev ;
 647   struct parport *physport ;
 648   struct pardevice *devices ;
 649   struct pardevice *cad ;
 650   int daisy ;
 651   int muxsel ;
 652   struct pardevice *waithead ;
 653   struct pardevice *waittail ;
 654   struct list_head list ;
 655   unsigned int flags ;
 656   void *sysctl_table ;
 657   struct parport_device_info probe_info[5] ;
 658   struct ieee1284_info ieee1284 ;
 659   struct parport_operations *ops ;
 660   void *private_data ;
 661   int number ;
 662   spinlock_t pardevice_lock ;
 663   spinlock_t waitlist_lock ;
 664   rwlock_t cad_lock ;
 665   int spintime ;
 666   atomic_t ref_count ;
 667   unsigned long devflags ;
 668   struct pardevice *proc_device ;
 669   struct list_head full_list ;
 670   struct parport *slaves[3] ;
 671};
 672#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
 673struct exception_table_entry {
 674   unsigned long insn ;
 675   unsigned long fixup ;
 676};
 677#line 1 "<compiler builtins>"
 678long __builtin_expect(long val , long res ) ;
 679#line 100 "include/linux/printk.h"
 680extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
 681#line 152 "include/linux/mutex.h"
 682void mutex_lock(struct mutex *lock ) ;
 683#line 153
 684int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
 685#line 154
 686int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
 687#line 168
 688int mutex_trylock(struct mutex *lock ) ;
 689#line 169
 690void mutex_unlock(struct mutex *lock ) ;
 691#line 170
 692int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
 693#line 361 "include/linux/moduleparam.h"
 694extern struct kernel_param_ops param_ops_uint ;
 695#line 67 "include/linux/module.h"
 696int init_module(void) ;
 697#line 68
 698void cleanup_module(void) ;
 699#line 8 "include/asm-generic/delay.h"
 700extern void __udelay(unsigned long usecs ) ;
 701#line 369 "include/linux/parport.h"
 702extern struct parport *parport_find_base(unsigned long  ) ;
 703#line 384
 704extern struct pardevice *parport_register_device(struct parport *port , char const   *name ,
 705                                                 int (*pf)(void * ) , void (*kf)(void * ) ,
 706                                                 void (*irq_func)(void * ) , int flags ,
 707                                                 void *handle ) ;
 708#line 391
 709extern void parport_unregister_device(struct pardevice *dev ) ;
 710#line 397
 711extern int parport_claim(struct pardevice *dev ) ;
 712#line 412
 713extern void parport_release(struct pardevice *dev ) ;
 714#line 29 "include/linux/ks0108.h"
 715void ks0108_writedata(unsigned char byte ) ;
 716#line 32
 717void ks0108_writecontrol(unsigned char byte ) ;
 718#line 35
 719void ks0108_displaystate(unsigned char state ) ;
 720#line 38
 721void ks0108_startline(unsigned char startline ) ;
 722#line 41
 723void ks0108_address(unsigned char address ) ;
 724#line 44
 725void ks0108_page(unsigned char page ) ;
 726#line 47
 727unsigned char ks0108_isinited(void) ;
 728#line 43 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 729static unsigned int ks0108_port  =    888U;
 730#line 44 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 731static char const   __param_str_ks0108_port[12]  = 
 732#line 44
 733  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
 734        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'p', 
 735        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )'\000'};
 736#line 44 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 737static struct kernel_param  const  __param_ks0108_port  __attribute__((__used__, __unused__,
 738__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_ks0108_port, (struct kernel_param_ops  const  *)(& param_ops_uint),
 739    (u16 )292, (s16 )0, {(void *)(& ks0108_port)}};
 740#line 44 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 741static char const   __mod_ks0108_porttype44[26]  __attribute__((__used__, __unused__,
 742__section__(".modinfo"), __aligned__(1)))  = 
 743#line 44
 744  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 745        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 746        (char const   )'=',      (char const   )'k',      (char const   )'s',      (char const   )'0', 
 747        (char const   )'1',      (char const   )'0',      (char const   )'8',      (char const   )'_', 
 748        (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t', 
 749        (char const   )':',      (char const   )'u',      (char const   )'i',      (char const   )'n', 
 750        (char const   )'t',      (char const   )'\000'};
 751#line 45 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 752static char const   __mod_ks0108_port45[58]  __attribute__((__used__, __unused__,
 753__section__(".modinfo"), __aligned__(1)))  = 
 754#line 45
 755  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 756        (char const   )'=',      (char const   )'k',      (char const   )'s',      (char const   )'0', 
 757        (char const   )'1',      (char const   )'0',      (char const   )'8',      (char const   )'_', 
 758        (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t', 
 759        (char const   )':',      (char const   )'P',      (char const   )'a',      (char const   )'r', 
 760        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'e', 
 761        (char const   )'l',      (char const   )' ',      (char const   )'p',      (char const   )'o', 
 762        (char const   )'r',      (char const   )'t',      (char const   )' ',      (char const   )'w', 
 763        (char const   )'h',      (char const   )'e',      (char const   )'r',      (char const   )'e', 
 764        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e', 
 765        (char const   )' ',      (char const   )'L',      (char const   )'C',      (char const   )'D', 
 766        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ', 
 767        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'n', 
 768        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e', 
 769        (char const   )'d',      (char const   )'\000'};
 770#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 771static unsigned int ks0108_delay  =    2U;
 772#line 48 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 773static char const   __param_str_ks0108_delay[13]  = 
 774#line 48
 775  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
 776        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'d', 
 777        (char const   )'e',      (char const   )'l',      (char const   )'a',      (char const   )'y', 
 778        (char const   )'\000'};
 779#line 48 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 780static struct kernel_param  const  __param_ks0108_delay  __attribute__((__used__,
 781__unused__, __section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_ks0108_delay, (struct kernel_param_ops  const  *)(& param_ops_uint),
 782    (u16 )292, (s16 )0, {(void *)(& ks0108_delay)}};
 783#line 48 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 784static char const   __mod_ks0108_delaytype48[27]  __attribute__((__used__, __unused__,
 785__section__(".modinfo"), __aligned__(1)))  = 
 786#line 48
 787  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 788        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 789        (char const   )'=',      (char const   )'k',      (char const   )'s',      (char const   )'0', 
 790        (char const   )'1',      (char const   )'0',      (char const   )'8',      (char const   )'_', 
 791        (char const   )'d',      (char const   )'e',      (char const   )'l',      (char const   )'a', 
 792        (char const   )'y',      (char const   )':',      (char const   )'u',      (char const   )'i', 
 793        (char const   )'n',      (char const   )'t',      (char const   )'\000'};
 794#line 49 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 795static char const   __mod_ks0108_delay49[68]  __attribute__((__used__, __unused__,
 796__section__(".modinfo"), __aligned__(1)))  = 
 797#line 49
 798  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 799        (char const   )'=',      (char const   )'k',      (char const   )'s',      (char const   )'0', 
 800        (char const   )'1',      (char const   )'0',      (char const   )'8',      (char const   )'_', 
 801        (char const   )'d',      (char const   )'e',      (char const   )'l',      (char const   )'a', 
 802        (char const   )'y',      (char const   )':',      (char const   )'D',      (char const   )'e', 
 803        (char const   )'l',      (char const   )'a',      (char const   )'y',      (char const   )' ', 
 804        (char const   )'b',      (char const   )'e',      (char const   )'t',      (char const   )'w', 
 805        (char const   )'e',      (char const   )'e',      (char const   )'n',      (char const   )' ', 
 806        (char const   )'e',      (char const   )'a',      (char const   )'c',      (char const   )'h', 
 807        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n', 
 808        (char const   )'t',      (char const   )'r',      (char const   )'o',      (char const   )'l', 
 809        (char const   )' ',      (char const   )'w',      (char const   )'r',      (char const   )'i', 
 810        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g', 
 811        (char const   )' ',      (char const   )'(',      (char const   )'m',      (char const   )'i', 
 812        (char const   )'c',      (char const   )'r',      (char const   )'o',      (char const   )'s', 
 813        (char const   )'e',      (char const   )'c',      (char const   )'o',      (char const   )'n', 
 814        (char const   )'d',      (char const   )'s',      (char const   )')',      (char const   )'\000'};
 815#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 816static struct parport *ks0108_parport  ;
 817#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 818static struct pardevice *ks0108_pardevice  ;
 819#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 820void ks0108_writedata(unsigned char byte ) 
 821{ unsigned long __cil_tmp2 ;
 822  unsigned long __cil_tmp3 ;
 823  struct parport_operations *__cil_tmp4 ;
 824  void (*__cil_tmp5)(struct parport * , unsigned char  ) ;
 825
 826  {
 827  {
 828#line 78
 829  __cil_tmp2 = (unsigned long )ks0108_parport;
 830#line 78
 831  __cil_tmp3 = __cil_tmp2 + 440;
 832#line 78
 833  __cil_tmp4 = *((struct parport_operations **)__cil_tmp3);
 834#line 78
 835  __cil_tmp5 = *((void (**)(struct parport * , unsigned char  ))__cil_tmp4);
 836#line 78
 837  (*__cil_tmp5)(ks0108_parport, byte);
 838  }
 839#line 79
 840  return;
 841}
 842}
 843#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 844void ks0108_writecontrol(unsigned char byte ) 
 845{ unsigned int *__cil_tmp2 ;
 846  unsigned int __cil_tmp3 ;
 847  unsigned long __cil_tmp4 ;
 848  unsigned long __cil_tmp5 ;
 849  unsigned long __cil_tmp6 ;
 850  struct parport_operations *__cil_tmp7 ;
 851  unsigned long __cil_tmp8 ;
 852  unsigned long __cil_tmp9 ;
 853  void (*__cil_tmp10)(struct parport * , unsigned char  ) ;
 854  int __cil_tmp11 ;
 855  int __cil_tmp12 ;
 856  int __cil_tmp13 ;
 857  int __cil_tmp14 ;
 858  int __cil_tmp15 ;
 859  int __cil_tmp16 ;
 860  unsigned char __cil_tmp17 ;
 861
 862  {
 863  {
 864#line 83
 865  __cil_tmp2 = & ks0108_delay;
 866#line 83
 867  __cil_tmp3 = *__cil_tmp2;
 868#line 83
 869  __cil_tmp4 = (unsigned long )__cil_tmp3;
 870#line 83
 871  __udelay(__cil_tmp4);
 872#line 84
 873  __cil_tmp5 = (unsigned long )ks0108_parport;
 874#line 84
 875  __cil_tmp6 = __cil_tmp5 + 440;
 876#line 84
 877  __cil_tmp7 = *((struct parport_operations **)__cil_tmp6);
 878#line 84
 879  __cil_tmp8 = (unsigned long )__cil_tmp7;
 880#line 84
 881  __cil_tmp9 = __cil_tmp8 + 16;
 882#line 84
 883  __cil_tmp10 = *((void (**)(struct parport * , unsigned char  ))__cil_tmp9);
 884#line 84
 885  __cil_tmp11 = 1 << 3;
 886#line 84
 887  __cil_tmp12 = 1 << 1;
 888#line 84
 889  __cil_tmp13 = 1 | __cil_tmp12;
 890#line 84
 891  __cil_tmp14 = __cil_tmp13 | __cil_tmp11;
 892#line 84
 893  __cil_tmp15 = (int )byte;
 894#line 84
 895  __cil_tmp16 = __cil_tmp15 ^ __cil_tmp14;
 896#line 84
 897  __cil_tmp17 = (unsigned char )__cil_tmp16;
 898#line 84
 899  (*__cil_tmp10)(ks0108_parport, __cil_tmp17);
 900  }
 901#line 85
 902  return;
 903}
 904}
 905#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 906void ks0108_displaystate(unsigned char state ) 
 907{ int tmp ;
 908  int __cil_tmp3 ;
 909  int __cil_tmp4 ;
 910  int __cil_tmp5 ;
 911  int __cil_tmp6 ;
 912  int __cil_tmp7 ;
 913  int __cil_tmp8 ;
 914  int __cil_tmp9 ;
 915  int __cil_tmp10 ;
 916  int __cil_tmp11 ;
 917  int __cil_tmp12 ;
 918  unsigned char __cil_tmp13 ;
 919
 920  {
 921#line 89
 922  if (state) {
 923#line 89
 924    tmp = 1;
 925  } else {
 926#line 89
 927    tmp = 0;
 928  }
 929  {
 930#line 89
 931  __cil_tmp3 = 1 << 5;
 932#line 89
 933  __cil_tmp4 = 1 << 4;
 934#line 89
 935  __cil_tmp5 = 1 << 3;
 936#line 89
 937  __cil_tmp6 = 1 << 2;
 938#line 89
 939  __cil_tmp7 = 1 << 1;
 940#line 89
 941  __cil_tmp8 = tmp | __cil_tmp7;
 942#line 89
 943  __cil_tmp9 = __cil_tmp8 | __cil_tmp6;
 944#line 89
 945  __cil_tmp10 = __cil_tmp9 | __cil_tmp5;
 946#line 89
 947  __cil_tmp11 = __cil_tmp10 | __cil_tmp4;
 948#line 89
 949  __cil_tmp12 = __cil_tmp11 | __cil_tmp3;
 950#line 89
 951  __cil_tmp13 = (unsigned char )__cil_tmp12;
 952#line 89
 953  ks0108_writedata(__cil_tmp13);
 954  }
 955#line 90
 956  return;
 957}
 958}
 959#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
 960void ks0108_startline(unsigned char startline ) 
 961{ unsigned char _min1 ;
 962  unsigned char _min2 ;
 963  int tmp ;
 964  unsigned char *__cil_tmp5 ;
 965  unsigned char *__cil_tmp6 ;
 966  unsigned char *__cil_tmp7 ;
 967  unsigned char __cil_tmp8 ;
 968  int __cil_tmp9 ;
 969  unsigned char *__cil_tmp10 ;
 970  unsigned char __cil_tmp11 ;
 971  int __cil_tmp12 ;
 972  unsigned char *__cil_tmp13 ;
 973  unsigned char __cil_tmp14 ;
 974  unsigned char *__cil_tmp15 ;
 975  unsigned char __cil_tmp16 ;
 976  int __cil_tmp17 ;
 977  int __cil_tmp18 ;
 978  int __cil_tmp19 ;
 979  int __cil_tmp20 ;
 980  unsigned char __cil_tmp21 ;
 981
 982  {
 983#line 94
 984  __cil_tmp5 = & _min1;
 985#line 94
 986  *__cil_tmp5 = startline;
 987#line 94
 988  __cil_tmp6 = & _min2;
 989#line 94
 990  *__cil_tmp6 = (unsigned char)63;
 991  {
 992#line 94
 993  __cil_tmp7 = & _min2;
 994#line 94
 995  __cil_tmp8 = *__cil_tmp7;
 996#line 94
 997  __cil_tmp9 = (int )__cil_tmp8;
 998#line 94
 999  __cil_tmp10 = & _min1;
1000#line 94
1001  __cil_tmp11 = *__cil_tmp10;
1002#line 94
1003  __cil_tmp12 = (int )__cil_tmp11;
1004#line 94
1005  if (__cil_tmp12 < __cil_tmp9) {
1006#line 94
1007    __cil_tmp13 = & _min1;
1008#line 94
1009    __cil_tmp14 = *__cil_tmp13;
1010#line 94
1011    tmp = (int )__cil_tmp14;
1012  } else {
1013#line 94
1014    __cil_tmp15 = & _min2;
1015#line 94
1016    __cil_tmp16 = *__cil_tmp15;
1017#line 94
1018    tmp = (int )__cil_tmp16;
1019  }
1020  }
1021  {
1022#line 94
1023  __cil_tmp17 = 1 << 7;
1024#line 94
1025  __cil_tmp18 = 1 << 6;
1026#line 94
1027  __cil_tmp19 = tmp | __cil_tmp18;
1028#line 94
1029  __cil_tmp20 = __cil_tmp19 | __cil_tmp17;
1030#line 94
1031  __cil_tmp21 = (unsigned char )__cil_tmp20;
1032#line 94
1033  ks0108_writedata(__cil_tmp21);
1034  }
1035#line 95
1036  return;
1037}
1038}
1039#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1040void ks0108_address(unsigned char address ) 
1041{ unsigned char _min1 ;
1042  unsigned char _min2 ;
1043  int tmp ;
1044  unsigned char *__cil_tmp5 ;
1045  unsigned char *__cil_tmp6 ;
1046  unsigned char *__cil_tmp7 ;
1047  unsigned char __cil_tmp8 ;
1048  int __cil_tmp9 ;
1049  unsigned char *__cil_tmp10 ;
1050  unsigned char __cil_tmp11 ;
1051  int __cil_tmp12 ;
1052  unsigned char *__cil_tmp13 ;
1053  unsigned char __cil_tmp14 ;
1054  unsigned char *__cil_tmp15 ;
1055  unsigned char __cil_tmp16 ;
1056  int __cil_tmp17 ;
1057  int __cil_tmp18 ;
1058  unsigned char __cil_tmp19 ;
1059
1060  {
1061#line 99
1062  __cil_tmp5 = & _min1;
1063#line 99
1064  *__cil_tmp5 = address;
1065#line 99
1066  __cil_tmp6 = & _min2;
1067#line 99
1068  *__cil_tmp6 = (unsigned char)63;
1069  {
1070#line 99
1071  __cil_tmp7 = & _min2;
1072#line 99
1073  __cil_tmp8 = *__cil_tmp7;
1074#line 99
1075  __cil_tmp9 = (int )__cil_tmp8;
1076#line 99
1077  __cil_tmp10 = & _min1;
1078#line 99
1079  __cil_tmp11 = *__cil_tmp10;
1080#line 99
1081  __cil_tmp12 = (int )__cil_tmp11;
1082#line 99
1083  if (__cil_tmp12 < __cil_tmp9) {
1084#line 99
1085    __cil_tmp13 = & _min1;
1086#line 99
1087    __cil_tmp14 = *__cil_tmp13;
1088#line 99
1089    tmp = (int )__cil_tmp14;
1090  } else {
1091#line 99
1092    __cil_tmp15 = & _min2;
1093#line 99
1094    __cil_tmp16 = *__cil_tmp15;
1095#line 99
1096    tmp = (int )__cil_tmp16;
1097  }
1098  }
1099  {
1100#line 99
1101  __cil_tmp17 = 1 << 6;
1102#line 99
1103  __cil_tmp18 = tmp | __cil_tmp17;
1104#line 99
1105  __cil_tmp19 = (unsigned char )__cil_tmp18;
1106#line 99
1107  ks0108_writedata(__cil_tmp19);
1108  }
1109#line 100
1110  return;
1111}
1112}
1113#line 102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1114void ks0108_page(unsigned char page ) 
1115{ unsigned char _min1 ;
1116  unsigned char _min2 ;
1117  int tmp ;
1118  unsigned char *__cil_tmp5 ;
1119  unsigned char *__cil_tmp6 ;
1120  unsigned char *__cil_tmp7 ;
1121  unsigned char __cil_tmp8 ;
1122  int __cil_tmp9 ;
1123  unsigned char *__cil_tmp10 ;
1124  unsigned char __cil_tmp11 ;
1125  int __cil_tmp12 ;
1126  unsigned char *__cil_tmp13 ;
1127  unsigned char __cil_tmp14 ;
1128  unsigned char *__cil_tmp15 ;
1129  unsigned char __cil_tmp16 ;
1130  int __cil_tmp17 ;
1131  int __cil_tmp18 ;
1132  int __cil_tmp19 ;
1133  int __cil_tmp20 ;
1134  int __cil_tmp21 ;
1135  int __cil_tmp22 ;
1136  int __cil_tmp23 ;
1137  int __cil_tmp24 ;
1138  unsigned char __cil_tmp25 ;
1139
1140  {
1141#line 104
1142  __cil_tmp5 = & _min1;
1143#line 104
1144  *__cil_tmp5 = page;
1145#line 104
1146  __cil_tmp6 = & _min2;
1147#line 104
1148  *__cil_tmp6 = (unsigned char)7;
1149  {
1150#line 104
1151  __cil_tmp7 = & _min2;
1152#line 104
1153  __cil_tmp8 = *__cil_tmp7;
1154#line 104
1155  __cil_tmp9 = (int )__cil_tmp8;
1156#line 104
1157  __cil_tmp10 = & _min1;
1158#line 104
1159  __cil_tmp11 = *__cil_tmp10;
1160#line 104
1161  __cil_tmp12 = (int )__cil_tmp11;
1162#line 104
1163  if (__cil_tmp12 < __cil_tmp9) {
1164#line 104
1165    __cil_tmp13 = & _min1;
1166#line 104
1167    __cil_tmp14 = *__cil_tmp13;
1168#line 104
1169    tmp = (int )__cil_tmp14;
1170  } else {
1171#line 104
1172    __cil_tmp15 = & _min2;
1173#line 104
1174    __cil_tmp16 = *__cil_tmp15;
1175#line 104
1176    tmp = (int )__cil_tmp16;
1177  }
1178  }
1179  {
1180#line 104
1181  __cil_tmp17 = 1 << 7;
1182#line 104
1183  __cil_tmp18 = 1 << 5;
1184#line 104
1185  __cil_tmp19 = 1 << 4;
1186#line 104
1187  __cil_tmp20 = 1 << 3;
1188#line 104
1189  __cil_tmp21 = tmp | __cil_tmp20;
1190#line 104
1191  __cil_tmp22 = __cil_tmp21 | __cil_tmp19;
1192#line 104
1193  __cil_tmp23 = __cil_tmp22 | __cil_tmp18;
1194#line 104
1195  __cil_tmp24 = __cil_tmp23 | __cil_tmp17;
1196#line 104
1197  __cil_tmp25 = (unsigned char )__cil_tmp24;
1198#line 104
1199  ks0108_writedata(__cil_tmp25);
1200  }
1201#line 105
1202  return;
1203}
1204}
1205#line 107
1206extern void *__crc_ks0108_writedata  __attribute__((__weak__)) ;
1207#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1208static unsigned long const   __kcrctab_ks0108_writedata  __attribute__((__used__,
1209__unused__, __section__("___kcrctab_gpl+ks0108_writedata")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_writedata));
1210#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1211static char const   __kstrtab_ks0108_writedata[17]  __attribute__((__section__("__ksymtab_strings"),
1212__aligned__(1)))  = 
1213#line 107
1214  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1215        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'w', 
1216        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'e', 
1217        (char const   )'d',      (char const   )'a',      (char const   )'t',      (char const   )'a', 
1218        (char const   )'\000'};
1219#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1220static struct kernel_symbol  const  __ksymtab_ks0108_writedata  __attribute__((__used__,
1221__unused__, __section__("___ksymtab_gpl+ks0108_writedata")))  =    {(unsigned long )(& ks0108_writedata), __kstrtab_ks0108_writedata};
1222#line 108
1223extern void *__crc_ks0108_writecontrol  __attribute__((__weak__)) ;
1224#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1225static unsigned long const   __kcrctab_ks0108_writecontrol  __attribute__((__used__,
1226__unused__, __section__("___kcrctab_gpl+ks0108_writecontrol")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_writecontrol));
1227#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1228static char const   __kstrtab_ks0108_writecontrol[20]  __attribute__((__section__("__ksymtab_strings"),
1229__aligned__(1)))  = 
1230#line 108
1231  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1232        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'w', 
1233        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'e', 
1234        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'t', 
1235        (char const   )'r',      (char const   )'o',      (char const   )'l',      (char const   )'\000'};
1236#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1237static struct kernel_symbol  const  __ksymtab_ks0108_writecontrol  __attribute__((__used__,
1238__unused__, __section__("___ksymtab_gpl+ks0108_writecontrol")))  =    {(unsigned long )(& ks0108_writecontrol), __kstrtab_ks0108_writecontrol};
1239#line 109
1240extern void *__crc_ks0108_displaystate  __attribute__((__weak__)) ;
1241#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1242static unsigned long const   __kcrctab_ks0108_displaystate  __attribute__((__used__,
1243__unused__, __section__("___kcrctab_gpl+ks0108_displaystate")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_displaystate));
1244#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1245static char const   __kstrtab_ks0108_displaystate[20]  __attribute__((__section__("__ksymtab_strings"),
1246__aligned__(1)))  = 
1247#line 109
1248  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1249        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'d', 
1250        (char const   )'i',      (char const   )'s',      (char const   )'p',      (char const   )'l', 
1251        (char const   )'a',      (char const   )'y',      (char const   )'s',      (char const   )'t', 
1252        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'\000'};
1253#line 109 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1254static struct kernel_symbol  const  __ksymtab_ks0108_displaystate  __attribute__((__used__,
1255__unused__, __section__("___ksymtab_gpl+ks0108_displaystate")))  =    {(unsigned long )(& ks0108_displaystate), __kstrtab_ks0108_displaystate};
1256#line 110
1257extern void *__crc_ks0108_startline  __attribute__((__weak__)) ;
1258#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1259static unsigned long const   __kcrctab_ks0108_startline  __attribute__((__used__,
1260__unused__, __section__("___kcrctab_gpl+ks0108_startline")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_startline));
1261#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1262static char const   __kstrtab_ks0108_startline[17]  __attribute__((__section__("__ksymtab_strings"),
1263__aligned__(1)))  = 
1264#line 110
1265  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1266        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'s', 
1267        (char const   )'t',      (char const   )'a',      (char const   )'r',      (char const   )'t', 
1268        (char const   )'l',      (char const   )'i',      (char const   )'n',      (char const   )'e', 
1269        (char const   )'\000'};
1270#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1271static struct kernel_symbol  const  __ksymtab_ks0108_startline  __attribute__((__used__,
1272__unused__, __section__("___ksymtab_gpl+ks0108_startline")))  =    {(unsigned long )(& ks0108_startline), __kstrtab_ks0108_startline};
1273#line 111
1274extern void *__crc_ks0108_address  __attribute__((__weak__)) ;
1275#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1276static unsigned long const   __kcrctab_ks0108_address  __attribute__((__used__, __unused__,
1277__section__("___kcrctab_gpl+ks0108_address")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_address));
1278#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1279static char const   __kstrtab_ks0108_address[15]  __attribute__((__section__("__ksymtab_strings"),
1280__aligned__(1)))  = 
1281#line 111
1282  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1283        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'a', 
1284        (char const   )'d',      (char const   )'d',      (char const   )'r',      (char const   )'e', 
1285        (char const   )'s',      (char const   )'s',      (char const   )'\000'};
1286#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1287static struct kernel_symbol  const  __ksymtab_ks0108_address  __attribute__((__used__,
1288__unused__, __section__("___ksymtab_gpl+ks0108_address")))  =    {(unsigned long )(& ks0108_address), __kstrtab_ks0108_address};
1289#line 112
1290extern void *__crc_ks0108_page  __attribute__((__weak__)) ;
1291#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1292static unsigned long const   __kcrctab_ks0108_page  __attribute__((__used__, __unused__,
1293__section__("___kcrctab_gpl+ks0108_page")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_page));
1294#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1295static char const   __kstrtab_ks0108_page[12]  __attribute__((__section__("__ksymtab_strings"),
1296__aligned__(1)))  = 
1297#line 112
1298  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1299        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'p', 
1300        (char const   )'a',      (char const   )'g',      (char const   )'e',      (char const   )'\000'};
1301#line 112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1302static struct kernel_symbol  const  __ksymtab_ks0108_page  __attribute__((__used__,
1303__unused__, __section__("___ksymtab_gpl+ks0108_page")))  =    {(unsigned long )(& ks0108_page), __kstrtab_ks0108_page};
1304#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1305static unsigned char ks0108_inited  ;
1306#line 119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1307unsigned char ks0108_isinited(void) 
1308{ 
1309
1310  {
1311#line 121
1312  return (ks0108_inited);
1313}
1314}
1315#line 123
1316extern void *__crc_ks0108_isinited  __attribute__((__weak__)) ;
1317#line 123 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1318static unsigned long const   __kcrctab_ks0108_isinited  __attribute__((__used__, __unused__,
1319__section__("___kcrctab_gpl+ks0108_isinited")))  =    (unsigned long const   )((unsigned long )(& __crc_ks0108_isinited));
1320#line 123 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1321static char const   __kstrtab_ks0108_isinited[16]  __attribute__((__section__("__ksymtab_strings"),
1322__aligned__(1)))  = 
1323#line 123
1324  {      (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1325        (char const   )'0',      (char const   )'8',      (char const   )'_',      (char const   )'i', 
1326        (char const   )'s',      (char const   )'i',      (char const   )'n',      (char const   )'i', 
1327        (char const   )'t',      (char const   )'e',      (char const   )'d',      (char const   )'\000'};
1328#line 123 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1329static struct kernel_symbol  const  __ksymtab_ks0108_isinited  __attribute__((__used__,
1330__unused__, __section__("___ksymtab_gpl+ks0108_isinited")))  =    {(unsigned long )(& ks0108_isinited), __kstrtab_ks0108_isinited};
1331#line 129
1332static int ks0108_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
1333#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1334static int ks0108_init(void) 
1335{ int result ;
1336  int ret ;
1337  unsigned int *__cil_tmp3 ;
1338  unsigned int __cil_tmp4 ;
1339  unsigned long __cil_tmp5 ;
1340  void *__cil_tmp6 ;
1341  unsigned long __cil_tmp7 ;
1342  unsigned long __cil_tmp8 ;
1343  unsigned int *__cil_tmp9 ;
1344  unsigned int __cil_tmp10 ;
1345  void *__cil_tmp11 ;
1346  int (*__cil_tmp12)(void * ) ;
1347  void *__cil_tmp13 ;
1348  void (*__cil_tmp14)(void * ) ;
1349  void *__cil_tmp15 ;
1350  void (*__cil_tmp16)(void * ) ;
1351  int __cil_tmp17 ;
1352  void *__cil_tmp18 ;
1353  void *__cil_tmp19 ;
1354  unsigned long __cil_tmp20 ;
1355  unsigned long __cil_tmp21 ;
1356  unsigned int *__cil_tmp22 ;
1357  unsigned int __cil_tmp23 ;
1358
1359  {
1360  {
1361#line 132
1362  ret = -22;
1363#line 134
1364  __cil_tmp3 = & ks0108_port;
1365#line 134
1366  __cil_tmp4 = *__cil_tmp3;
1367#line 134
1368  __cil_tmp5 = (unsigned long )__cil_tmp4;
1369#line 134
1370  ks0108_parport = parport_find_base(__cil_tmp5);
1371  }
1372  {
1373#line 135
1374  __cil_tmp6 = (void *)0;
1375#line 135
1376  __cil_tmp7 = (unsigned long )__cil_tmp6;
1377#line 135
1378  __cil_tmp8 = (unsigned long )ks0108_parport;
1379#line 135
1380  if (__cil_tmp8 == __cil_tmp7) {
1381    {
1382#line 136
1383    __cil_tmp9 = & ks0108_port;
1384#line 136
1385    __cil_tmp10 = *__cil_tmp9;
1386#line 136
1387    printk("<3>ks0108: ERROR: parport didn\'t find %i port\n", __cil_tmp10);
1388    }
1389#line 138
1390    goto none;
1391  } else {
1392
1393  }
1394  }
1395  {
1396#line 141
1397  __cil_tmp11 = (void *)0;
1398#line 141
1399  __cil_tmp12 = (int (*)(void * ))__cil_tmp11;
1400#line 141
1401  __cil_tmp13 = (void *)0;
1402#line 141
1403  __cil_tmp14 = (void (*)(void * ))__cil_tmp13;
1404#line 141
1405  __cil_tmp15 = (void *)0;
1406#line 141
1407  __cil_tmp16 = (void (*)(void * ))__cil_tmp15;
1408#line 141
1409  __cil_tmp17 = 1 << 1;
1410#line 141
1411  __cil_tmp18 = (void *)0;
1412#line 141
1413  ks0108_pardevice = parport_register_device(ks0108_parport, "ks0108", __cil_tmp12,
1414                                             __cil_tmp14, __cil_tmp16, __cil_tmp17,
1415                                             __cil_tmp18);
1416  }
1417  {
1418#line 143
1419  __cil_tmp19 = (void *)0;
1420#line 143
1421  __cil_tmp20 = (unsigned long )__cil_tmp19;
1422#line 143
1423  __cil_tmp21 = (unsigned long )ks0108_pardevice;
1424#line 143
1425  if (__cil_tmp21 == __cil_tmp20) {
1426    {
1427#line 144
1428    printk("<3>ks0108: ERROR: parport didn\'t register new device\n");
1429    }
1430#line 146
1431    goto none;
1432  } else {
1433
1434  }
1435  }
1436  {
1437#line 149
1438  result = parport_claim(ks0108_pardevice);
1439  }
1440#line 150
1441  if (result != 0) {
1442    {
1443#line 151
1444    __cil_tmp22 = & ks0108_port;
1445#line 151
1446    __cil_tmp23 = *__cil_tmp22;
1447#line 151
1448    printk("<3>ks0108: ERROR: can\'t claim %i parport, maybe in use\n", __cil_tmp23);
1449#line 153
1450    ret = result;
1451    }
1452#line 154
1453    goto registered;
1454  } else {
1455
1456  }
1457#line 157
1458  ks0108_inited = (unsigned char)1;
1459#line 158
1460  return (0);
1461  registered: 
1462  {
1463#line 161
1464  parport_unregister_device(ks0108_pardevice);
1465  }
1466  none: 
1467#line 164
1468  return (ret);
1469}
1470}
1471#line 167
1472static void ks0108_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
1473#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1474static void ks0108_exit(void) 
1475{ 
1476
1477  {
1478  {
1479#line 169
1480  parport_release(ks0108_pardevice);
1481#line 170
1482  parport_unregister_device(ks0108_pardevice);
1483  }
1484#line 171
1485  return;
1486}
1487}
1488#line 173 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1489int init_module(void) 
1490{ int tmp ;
1491
1492  {
1493  {
1494#line 173
1495  tmp = ks0108_init();
1496  }
1497#line 173
1498  return (tmp);
1499}
1500}
1501#line 174 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1502void cleanup_module(void) 
1503{ 
1504
1505  {
1506  {
1507#line 174
1508  ks0108_exit();
1509  }
1510#line 174
1511  return;
1512}
1513}
1514#line 176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1515static char const   __mod_license176[15]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1516__aligned__(1)))  = 
1517#line 176
1518  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
1519        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
1520        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )' ', 
1521        (char const   )'v',      (char const   )'2',      (char const   )'\000'};
1522#line 177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1523static char const   __mod_author177[63]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1524__aligned__(1)))  = 
1525#line 177
1526  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
1527        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'M', 
1528        (char const   )'i',      (char const   )'g',      (char const   )'u',      (char const   )'e', 
1529        (char const   )'l',      (char const   )' ',      (char const   )'O',      (char const   )'j', 
1530        (char const   )'e',      (char const   )'d',      (char const   )'a',      (char const   )' ', 
1531        (char const   )'S',      (char const   )'a',      (char const   )'n',      (char const   )'d', 
1532        (char const   )'o',      (char const   )'n',      (char const   )'i',      (char const   )'s', 
1533        (char const   )' ',      (char const   )'<',      (char const   )'m',      (char const   )'i', 
1534        (char const   )'g',      (char const   )'u',      (char const   )'e',      (char const   )'l', 
1535        (char const   )'.',      (char const   )'o',      (char const   )'j',      (char const   )'e', 
1536        (char const   )'d',      (char const   )'a',      (char const   )'.',      (char const   )'s', 
1537        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )'o', 
1538        (char const   )'n',      (char const   )'i',      (char const   )'s',      (char const   )'@', 
1539        (char const   )'g',      (char const   )'m',      (char const   )'a',      (char const   )'i', 
1540        (char const   )'l',      (char const   )'.',      (char const   )'c',      (char const   )'o', 
1541        (char const   )'m',      (char const   )'>',      (char const   )'\000'};
1542#line 178 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1543static char const   __mod_description178[41]  __attribute__((__used__, __unused__,
1544__section__(".modinfo"), __aligned__(1)))  = 
1545#line 178
1546  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
1547        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
1548        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
1549        (char const   )'k',      (char const   )'s',      (char const   )'0',      (char const   )'1', 
1550        (char const   )'0',      (char const   )'8',      (char const   )' ',      (char const   )'L', 
1551        (char const   )'C',      (char const   )'D',      (char const   )' ',      (char const   )'C', 
1552        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'r', 
1553        (char const   )'o',      (char const   )'l',      (char const   )'l',      (char const   )'e', 
1554        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'r', 
1555        (char const   )'i',      (char const   )'v',      (char const   )'e',      (char const   )'r', 
1556        (char const   )'\000'};
1557#line 197
1558void ldv_check_final_state(void) ;
1559#line 203
1560extern void ldv_initialize(void) ;
1561#line 206
1562extern int __VERIFIER_nondet_int(void) ;
1563#line 209 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1564int LDV_IN_INTERRUPT  ;
1565#line 212 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1566void main(void) 
1567{ int tmp ;
1568  int tmp___0 ;
1569  int tmp___1 ;
1570
1571  {
1572  {
1573#line 224
1574  LDV_IN_INTERRUPT = 1;
1575#line 233
1576  ldv_initialize();
1577#line 242
1578  tmp = ks0108_init();
1579  }
1580#line 242
1581  if (tmp) {
1582#line 243
1583    goto ldv_final;
1584  } else {
1585
1586  }
1587  {
1588#line 245
1589  while (1) {
1590    while_continue: /* CIL Label */ ;
1591    {
1592#line 245
1593    tmp___1 = __VERIFIER_nondet_int();
1594    }
1595#line 245
1596    if (tmp___1) {
1597
1598    } else {
1599#line 245
1600      goto while_break;
1601    }
1602    {
1603#line 248
1604    tmp___0 = __VERIFIER_nondet_int();
1605    }
1606    {
1607#line 250
1608    goto switch_default;
1609#line 248
1610    if (0) {
1611      switch_default: /* CIL Label */ 
1612#line 250
1613      goto switch_break;
1614    } else {
1615      switch_break: /* CIL Label */ ;
1616    }
1617    }
1618  }
1619  while_break: /* CIL Label */ ;
1620  }
1621  {
1622#line 265
1623  ks0108_exit();
1624  }
1625  ldv_final: 
1626  {
1627#line 268
1628  ldv_check_final_state();
1629  }
1630#line 271
1631  return;
1632}
1633}
1634#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
1635void ldv_blast_assert(void) 
1636{ 
1637
1638  {
1639  ERROR: 
1640#line 6
1641  goto ERROR;
1642}
1643}
1644#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
1645extern int __VERIFIER_nondet_int(void) ;
1646#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1647int ldv_mutex  =    1;
1648#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1649int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
1650{ int nondetermined ;
1651
1652  {
1653#line 29
1654  if (ldv_mutex == 1) {
1655
1656  } else {
1657    {
1658#line 29
1659    ldv_blast_assert();
1660    }
1661  }
1662  {
1663#line 32
1664  nondetermined = __VERIFIER_nondet_int();
1665  }
1666#line 35
1667  if (nondetermined) {
1668#line 38
1669    ldv_mutex = 2;
1670#line 40
1671    return (0);
1672  } else {
1673#line 45
1674    return (-4);
1675  }
1676}
1677}
1678#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1679int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
1680{ int nondetermined ;
1681
1682  {
1683#line 57
1684  if (ldv_mutex == 1) {
1685
1686  } else {
1687    {
1688#line 57
1689    ldv_blast_assert();
1690    }
1691  }
1692  {
1693#line 60
1694  nondetermined = __VERIFIER_nondet_int();
1695  }
1696#line 63
1697  if (nondetermined) {
1698#line 66
1699    ldv_mutex = 2;
1700#line 68
1701    return (0);
1702  } else {
1703#line 73
1704    return (-4);
1705  }
1706}
1707}
1708#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1709int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
1710{ int atomic_value_after_dec ;
1711
1712  {
1713#line 83
1714  if (ldv_mutex == 1) {
1715
1716  } else {
1717    {
1718#line 83
1719    ldv_blast_assert();
1720    }
1721  }
1722  {
1723#line 86
1724  atomic_value_after_dec = __VERIFIER_nondet_int();
1725  }
1726#line 89
1727  if (atomic_value_after_dec == 0) {
1728#line 92
1729    ldv_mutex = 2;
1730#line 94
1731    return (1);
1732  } else {
1733
1734  }
1735#line 98
1736  return (0);
1737}
1738}
1739#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1740void mutex_lock(struct mutex *lock ) 
1741{ 
1742
1743  {
1744#line 108
1745  if (ldv_mutex == 1) {
1746
1747  } else {
1748    {
1749#line 108
1750    ldv_blast_assert();
1751    }
1752  }
1753#line 110
1754  ldv_mutex = 2;
1755#line 111
1756  return;
1757}
1758}
1759#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1760int mutex_trylock(struct mutex *lock ) 
1761{ int nondetermined ;
1762
1763  {
1764#line 121
1765  if (ldv_mutex == 1) {
1766
1767  } else {
1768    {
1769#line 121
1770    ldv_blast_assert();
1771    }
1772  }
1773  {
1774#line 124
1775  nondetermined = __VERIFIER_nondet_int();
1776  }
1777#line 127
1778  if (nondetermined) {
1779#line 130
1780    ldv_mutex = 2;
1781#line 132
1782    return (1);
1783  } else {
1784#line 137
1785    return (0);
1786  }
1787}
1788}
1789#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1790void mutex_unlock(struct mutex *lock ) 
1791{ 
1792
1793  {
1794#line 147
1795  if (ldv_mutex == 2) {
1796
1797  } else {
1798    {
1799#line 147
1800    ldv_blast_assert();
1801    }
1802  }
1803#line 149
1804  ldv_mutex = 1;
1805#line 150
1806  return;
1807}
1808}
1809#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1810void ldv_check_final_state(void) 
1811{ 
1812
1813  {
1814#line 156
1815  if (ldv_mutex == 1) {
1816
1817  } else {
1818    {
1819#line 156
1820    ldv_blast_assert();
1821    }
1822  }
1823#line 157
1824  return;
1825}
1826}
1827#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/16870/dscv_tempdir/dscv/ri/32_1/drivers/auxdisplay/ks0108.c.common.c"
1828long s__builtin_expect(long val , long res ) 
1829{ 
1830
1831  {
1832#line 281
1833  return (val);
1834}
1835}