1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_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 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 219 "include/linux/types.h"
77struct __anonstruct_atomic_t_7 {
78 int counter ;
79};
80#line 219 "include/linux/types.h"
81typedef struct __anonstruct_atomic_t_7 atomic_t;
82#line 224 "include/linux/types.h"
83struct __anonstruct_atomic64_t_8 {
84 long counter ;
85};
86#line 224 "include/linux/types.h"
87typedef struct __anonstruct_atomic64_t_8 atomic64_t;
88#line 229 "include/linux/types.h"
89struct list_head {
90 struct list_head *next ;
91 struct list_head *prev ;
92};
93#line 233
94struct hlist_node;
95#line 233 "include/linux/types.h"
96struct hlist_head {
97 struct hlist_node *first ;
98};
99#line 237 "include/linux/types.h"
100struct hlist_node {
101 struct hlist_node *next ;
102 struct hlist_node **pprev ;
103};
104#line 253 "include/linux/types.h"
105struct rcu_head {
106 struct rcu_head *next ;
107 void (*func)(struct rcu_head *head ) ;
108};
109#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
110struct module;
111#line 56
112struct module;
113#line 146 "include/linux/init.h"
114typedef void (*ctor_fn_t)(void);
115#line 9 "include/linux/dynamic_debug.h"
116struct _ddebug {
117 char const *modname ;
118 char const *function ;
119 char const *filename ;
120 char const *format ;
121 unsigned int lineno : 18 ;
122 unsigned int flags : 8 ;
123} __attribute__((__aligned__(8))) ;
124#line 47
125struct device;
126#line 47
127struct device;
128#line 135 "include/linux/kernel.h"
129struct completion;
130#line 135
131struct completion;
132#line 349
133struct pid;
134#line 349
135struct pid;
136#line 12 "include/linux/thread_info.h"
137struct timespec;
138#line 12
139struct timespec;
140#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
141struct page;
142#line 18
143struct page;
144#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
145struct task_struct;
146#line 20
147struct task_struct;
148#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
149struct task_struct;
150#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
151struct file;
152#line 295
153struct file;
154#line 313
155struct seq_file;
156#line 313
157struct seq_file;
158#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
159struct page;
160#line 52
161struct task_struct;
162#line 329
163struct arch_spinlock;
164#line 329
165struct arch_spinlock;
166#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
167struct task_struct;
168#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
169struct task_struct;
170#line 10 "include/asm-generic/bug.h"
171struct bug_entry {
172 int bug_addr_disp ;
173 int file_disp ;
174 unsigned short line ;
175 unsigned short flags ;
176};
177#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
178struct static_key;
179#line 234
180struct static_key;
181#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
182struct kmem_cache;
183#line 23 "include/asm-generic/atomic-long.h"
184typedef atomic64_t atomic_long_t;
185#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
186typedef u16 __ticket_t;
187#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
188typedef u32 __ticketpair_t;
189#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
190struct __raw_tickets {
191 __ticket_t head ;
192 __ticket_t tail ;
193};
194#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
195union __anonunion____missing_field_name_36 {
196 __ticketpair_t head_tail ;
197 struct __raw_tickets tickets ;
198};
199#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
200struct arch_spinlock {
201 union __anonunion____missing_field_name_36 __annonCompField17 ;
202};
203#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
204typedef struct arch_spinlock arch_spinlock_t;
205#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
206struct __anonstruct____missing_field_name_38 {
207 u32 read ;
208 s32 write ;
209};
210#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
211union __anonunion_arch_rwlock_t_37 {
212 s64 lock ;
213 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
214};
215#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
216typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
217#line 12 "include/linux/lockdep.h"
218struct task_struct;
219#line 391 "include/linux/lockdep.h"
220struct lock_class_key {
221
222};
223#line 20 "include/linux/spinlock_types.h"
224struct raw_spinlock {
225 arch_spinlock_t raw_lock ;
226 unsigned int magic ;
227 unsigned int owner_cpu ;
228 void *owner ;
229};
230#line 20 "include/linux/spinlock_types.h"
231typedef struct raw_spinlock raw_spinlock_t;
232#line 64 "include/linux/spinlock_types.h"
233union __anonunion____missing_field_name_39 {
234 struct raw_spinlock rlock ;
235};
236#line 64 "include/linux/spinlock_types.h"
237struct spinlock {
238 union __anonunion____missing_field_name_39 __annonCompField19 ;
239};
240#line 64 "include/linux/spinlock_types.h"
241typedef struct spinlock spinlock_t;
242#line 11 "include/linux/rwlock_types.h"
243struct __anonstruct_rwlock_t_40 {
244 arch_rwlock_t raw_lock ;
245 unsigned int magic ;
246 unsigned int owner_cpu ;
247 void *owner ;
248};
249#line 11 "include/linux/rwlock_types.h"
250typedef struct __anonstruct_rwlock_t_40 rwlock_t;
251#line 119 "include/linux/seqlock.h"
252struct seqcount {
253 unsigned int sequence ;
254};
255#line 119 "include/linux/seqlock.h"
256typedef struct seqcount seqcount_t;
257#line 14 "include/linux/time.h"
258struct timespec {
259 __kernel_time_t tv_sec ;
260 long tv_nsec ;
261};
262#line 62 "include/linux/stat.h"
263struct kstat {
264 u64 ino ;
265 dev_t dev ;
266 umode_t mode ;
267 unsigned int nlink ;
268 uid_t uid ;
269 gid_t gid ;
270 dev_t rdev ;
271 loff_t size ;
272 struct timespec atime ;
273 struct timespec mtime ;
274 struct timespec ctime ;
275 unsigned long blksize ;
276 unsigned long long blocks ;
277};
278#line 49 "include/linux/wait.h"
279struct __wait_queue_head {
280 spinlock_t lock ;
281 struct list_head task_list ;
282};
283#line 53 "include/linux/wait.h"
284typedef struct __wait_queue_head wait_queue_head_t;
285#line 55
286struct task_struct;
287#line 60 "include/linux/pageblock-flags.h"
288struct page;
289#line 48 "include/linux/mutex.h"
290struct mutex {
291 atomic_t count ;
292 spinlock_t wait_lock ;
293 struct list_head wait_list ;
294 struct task_struct *owner ;
295 char const *name ;
296 void *magic ;
297};
298#line 19 "include/linux/rwsem.h"
299struct rw_semaphore;
300#line 19
301struct rw_semaphore;
302#line 25 "include/linux/rwsem.h"
303struct rw_semaphore {
304 long count ;
305 raw_spinlock_t wait_lock ;
306 struct list_head wait_list ;
307};
308#line 25 "include/linux/completion.h"
309struct completion {
310 unsigned int done ;
311 wait_queue_head_t wait ;
312};
313#line 9 "include/linux/memory_hotplug.h"
314struct page;
315#line 202 "include/linux/ioport.h"
316struct device;
317#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
318struct device;
319#line 46 "include/linux/ktime.h"
320union ktime {
321 s64 tv64 ;
322};
323#line 59 "include/linux/ktime.h"
324typedef union ktime ktime_t;
325#line 10 "include/linux/timer.h"
326struct tvec_base;
327#line 10
328struct tvec_base;
329#line 12 "include/linux/timer.h"
330struct timer_list {
331 struct list_head entry ;
332 unsigned long expires ;
333 struct tvec_base *base ;
334 void (*function)(unsigned long ) ;
335 unsigned long data ;
336 int slack ;
337 int start_pid ;
338 void *start_site ;
339 char start_comm[16] ;
340};
341#line 17 "include/linux/workqueue.h"
342struct work_struct;
343#line 17
344struct work_struct;
345#line 79 "include/linux/workqueue.h"
346struct work_struct {
347 atomic_long_t data ;
348 struct list_head entry ;
349 void (*func)(struct work_struct *work ) ;
350};
351#line 42 "include/linux/pm.h"
352struct device;
353#line 50 "include/linux/pm.h"
354struct pm_message {
355 int event ;
356};
357#line 50 "include/linux/pm.h"
358typedef struct pm_message pm_message_t;
359#line 264 "include/linux/pm.h"
360struct dev_pm_ops {
361 int (*prepare)(struct device *dev ) ;
362 void (*complete)(struct device *dev ) ;
363 int (*suspend)(struct device *dev ) ;
364 int (*resume)(struct device *dev ) ;
365 int (*freeze)(struct device *dev ) ;
366 int (*thaw)(struct device *dev ) ;
367 int (*poweroff)(struct device *dev ) ;
368 int (*restore)(struct device *dev ) ;
369 int (*suspend_late)(struct device *dev ) ;
370 int (*resume_early)(struct device *dev ) ;
371 int (*freeze_late)(struct device *dev ) ;
372 int (*thaw_early)(struct device *dev ) ;
373 int (*poweroff_late)(struct device *dev ) ;
374 int (*restore_early)(struct device *dev ) ;
375 int (*suspend_noirq)(struct device *dev ) ;
376 int (*resume_noirq)(struct device *dev ) ;
377 int (*freeze_noirq)(struct device *dev ) ;
378 int (*thaw_noirq)(struct device *dev ) ;
379 int (*poweroff_noirq)(struct device *dev ) ;
380 int (*restore_noirq)(struct device *dev ) ;
381 int (*runtime_suspend)(struct device *dev ) ;
382 int (*runtime_resume)(struct device *dev ) ;
383 int (*runtime_idle)(struct device *dev ) ;
384};
385#line 458
386enum rpm_status {
387 RPM_ACTIVE = 0,
388 RPM_RESUMING = 1,
389 RPM_SUSPENDED = 2,
390 RPM_SUSPENDING = 3
391} ;
392#line 480
393enum rpm_request {
394 RPM_REQ_NONE = 0,
395 RPM_REQ_IDLE = 1,
396 RPM_REQ_SUSPEND = 2,
397 RPM_REQ_AUTOSUSPEND = 3,
398 RPM_REQ_RESUME = 4
399} ;
400#line 488
401struct wakeup_source;
402#line 488
403struct wakeup_source;
404#line 495 "include/linux/pm.h"
405struct pm_subsys_data {
406 spinlock_t lock ;
407 unsigned int refcount ;
408};
409#line 506
410struct dev_pm_qos_request;
411#line 506
412struct pm_qos_constraints;
413#line 506 "include/linux/pm.h"
414struct dev_pm_info {
415 pm_message_t power_state ;
416 unsigned int can_wakeup : 1 ;
417 unsigned int async_suspend : 1 ;
418 bool is_prepared : 1 ;
419 bool is_suspended : 1 ;
420 bool ignore_children : 1 ;
421 spinlock_t lock ;
422 struct list_head entry ;
423 struct completion completion ;
424 struct wakeup_source *wakeup ;
425 bool wakeup_path : 1 ;
426 struct timer_list suspend_timer ;
427 unsigned long timer_expires ;
428 struct work_struct work ;
429 wait_queue_head_t wait_queue ;
430 atomic_t usage_count ;
431 atomic_t child_count ;
432 unsigned int disable_depth : 3 ;
433 unsigned int idle_notification : 1 ;
434 unsigned int request_pending : 1 ;
435 unsigned int deferred_resume : 1 ;
436 unsigned int run_wake : 1 ;
437 unsigned int runtime_auto : 1 ;
438 unsigned int no_callbacks : 1 ;
439 unsigned int irq_safe : 1 ;
440 unsigned int use_autosuspend : 1 ;
441 unsigned int timer_autosuspends : 1 ;
442 enum rpm_request request ;
443 enum rpm_status runtime_status ;
444 int runtime_error ;
445 int autosuspend_delay ;
446 unsigned long last_busy ;
447 unsigned long active_jiffies ;
448 unsigned long suspended_jiffies ;
449 unsigned long accounting_timestamp ;
450 ktime_t suspend_time ;
451 s64 max_time_suspended_ns ;
452 struct dev_pm_qos_request *pq_req ;
453 struct pm_subsys_data *subsys_data ;
454 struct pm_qos_constraints *constraints ;
455};
456#line 564 "include/linux/pm.h"
457struct dev_pm_domain {
458 struct dev_pm_ops ops ;
459};
460#line 8 "include/linux/vmalloc.h"
461struct vm_area_struct;
462#line 8
463struct vm_area_struct;
464#line 994 "include/linux/mmzone.h"
465struct page;
466#line 10 "include/linux/gfp.h"
467struct vm_area_struct;
468#line 29 "include/linux/sysctl.h"
469struct completion;
470#line 48 "include/linux/kmod.h"
471struct cred;
472#line 48
473struct cred;
474#line 49
475struct file;
476#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
477struct task_struct;
478#line 18 "include/linux/elf.h"
479typedef __u64 Elf64_Addr;
480#line 19 "include/linux/elf.h"
481typedef __u16 Elf64_Half;
482#line 23 "include/linux/elf.h"
483typedef __u32 Elf64_Word;
484#line 24 "include/linux/elf.h"
485typedef __u64 Elf64_Xword;
486#line 194 "include/linux/elf.h"
487struct elf64_sym {
488 Elf64_Word st_name ;
489 unsigned char st_info ;
490 unsigned char st_other ;
491 Elf64_Half st_shndx ;
492 Elf64_Addr st_value ;
493 Elf64_Xword st_size ;
494};
495#line 194 "include/linux/elf.h"
496typedef struct elf64_sym Elf64_Sym;
497#line 438
498struct file;
499#line 20 "include/linux/kobject_ns.h"
500struct sock;
501#line 20
502struct sock;
503#line 21
504struct kobject;
505#line 21
506struct kobject;
507#line 27
508enum kobj_ns_type {
509 KOBJ_NS_TYPE_NONE = 0,
510 KOBJ_NS_TYPE_NET = 1,
511 KOBJ_NS_TYPES = 2
512} ;
513#line 40 "include/linux/kobject_ns.h"
514struct kobj_ns_type_operations {
515 enum kobj_ns_type type ;
516 void *(*grab_current_ns)(void) ;
517 void const *(*netlink_ns)(struct sock *sk ) ;
518 void const *(*initial_ns)(void) ;
519 void (*drop_ns)(void * ) ;
520};
521#line 22 "include/linux/sysfs.h"
522struct kobject;
523#line 23
524struct module;
525#line 24
526enum kobj_ns_type;
527#line 26 "include/linux/sysfs.h"
528struct attribute {
529 char const *name ;
530 umode_t mode ;
531};
532#line 56 "include/linux/sysfs.h"
533struct attribute_group {
534 char const *name ;
535 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
536 struct attribute **attrs ;
537};
538#line 85
539struct file;
540#line 86
541struct vm_area_struct;
542#line 88 "include/linux/sysfs.h"
543struct bin_attribute {
544 struct attribute attr ;
545 size_t size ;
546 void *private ;
547 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
548 loff_t , size_t ) ;
549 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
550 loff_t , size_t ) ;
551 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
552};
553#line 112 "include/linux/sysfs.h"
554struct sysfs_ops {
555 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
556 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
557 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
558};
559#line 118
560struct sysfs_dirent;
561#line 118
562struct sysfs_dirent;
563#line 22 "include/linux/kref.h"
564struct kref {
565 atomic_t refcount ;
566};
567#line 60 "include/linux/kobject.h"
568struct kset;
569#line 60
570struct kobj_type;
571#line 60 "include/linux/kobject.h"
572struct kobject {
573 char const *name ;
574 struct list_head entry ;
575 struct kobject *parent ;
576 struct kset *kset ;
577 struct kobj_type *ktype ;
578 struct sysfs_dirent *sd ;
579 struct kref kref ;
580 unsigned int state_initialized : 1 ;
581 unsigned int state_in_sysfs : 1 ;
582 unsigned int state_add_uevent_sent : 1 ;
583 unsigned int state_remove_uevent_sent : 1 ;
584 unsigned int uevent_suppress : 1 ;
585};
586#line 108 "include/linux/kobject.h"
587struct kobj_type {
588 void (*release)(struct kobject *kobj ) ;
589 struct sysfs_ops const *sysfs_ops ;
590 struct attribute **default_attrs ;
591 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
592 void const *(*namespace)(struct kobject *kobj ) ;
593};
594#line 116 "include/linux/kobject.h"
595struct kobj_uevent_env {
596 char *envp[32] ;
597 int envp_idx ;
598 char buf[2048] ;
599 int buflen ;
600};
601#line 123 "include/linux/kobject.h"
602struct kset_uevent_ops {
603 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
604 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
605 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
606};
607#line 140
608struct sock;
609#line 159 "include/linux/kobject.h"
610struct kset {
611 struct list_head list ;
612 spinlock_t list_lock ;
613 struct kobject kobj ;
614 struct kset_uevent_ops const *uevent_ops ;
615};
616#line 39 "include/linux/moduleparam.h"
617struct kernel_param;
618#line 39
619struct kernel_param;
620#line 41 "include/linux/moduleparam.h"
621struct kernel_param_ops {
622 int (*set)(char const *val , struct kernel_param const *kp ) ;
623 int (*get)(char *buffer , struct kernel_param const *kp ) ;
624 void (*free)(void *arg ) ;
625};
626#line 50
627struct kparam_string;
628#line 50
629struct kparam_array;
630#line 50 "include/linux/moduleparam.h"
631union __anonunion____missing_field_name_199 {
632 void *arg ;
633 struct kparam_string const *str ;
634 struct kparam_array const *arr ;
635};
636#line 50 "include/linux/moduleparam.h"
637struct kernel_param {
638 char const *name ;
639 struct kernel_param_ops const *ops ;
640 u16 perm ;
641 s16 level ;
642 union __anonunion____missing_field_name_199 __annonCompField32 ;
643};
644#line 63 "include/linux/moduleparam.h"
645struct kparam_string {
646 unsigned int maxlen ;
647 char *string ;
648};
649#line 69 "include/linux/moduleparam.h"
650struct kparam_array {
651 unsigned int max ;
652 unsigned int elemsize ;
653 unsigned int *num ;
654 struct kernel_param_ops const *ops ;
655 void *elem ;
656};
657#line 445
658struct module;
659#line 80 "include/linux/jump_label.h"
660struct module;
661#line 143 "include/linux/jump_label.h"
662struct static_key {
663 atomic_t enabled ;
664};
665#line 22 "include/linux/tracepoint.h"
666struct module;
667#line 23
668struct tracepoint;
669#line 23
670struct tracepoint;
671#line 25 "include/linux/tracepoint.h"
672struct tracepoint_func {
673 void *func ;
674 void *data ;
675};
676#line 30 "include/linux/tracepoint.h"
677struct tracepoint {
678 char const *name ;
679 struct static_key key ;
680 void (*regfunc)(void) ;
681 void (*unregfunc)(void) ;
682 struct tracepoint_func *funcs ;
683};
684#line 19 "include/linux/export.h"
685struct kernel_symbol {
686 unsigned long value ;
687 char const *name ;
688};
689#line 8 "include/asm-generic/module.h"
690struct mod_arch_specific {
691
692};
693#line 35 "include/linux/module.h"
694struct module;
695#line 37
696struct module_param_attrs;
697#line 37 "include/linux/module.h"
698struct module_kobject {
699 struct kobject kobj ;
700 struct module *mod ;
701 struct kobject *drivers_dir ;
702 struct module_param_attrs *mp ;
703};
704#line 44 "include/linux/module.h"
705struct module_attribute {
706 struct attribute attr ;
707 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
708 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
709 size_t count ) ;
710 void (*setup)(struct module * , char const * ) ;
711 int (*test)(struct module * ) ;
712 void (*free)(struct module * ) ;
713};
714#line 71
715struct exception_table_entry;
716#line 71
717struct exception_table_entry;
718#line 199
719enum module_state {
720 MODULE_STATE_LIVE = 0,
721 MODULE_STATE_COMING = 1,
722 MODULE_STATE_GOING = 2
723} ;
724#line 215 "include/linux/module.h"
725struct module_ref {
726 unsigned long incs ;
727 unsigned long decs ;
728} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
729#line 220
730struct module_sect_attrs;
731#line 220
732struct module_notes_attrs;
733#line 220
734struct ftrace_event_call;
735#line 220 "include/linux/module.h"
736struct module {
737 enum module_state state ;
738 struct list_head list ;
739 char name[64UL - sizeof(unsigned long )] ;
740 struct module_kobject mkobj ;
741 struct module_attribute *modinfo_attrs ;
742 char const *version ;
743 char const *srcversion ;
744 struct kobject *holders_dir ;
745 struct kernel_symbol const *syms ;
746 unsigned long const *crcs ;
747 unsigned int num_syms ;
748 struct kernel_param *kp ;
749 unsigned int num_kp ;
750 unsigned int num_gpl_syms ;
751 struct kernel_symbol const *gpl_syms ;
752 unsigned long const *gpl_crcs ;
753 struct kernel_symbol const *unused_syms ;
754 unsigned long const *unused_crcs ;
755 unsigned int num_unused_syms ;
756 unsigned int num_unused_gpl_syms ;
757 struct kernel_symbol const *unused_gpl_syms ;
758 unsigned long const *unused_gpl_crcs ;
759 struct kernel_symbol const *gpl_future_syms ;
760 unsigned long const *gpl_future_crcs ;
761 unsigned int num_gpl_future_syms ;
762 unsigned int num_exentries ;
763 struct exception_table_entry *extable ;
764 int (*init)(void) ;
765 void *module_init ;
766 void *module_core ;
767 unsigned int init_size ;
768 unsigned int core_size ;
769 unsigned int init_text_size ;
770 unsigned int core_text_size ;
771 unsigned int init_ro_size ;
772 unsigned int core_ro_size ;
773 struct mod_arch_specific arch ;
774 unsigned int taints ;
775 unsigned int num_bugs ;
776 struct list_head bug_list ;
777 struct bug_entry *bug_table ;
778 Elf64_Sym *symtab ;
779 Elf64_Sym *core_symtab ;
780 unsigned int num_symtab ;
781 unsigned int core_num_syms ;
782 char *strtab ;
783 char *core_strtab ;
784 struct module_sect_attrs *sect_attrs ;
785 struct module_notes_attrs *notes_attrs ;
786 char *args ;
787 void *percpu ;
788 unsigned int percpu_size ;
789 unsigned int num_tracepoints ;
790 struct tracepoint * const *tracepoints_ptrs ;
791 unsigned int num_trace_bprintk_fmt ;
792 char const **trace_bprintk_fmt_start ;
793 struct ftrace_event_call **trace_events ;
794 unsigned int num_trace_events ;
795 struct list_head source_list ;
796 struct list_head target_list ;
797 struct task_struct *waiter ;
798 void (*exit)(void) ;
799 struct module_ref *refptr ;
800 ctor_fn_t *ctors ;
801 unsigned int num_ctors ;
802};
803#line 46 "include/linux/slub_def.h"
804struct kmem_cache_cpu {
805 void **freelist ;
806 unsigned long tid ;
807 struct page *page ;
808 struct page *partial ;
809 int node ;
810 unsigned int stat[26] ;
811};
812#line 57 "include/linux/slub_def.h"
813struct kmem_cache_node {
814 spinlock_t list_lock ;
815 unsigned long nr_partial ;
816 struct list_head partial ;
817 atomic_long_t nr_slabs ;
818 atomic_long_t total_objects ;
819 struct list_head full ;
820};
821#line 73 "include/linux/slub_def.h"
822struct kmem_cache_order_objects {
823 unsigned long x ;
824};
825#line 80 "include/linux/slub_def.h"
826struct kmem_cache {
827 struct kmem_cache_cpu *cpu_slab ;
828 unsigned long flags ;
829 unsigned long min_partial ;
830 int size ;
831 int objsize ;
832 int offset ;
833 int cpu_partial ;
834 struct kmem_cache_order_objects oo ;
835 struct kmem_cache_order_objects max ;
836 struct kmem_cache_order_objects min ;
837 gfp_t allocflags ;
838 int refcount ;
839 void (*ctor)(void * ) ;
840 int inuse ;
841 int align ;
842 int reserved ;
843 char const *name ;
844 struct list_head list ;
845 struct kobject kobj ;
846 int remote_node_defrag_ratio ;
847 struct kmem_cache_node *node[1 << 10] ;
848};
849#line 43 "include/linux/input.h"
850struct input_id {
851 __u16 bustype ;
852 __u16 vendor ;
853 __u16 product ;
854 __u16 version ;
855};
856#line 69 "include/linux/input.h"
857struct input_absinfo {
858 __s32 value ;
859 __s32 minimum ;
860 __s32 maximum ;
861 __s32 fuzz ;
862 __s32 flat ;
863 __s32 resolution ;
864};
865#line 93 "include/linux/input.h"
866struct input_keymap_entry {
867 __u8 flags ;
868 __u8 len ;
869 __u16 index ;
870 __u32 keycode ;
871 __u8 scancode[32] ;
872};
873#line 957 "include/linux/input.h"
874struct ff_replay {
875 __u16 length ;
876 __u16 delay ;
877};
878#line 967 "include/linux/input.h"
879struct ff_trigger {
880 __u16 button ;
881 __u16 interval ;
882};
883#line 984 "include/linux/input.h"
884struct ff_envelope {
885 __u16 attack_length ;
886 __u16 attack_level ;
887 __u16 fade_length ;
888 __u16 fade_level ;
889};
890#line 996 "include/linux/input.h"
891struct ff_constant_effect {
892 __s16 level ;
893 struct ff_envelope envelope ;
894};
895#line 1007 "include/linux/input.h"
896struct ff_ramp_effect {
897 __s16 start_level ;
898 __s16 end_level ;
899 struct ff_envelope envelope ;
900};
901#line 1023 "include/linux/input.h"
902struct ff_condition_effect {
903 __u16 right_saturation ;
904 __u16 left_saturation ;
905 __s16 right_coeff ;
906 __s16 left_coeff ;
907 __u16 deadband ;
908 __s16 center ;
909};
910#line 1052 "include/linux/input.h"
911struct ff_periodic_effect {
912 __u16 waveform ;
913 __u16 period ;
914 __s16 magnitude ;
915 __s16 offset ;
916 __u16 phase ;
917 struct ff_envelope envelope ;
918 __u32 custom_len ;
919 __s16 *custom_data ;
920};
921#line 1073 "include/linux/input.h"
922struct ff_rumble_effect {
923 __u16 strong_magnitude ;
924 __u16 weak_magnitude ;
925};
926#line 1101 "include/linux/input.h"
927union __anonunion_u_201 {
928 struct ff_constant_effect constant ;
929 struct ff_ramp_effect ramp ;
930 struct ff_periodic_effect periodic ;
931 struct ff_condition_effect condition[2] ;
932 struct ff_rumble_effect rumble ;
933};
934#line 1101 "include/linux/input.h"
935struct ff_effect {
936 __u16 type ;
937 __s16 id ;
938 __u16 direction ;
939 struct ff_trigger trigger ;
940 struct ff_replay replay ;
941 union __anonunion_u_201 u ;
942};
943#line 19 "include/linux/klist.h"
944struct klist_node;
945#line 19
946struct klist_node;
947#line 39 "include/linux/klist.h"
948struct klist_node {
949 void *n_klist ;
950 struct list_head n_node ;
951 struct kref n_ref ;
952};
953#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
954struct dma_map_ops;
955#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
956struct dev_archdata {
957 void *acpi_handle ;
958 struct dma_map_ops *dma_ops ;
959 void *iommu ;
960};
961#line 28 "include/linux/device.h"
962struct device;
963#line 29
964struct device_private;
965#line 29
966struct device_private;
967#line 30
968struct device_driver;
969#line 30
970struct device_driver;
971#line 31
972struct driver_private;
973#line 31
974struct driver_private;
975#line 32
976struct module;
977#line 33
978struct class;
979#line 33
980struct class;
981#line 34
982struct subsys_private;
983#line 34
984struct subsys_private;
985#line 35
986struct bus_type;
987#line 35
988struct bus_type;
989#line 36
990struct device_node;
991#line 36
992struct device_node;
993#line 37
994struct iommu_ops;
995#line 37
996struct iommu_ops;
997#line 39 "include/linux/device.h"
998struct bus_attribute {
999 struct attribute attr ;
1000 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1001 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1002};
1003#line 89
1004struct device_attribute;
1005#line 89
1006struct driver_attribute;
1007#line 89 "include/linux/device.h"
1008struct bus_type {
1009 char const *name ;
1010 char const *dev_name ;
1011 struct device *dev_root ;
1012 struct bus_attribute *bus_attrs ;
1013 struct device_attribute *dev_attrs ;
1014 struct driver_attribute *drv_attrs ;
1015 int (*match)(struct device *dev , struct device_driver *drv ) ;
1016 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1017 int (*probe)(struct device *dev ) ;
1018 int (*remove)(struct device *dev ) ;
1019 void (*shutdown)(struct device *dev ) ;
1020 int (*suspend)(struct device *dev , pm_message_t state ) ;
1021 int (*resume)(struct device *dev ) ;
1022 struct dev_pm_ops const *pm ;
1023 struct iommu_ops *iommu_ops ;
1024 struct subsys_private *p ;
1025};
1026#line 127
1027struct device_type;
1028#line 214
1029struct of_device_id;
1030#line 214 "include/linux/device.h"
1031struct device_driver {
1032 char const *name ;
1033 struct bus_type *bus ;
1034 struct module *owner ;
1035 char const *mod_name ;
1036 bool suppress_bind_attrs ;
1037 struct of_device_id const *of_match_table ;
1038 int (*probe)(struct device *dev ) ;
1039 int (*remove)(struct device *dev ) ;
1040 void (*shutdown)(struct device *dev ) ;
1041 int (*suspend)(struct device *dev , pm_message_t state ) ;
1042 int (*resume)(struct device *dev ) ;
1043 struct attribute_group const **groups ;
1044 struct dev_pm_ops const *pm ;
1045 struct driver_private *p ;
1046};
1047#line 249 "include/linux/device.h"
1048struct driver_attribute {
1049 struct attribute attr ;
1050 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1051 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1052};
1053#line 330
1054struct class_attribute;
1055#line 330 "include/linux/device.h"
1056struct class {
1057 char const *name ;
1058 struct module *owner ;
1059 struct class_attribute *class_attrs ;
1060 struct device_attribute *dev_attrs ;
1061 struct bin_attribute *dev_bin_attrs ;
1062 struct kobject *dev_kobj ;
1063 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1064 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1065 void (*class_release)(struct class *class ) ;
1066 void (*dev_release)(struct device *dev ) ;
1067 int (*suspend)(struct device *dev , pm_message_t state ) ;
1068 int (*resume)(struct device *dev ) ;
1069 struct kobj_ns_type_operations const *ns_type ;
1070 void const *(*namespace)(struct device *dev ) ;
1071 struct dev_pm_ops const *pm ;
1072 struct subsys_private *p ;
1073};
1074#line 397 "include/linux/device.h"
1075struct class_attribute {
1076 struct attribute attr ;
1077 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1078 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1079 size_t count ) ;
1080 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1081};
1082#line 465 "include/linux/device.h"
1083struct device_type {
1084 char const *name ;
1085 struct attribute_group const **groups ;
1086 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1087 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1088 void (*release)(struct device *dev ) ;
1089 struct dev_pm_ops const *pm ;
1090};
1091#line 476 "include/linux/device.h"
1092struct device_attribute {
1093 struct attribute attr ;
1094 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1095 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1096 size_t count ) ;
1097};
1098#line 559 "include/linux/device.h"
1099struct device_dma_parameters {
1100 unsigned int max_segment_size ;
1101 unsigned long segment_boundary_mask ;
1102};
1103#line 627
1104struct dma_coherent_mem;
1105#line 627 "include/linux/device.h"
1106struct device {
1107 struct device *parent ;
1108 struct device_private *p ;
1109 struct kobject kobj ;
1110 char const *init_name ;
1111 struct device_type const *type ;
1112 struct mutex mutex ;
1113 struct bus_type *bus ;
1114 struct device_driver *driver ;
1115 void *platform_data ;
1116 struct dev_pm_info power ;
1117 struct dev_pm_domain *pm_domain ;
1118 int numa_node ;
1119 u64 *dma_mask ;
1120 u64 coherent_dma_mask ;
1121 struct device_dma_parameters *dma_parms ;
1122 struct list_head dma_pools ;
1123 struct dma_coherent_mem *dma_mem ;
1124 struct dev_archdata archdata ;
1125 struct device_node *of_node ;
1126 dev_t devt ;
1127 u32 id ;
1128 spinlock_t devres_lock ;
1129 struct list_head devres_head ;
1130 struct klist_node knode_class ;
1131 struct class *class ;
1132 struct attribute_group const **groups ;
1133 void (*release)(struct device *dev ) ;
1134};
1135#line 43 "include/linux/pm_wakeup.h"
1136struct wakeup_source {
1137 char const *name ;
1138 struct list_head entry ;
1139 spinlock_t lock ;
1140 struct timer_list timer ;
1141 unsigned long timer_expires ;
1142 ktime_t total_time ;
1143 ktime_t max_time ;
1144 ktime_t last_time ;
1145 unsigned long event_count ;
1146 unsigned long active_count ;
1147 unsigned long relax_count ;
1148 unsigned long hit_count ;
1149 unsigned int active : 1 ;
1150};
1151#line 15 "include/linux/blk_types.h"
1152struct page;
1153#line 16
1154struct block_device;
1155#line 16
1156struct block_device;
1157#line 33 "include/linux/list_bl.h"
1158struct hlist_bl_node;
1159#line 33 "include/linux/list_bl.h"
1160struct hlist_bl_head {
1161 struct hlist_bl_node *first ;
1162};
1163#line 37 "include/linux/list_bl.h"
1164struct hlist_bl_node {
1165 struct hlist_bl_node *next ;
1166 struct hlist_bl_node **pprev ;
1167};
1168#line 13 "include/linux/dcache.h"
1169struct nameidata;
1170#line 13
1171struct nameidata;
1172#line 14
1173struct path;
1174#line 14
1175struct path;
1176#line 15
1177struct vfsmount;
1178#line 15
1179struct vfsmount;
1180#line 35 "include/linux/dcache.h"
1181struct qstr {
1182 unsigned int hash ;
1183 unsigned int len ;
1184 unsigned char const *name ;
1185};
1186#line 88
1187struct inode;
1188#line 88
1189struct dentry_operations;
1190#line 88
1191struct super_block;
1192#line 88 "include/linux/dcache.h"
1193union __anonunion_d_u_202 {
1194 struct list_head d_child ;
1195 struct rcu_head d_rcu ;
1196};
1197#line 88 "include/linux/dcache.h"
1198struct dentry {
1199 unsigned int d_flags ;
1200 seqcount_t d_seq ;
1201 struct hlist_bl_node d_hash ;
1202 struct dentry *d_parent ;
1203 struct qstr d_name ;
1204 struct inode *d_inode ;
1205 unsigned char d_iname[32] ;
1206 unsigned int d_count ;
1207 spinlock_t d_lock ;
1208 struct dentry_operations const *d_op ;
1209 struct super_block *d_sb ;
1210 unsigned long d_time ;
1211 void *d_fsdata ;
1212 struct list_head d_lru ;
1213 union __anonunion_d_u_202 d_u ;
1214 struct list_head d_subdirs ;
1215 struct list_head d_alias ;
1216};
1217#line 131 "include/linux/dcache.h"
1218struct dentry_operations {
1219 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1220 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1221 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1222 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1223 int (*d_delete)(struct dentry const * ) ;
1224 void (*d_release)(struct dentry * ) ;
1225 void (*d_prune)(struct dentry * ) ;
1226 void (*d_iput)(struct dentry * , struct inode * ) ;
1227 char *(*d_dname)(struct dentry * , char * , int ) ;
1228 struct vfsmount *(*d_automount)(struct path * ) ;
1229 int (*d_manage)(struct dentry * , bool ) ;
1230} __attribute__((__aligned__((1) << (6) ))) ;
1231#line 4 "include/linux/path.h"
1232struct dentry;
1233#line 5
1234struct vfsmount;
1235#line 7 "include/linux/path.h"
1236struct path {
1237 struct vfsmount *mnt ;
1238 struct dentry *dentry ;
1239};
1240#line 64 "include/linux/radix-tree.h"
1241struct radix_tree_node;
1242#line 64 "include/linux/radix-tree.h"
1243struct radix_tree_root {
1244 unsigned int height ;
1245 gfp_t gfp_mask ;
1246 struct radix_tree_node *rnode ;
1247};
1248#line 14 "include/linux/prio_tree.h"
1249struct prio_tree_node;
1250#line 20 "include/linux/prio_tree.h"
1251struct prio_tree_node {
1252 struct prio_tree_node *left ;
1253 struct prio_tree_node *right ;
1254 struct prio_tree_node *parent ;
1255 unsigned long start ;
1256 unsigned long last ;
1257};
1258#line 28 "include/linux/prio_tree.h"
1259struct prio_tree_root {
1260 struct prio_tree_node *prio_tree_node ;
1261 unsigned short index_bits ;
1262 unsigned short raw ;
1263};
1264#line 6 "include/linux/pid.h"
1265enum pid_type {
1266 PIDTYPE_PID = 0,
1267 PIDTYPE_PGID = 1,
1268 PIDTYPE_SID = 2,
1269 PIDTYPE_MAX = 3
1270} ;
1271#line 50
1272struct pid_namespace;
1273#line 50 "include/linux/pid.h"
1274struct upid {
1275 int nr ;
1276 struct pid_namespace *ns ;
1277 struct hlist_node pid_chain ;
1278};
1279#line 57 "include/linux/pid.h"
1280struct pid {
1281 atomic_t count ;
1282 unsigned int level ;
1283 struct hlist_head tasks[3] ;
1284 struct rcu_head rcu ;
1285 struct upid numbers[1] ;
1286};
1287#line 100
1288struct pid_namespace;
1289#line 18 "include/linux/capability.h"
1290struct task_struct;
1291#line 377
1292struct dentry;
1293#line 16 "include/linux/fiemap.h"
1294struct fiemap_extent {
1295 __u64 fe_logical ;
1296 __u64 fe_physical ;
1297 __u64 fe_length ;
1298 __u64 fe_reserved64[2] ;
1299 __u32 fe_flags ;
1300 __u32 fe_reserved[3] ;
1301};
1302#line 8 "include/linux/shrinker.h"
1303struct shrink_control {
1304 gfp_t gfp_mask ;
1305 unsigned long nr_to_scan ;
1306};
1307#line 31 "include/linux/shrinker.h"
1308struct shrinker {
1309 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1310 int seeks ;
1311 long batch ;
1312 struct list_head list ;
1313 atomic_long_t nr_in_batch ;
1314};
1315#line 10 "include/linux/migrate_mode.h"
1316enum migrate_mode {
1317 MIGRATE_ASYNC = 0,
1318 MIGRATE_SYNC_LIGHT = 1,
1319 MIGRATE_SYNC = 2
1320} ;
1321#line 408 "include/linux/fs.h"
1322struct export_operations;
1323#line 408
1324struct export_operations;
1325#line 410
1326struct iovec;
1327#line 410
1328struct iovec;
1329#line 411
1330struct nameidata;
1331#line 412
1332struct kiocb;
1333#line 412
1334struct kiocb;
1335#line 413
1336struct kobject;
1337#line 414
1338struct pipe_inode_info;
1339#line 414
1340struct pipe_inode_info;
1341#line 415
1342struct poll_table_struct;
1343#line 415
1344struct poll_table_struct;
1345#line 416
1346struct kstatfs;
1347#line 416
1348struct kstatfs;
1349#line 417
1350struct vm_area_struct;
1351#line 418
1352struct vfsmount;
1353#line 419
1354struct cred;
1355#line 469 "include/linux/fs.h"
1356struct iattr {
1357 unsigned int ia_valid ;
1358 umode_t ia_mode ;
1359 uid_t ia_uid ;
1360 gid_t ia_gid ;
1361 loff_t ia_size ;
1362 struct timespec ia_atime ;
1363 struct timespec ia_mtime ;
1364 struct timespec ia_ctime ;
1365 struct file *ia_file ;
1366};
1367#line 129 "include/linux/quota.h"
1368struct if_dqinfo {
1369 __u64 dqi_bgrace ;
1370 __u64 dqi_igrace ;
1371 __u32 dqi_flags ;
1372 __u32 dqi_valid ;
1373};
1374#line 50 "include/linux/dqblk_xfs.h"
1375struct fs_disk_quota {
1376 __s8 d_version ;
1377 __s8 d_flags ;
1378 __u16 d_fieldmask ;
1379 __u32 d_id ;
1380 __u64 d_blk_hardlimit ;
1381 __u64 d_blk_softlimit ;
1382 __u64 d_ino_hardlimit ;
1383 __u64 d_ino_softlimit ;
1384 __u64 d_bcount ;
1385 __u64 d_icount ;
1386 __s32 d_itimer ;
1387 __s32 d_btimer ;
1388 __u16 d_iwarns ;
1389 __u16 d_bwarns ;
1390 __s32 d_padding2 ;
1391 __u64 d_rtb_hardlimit ;
1392 __u64 d_rtb_softlimit ;
1393 __u64 d_rtbcount ;
1394 __s32 d_rtbtimer ;
1395 __u16 d_rtbwarns ;
1396 __s16 d_padding3 ;
1397 char d_padding4[8] ;
1398};
1399#line 146 "include/linux/dqblk_xfs.h"
1400struct fs_qfilestat {
1401 __u64 qfs_ino ;
1402 __u64 qfs_nblks ;
1403 __u32 qfs_nextents ;
1404};
1405#line 146 "include/linux/dqblk_xfs.h"
1406typedef struct fs_qfilestat fs_qfilestat_t;
1407#line 152 "include/linux/dqblk_xfs.h"
1408struct fs_quota_stat {
1409 __s8 qs_version ;
1410 __u16 qs_flags ;
1411 __s8 qs_pad ;
1412 fs_qfilestat_t qs_uquota ;
1413 fs_qfilestat_t qs_gquota ;
1414 __u32 qs_incoredqs ;
1415 __s32 qs_btimelimit ;
1416 __s32 qs_itimelimit ;
1417 __s32 qs_rtbtimelimit ;
1418 __u16 qs_bwarnlimit ;
1419 __u16 qs_iwarnlimit ;
1420};
1421#line 17 "include/linux/dqblk_qtree.h"
1422struct dquot;
1423#line 17
1424struct dquot;
1425#line 185 "include/linux/quota.h"
1426typedef __kernel_uid32_t qid_t;
1427#line 186 "include/linux/quota.h"
1428typedef long long qsize_t;
1429#line 200 "include/linux/quota.h"
1430struct mem_dqblk {
1431 qsize_t dqb_bhardlimit ;
1432 qsize_t dqb_bsoftlimit ;
1433 qsize_t dqb_curspace ;
1434 qsize_t dqb_rsvspace ;
1435 qsize_t dqb_ihardlimit ;
1436 qsize_t dqb_isoftlimit ;
1437 qsize_t dqb_curinodes ;
1438 time_t dqb_btime ;
1439 time_t dqb_itime ;
1440};
1441#line 215
1442struct quota_format_type;
1443#line 215
1444struct quota_format_type;
1445#line 217 "include/linux/quota.h"
1446struct mem_dqinfo {
1447 struct quota_format_type *dqi_format ;
1448 int dqi_fmt_id ;
1449 struct list_head dqi_dirty_list ;
1450 unsigned long dqi_flags ;
1451 unsigned int dqi_bgrace ;
1452 unsigned int dqi_igrace ;
1453 qsize_t dqi_maxblimit ;
1454 qsize_t dqi_maxilimit ;
1455 void *dqi_priv ;
1456};
1457#line 230
1458struct super_block;
1459#line 288 "include/linux/quota.h"
1460struct dquot {
1461 struct hlist_node dq_hash ;
1462 struct list_head dq_inuse ;
1463 struct list_head dq_free ;
1464 struct list_head dq_dirty ;
1465 struct mutex dq_lock ;
1466 atomic_t dq_count ;
1467 wait_queue_head_t dq_wait_unused ;
1468 struct super_block *dq_sb ;
1469 unsigned int dq_id ;
1470 loff_t dq_off ;
1471 unsigned long dq_flags ;
1472 short dq_type ;
1473 struct mem_dqblk dq_dqb ;
1474};
1475#line 305 "include/linux/quota.h"
1476struct quota_format_ops {
1477 int (*check_quota_file)(struct super_block *sb , int type ) ;
1478 int (*read_file_info)(struct super_block *sb , int type ) ;
1479 int (*write_file_info)(struct super_block *sb , int type ) ;
1480 int (*free_file_info)(struct super_block *sb , int type ) ;
1481 int (*read_dqblk)(struct dquot *dquot ) ;
1482 int (*commit_dqblk)(struct dquot *dquot ) ;
1483 int (*release_dqblk)(struct dquot *dquot ) ;
1484};
1485#line 316 "include/linux/quota.h"
1486struct dquot_operations {
1487 int (*write_dquot)(struct dquot * ) ;
1488 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1489 void (*destroy_dquot)(struct dquot * ) ;
1490 int (*acquire_dquot)(struct dquot * ) ;
1491 int (*release_dquot)(struct dquot * ) ;
1492 int (*mark_dirty)(struct dquot * ) ;
1493 int (*write_info)(struct super_block * , int ) ;
1494 qsize_t *(*get_reserved_space)(struct inode * ) ;
1495};
1496#line 329
1497struct path;
1498#line 332 "include/linux/quota.h"
1499struct quotactl_ops {
1500 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1501 int (*quota_on_meta)(struct super_block * , int , int ) ;
1502 int (*quota_off)(struct super_block * , int ) ;
1503 int (*quota_sync)(struct super_block * , int , int ) ;
1504 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1505 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1506 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1507 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1508 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1509 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1510};
1511#line 345 "include/linux/quota.h"
1512struct quota_format_type {
1513 int qf_fmt_id ;
1514 struct quota_format_ops const *qf_ops ;
1515 struct module *qf_owner ;
1516 struct quota_format_type *qf_next ;
1517};
1518#line 399 "include/linux/quota.h"
1519struct quota_info {
1520 unsigned int flags ;
1521 struct mutex dqio_mutex ;
1522 struct mutex dqonoff_mutex ;
1523 struct rw_semaphore dqptr_sem ;
1524 struct inode *files[2] ;
1525 struct mem_dqinfo info[2] ;
1526 struct quota_format_ops const *ops[2] ;
1527};
1528#line 532 "include/linux/fs.h"
1529struct page;
1530#line 533
1531struct address_space;
1532#line 533
1533struct address_space;
1534#line 534
1535struct writeback_control;
1536#line 534
1537struct writeback_control;
1538#line 577 "include/linux/fs.h"
1539union __anonunion_arg_210 {
1540 char *buf ;
1541 void *data ;
1542};
1543#line 577 "include/linux/fs.h"
1544struct __anonstruct_read_descriptor_t_209 {
1545 size_t written ;
1546 size_t count ;
1547 union __anonunion_arg_210 arg ;
1548 int error ;
1549};
1550#line 577 "include/linux/fs.h"
1551typedef struct __anonstruct_read_descriptor_t_209 read_descriptor_t;
1552#line 590 "include/linux/fs.h"
1553struct address_space_operations {
1554 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1555 int (*readpage)(struct file * , struct page * ) ;
1556 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1557 int (*set_page_dirty)(struct page *page ) ;
1558 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1559 unsigned int nr_pages ) ;
1560 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1561 unsigned int len , unsigned int flags , struct page **pagep ,
1562 void **fsdata ) ;
1563 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1564 unsigned int copied , struct page *page , void *fsdata ) ;
1565 sector_t (*bmap)(struct address_space * , sector_t ) ;
1566 void (*invalidatepage)(struct page * , unsigned long ) ;
1567 int (*releasepage)(struct page * , gfp_t ) ;
1568 void (*freepage)(struct page * ) ;
1569 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1570 unsigned long nr_segs ) ;
1571 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1572 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1573 int (*launder_page)(struct page * ) ;
1574 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1575 int (*error_remove_page)(struct address_space * , struct page * ) ;
1576};
1577#line 645
1578struct backing_dev_info;
1579#line 645
1580struct backing_dev_info;
1581#line 646 "include/linux/fs.h"
1582struct address_space {
1583 struct inode *host ;
1584 struct radix_tree_root page_tree ;
1585 spinlock_t tree_lock ;
1586 unsigned int i_mmap_writable ;
1587 struct prio_tree_root i_mmap ;
1588 struct list_head i_mmap_nonlinear ;
1589 struct mutex i_mmap_mutex ;
1590 unsigned long nrpages ;
1591 unsigned long writeback_index ;
1592 struct address_space_operations const *a_ops ;
1593 unsigned long flags ;
1594 struct backing_dev_info *backing_dev_info ;
1595 spinlock_t private_lock ;
1596 struct list_head private_list ;
1597 struct address_space *assoc_mapping ;
1598} __attribute__((__aligned__(sizeof(long )))) ;
1599#line 669
1600struct request_queue;
1601#line 669
1602struct request_queue;
1603#line 671
1604struct hd_struct;
1605#line 671
1606struct gendisk;
1607#line 671 "include/linux/fs.h"
1608struct block_device {
1609 dev_t bd_dev ;
1610 int bd_openers ;
1611 struct inode *bd_inode ;
1612 struct super_block *bd_super ;
1613 struct mutex bd_mutex ;
1614 struct list_head bd_inodes ;
1615 void *bd_claiming ;
1616 void *bd_holder ;
1617 int bd_holders ;
1618 bool bd_write_holder ;
1619 struct list_head bd_holder_disks ;
1620 struct block_device *bd_contains ;
1621 unsigned int bd_block_size ;
1622 struct hd_struct *bd_part ;
1623 unsigned int bd_part_count ;
1624 int bd_invalidated ;
1625 struct gendisk *bd_disk ;
1626 struct request_queue *bd_queue ;
1627 struct list_head bd_list ;
1628 unsigned long bd_private ;
1629 int bd_fsfreeze_count ;
1630 struct mutex bd_fsfreeze_mutex ;
1631};
1632#line 749
1633struct posix_acl;
1634#line 749
1635struct posix_acl;
1636#line 761
1637struct inode_operations;
1638#line 761 "include/linux/fs.h"
1639union __anonunion____missing_field_name_211 {
1640 unsigned int const i_nlink ;
1641 unsigned int __i_nlink ;
1642};
1643#line 761 "include/linux/fs.h"
1644union __anonunion____missing_field_name_212 {
1645 struct list_head i_dentry ;
1646 struct rcu_head i_rcu ;
1647};
1648#line 761
1649struct file_operations;
1650#line 761
1651struct file_lock;
1652#line 761
1653struct cdev;
1654#line 761 "include/linux/fs.h"
1655union __anonunion____missing_field_name_213 {
1656 struct pipe_inode_info *i_pipe ;
1657 struct block_device *i_bdev ;
1658 struct cdev *i_cdev ;
1659};
1660#line 761 "include/linux/fs.h"
1661struct inode {
1662 umode_t i_mode ;
1663 unsigned short i_opflags ;
1664 uid_t i_uid ;
1665 gid_t i_gid ;
1666 unsigned int i_flags ;
1667 struct posix_acl *i_acl ;
1668 struct posix_acl *i_default_acl ;
1669 struct inode_operations const *i_op ;
1670 struct super_block *i_sb ;
1671 struct address_space *i_mapping ;
1672 void *i_security ;
1673 unsigned long i_ino ;
1674 union __anonunion____missing_field_name_211 __annonCompField33 ;
1675 dev_t i_rdev ;
1676 struct timespec i_atime ;
1677 struct timespec i_mtime ;
1678 struct timespec i_ctime ;
1679 spinlock_t i_lock ;
1680 unsigned short i_bytes ;
1681 blkcnt_t i_blocks ;
1682 loff_t i_size ;
1683 unsigned long i_state ;
1684 struct mutex i_mutex ;
1685 unsigned long dirtied_when ;
1686 struct hlist_node i_hash ;
1687 struct list_head i_wb_list ;
1688 struct list_head i_lru ;
1689 struct list_head i_sb_list ;
1690 union __anonunion____missing_field_name_212 __annonCompField34 ;
1691 atomic_t i_count ;
1692 unsigned int i_blkbits ;
1693 u64 i_version ;
1694 atomic_t i_dio_count ;
1695 atomic_t i_writecount ;
1696 struct file_operations const *i_fop ;
1697 struct file_lock *i_flock ;
1698 struct address_space i_data ;
1699 struct dquot *i_dquot[2] ;
1700 struct list_head i_devices ;
1701 union __anonunion____missing_field_name_213 __annonCompField35 ;
1702 __u32 i_generation ;
1703 __u32 i_fsnotify_mask ;
1704 struct hlist_head i_fsnotify_marks ;
1705 atomic_t i_readcount ;
1706 void *i_private ;
1707};
1708#line 942 "include/linux/fs.h"
1709struct fown_struct {
1710 rwlock_t lock ;
1711 struct pid *pid ;
1712 enum pid_type pid_type ;
1713 uid_t uid ;
1714 uid_t euid ;
1715 int signum ;
1716};
1717#line 953 "include/linux/fs.h"
1718struct file_ra_state {
1719 unsigned long start ;
1720 unsigned int size ;
1721 unsigned int async_size ;
1722 unsigned int ra_pages ;
1723 unsigned int mmap_miss ;
1724 loff_t prev_pos ;
1725};
1726#line 976 "include/linux/fs.h"
1727union __anonunion_f_u_214 {
1728 struct list_head fu_list ;
1729 struct rcu_head fu_rcuhead ;
1730};
1731#line 976 "include/linux/fs.h"
1732struct file {
1733 union __anonunion_f_u_214 f_u ;
1734 struct path f_path ;
1735 struct file_operations const *f_op ;
1736 spinlock_t f_lock ;
1737 int f_sb_list_cpu ;
1738 atomic_long_t f_count ;
1739 unsigned int f_flags ;
1740 fmode_t f_mode ;
1741 loff_t f_pos ;
1742 struct fown_struct f_owner ;
1743 struct cred const *f_cred ;
1744 struct file_ra_state f_ra ;
1745 u64 f_version ;
1746 void *f_security ;
1747 void *private_data ;
1748 struct list_head f_ep_links ;
1749 struct list_head f_tfile_llink ;
1750 struct address_space *f_mapping ;
1751 unsigned long f_mnt_write_state ;
1752};
1753#line 1111
1754struct files_struct;
1755#line 1111 "include/linux/fs.h"
1756typedef struct files_struct *fl_owner_t;
1757#line 1113 "include/linux/fs.h"
1758struct file_lock_operations {
1759 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1760 void (*fl_release_private)(struct file_lock * ) ;
1761};
1762#line 1118 "include/linux/fs.h"
1763struct lock_manager_operations {
1764 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1765 void (*lm_notify)(struct file_lock * ) ;
1766 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1767 void (*lm_release_private)(struct file_lock * ) ;
1768 void (*lm_break)(struct file_lock * ) ;
1769 int (*lm_change)(struct file_lock ** , int ) ;
1770};
1771#line 4 "include/linux/nfs_fs_i.h"
1772struct nlm_lockowner;
1773#line 4
1774struct nlm_lockowner;
1775#line 9 "include/linux/nfs_fs_i.h"
1776struct nfs_lock_info {
1777 u32 state ;
1778 struct nlm_lockowner *owner ;
1779 struct list_head list ;
1780};
1781#line 15
1782struct nfs4_lock_state;
1783#line 15
1784struct nfs4_lock_state;
1785#line 16 "include/linux/nfs_fs_i.h"
1786struct nfs4_lock_info {
1787 struct nfs4_lock_state *owner ;
1788};
1789#line 1138 "include/linux/fs.h"
1790struct fasync_struct;
1791#line 1138 "include/linux/fs.h"
1792struct __anonstruct_afs_216 {
1793 struct list_head link ;
1794 int state ;
1795};
1796#line 1138 "include/linux/fs.h"
1797union __anonunion_fl_u_215 {
1798 struct nfs_lock_info nfs_fl ;
1799 struct nfs4_lock_info nfs4_fl ;
1800 struct __anonstruct_afs_216 afs ;
1801};
1802#line 1138 "include/linux/fs.h"
1803struct file_lock {
1804 struct file_lock *fl_next ;
1805 struct list_head fl_link ;
1806 struct list_head fl_block ;
1807 fl_owner_t fl_owner ;
1808 unsigned int fl_flags ;
1809 unsigned char fl_type ;
1810 unsigned int fl_pid ;
1811 struct pid *fl_nspid ;
1812 wait_queue_head_t fl_wait ;
1813 struct file *fl_file ;
1814 loff_t fl_start ;
1815 loff_t fl_end ;
1816 struct fasync_struct *fl_fasync ;
1817 unsigned long fl_break_time ;
1818 unsigned long fl_downgrade_time ;
1819 struct file_lock_operations const *fl_ops ;
1820 struct lock_manager_operations const *fl_lmops ;
1821 union __anonunion_fl_u_215 fl_u ;
1822};
1823#line 1378 "include/linux/fs.h"
1824struct fasync_struct {
1825 spinlock_t fa_lock ;
1826 int magic ;
1827 int fa_fd ;
1828 struct fasync_struct *fa_next ;
1829 struct file *fa_file ;
1830 struct rcu_head fa_rcu ;
1831};
1832#line 1418
1833struct file_system_type;
1834#line 1418
1835struct super_operations;
1836#line 1418
1837struct xattr_handler;
1838#line 1418
1839struct mtd_info;
1840#line 1418 "include/linux/fs.h"
1841struct super_block {
1842 struct list_head s_list ;
1843 dev_t s_dev ;
1844 unsigned char s_dirt ;
1845 unsigned char s_blocksize_bits ;
1846 unsigned long s_blocksize ;
1847 loff_t s_maxbytes ;
1848 struct file_system_type *s_type ;
1849 struct super_operations const *s_op ;
1850 struct dquot_operations const *dq_op ;
1851 struct quotactl_ops const *s_qcop ;
1852 struct export_operations const *s_export_op ;
1853 unsigned long s_flags ;
1854 unsigned long s_magic ;
1855 struct dentry *s_root ;
1856 struct rw_semaphore s_umount ;
1857 struct mutex s_lock ;
1858 int s_count ;
1859 atomic_t s_active ;
1860 void *s_security ;
1861 struct xattr_handler const **s_xattr ;
1862 struct list_head s_inodes ;
1863 struct hlist_bl_head s_anon ;
1864 struct list_head *s_files ;
1865 struct list_head s_mounts ;
1866 struct list_head s_dentry_lru ;
1867 int s_nr_dentry_unused ;
1868 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1869 struct list_head s_inode_lru ;
1870 int s_nr_inodes_unused ;
1871 struct block_device *s_bdev ;
1872 struct backing_dev_info *s_bdi ;
1873 struct mtd_info *s_mtd ;
1874 struct hlist_node s_instances ;
1875 struct quota_info s_dquot ;
1876 int s_frozen ;
1877 wait_queue_head_t s_wait_unfrozen ;
1878 char s_id[32] ;
1879 u8 s_uuid[16] ;
1880 void *s_fs_info ;
1881 unsigned int s_max_links ;
1882 fmode_t s_mode ;
1883 u32 s_time_gran ;
1884 struct mutex s_vfs_rename_mutex ;
1885 char *s_subtype ;
1886 char *s_options ;
1887 struct dentry_operations const *s_d_op ;
1888 int cleancache_poolid ;
1889 struct shrinker s_shrink ;
1890 atomic_long_t s_remove_count ;
1891 int s_readonly_remount ;
1892};
1893#line 1567 "include/linux/fs.h"
1894struct fiemap_extent_info {
1895 unsigned int fi_flags ;
1896 unsigned int fi_extents_mapped ;
1897 unsigned int fi_extents_max ;
1898 struct fiemap_extent *fi_extents_start ;
1899};
1900#line 1609 "include/linux/fs.h"
1901struct file_operations {
1902 struct module *owner ;
1903 loff_t (*llseek)(struct file * , loff_t , int ) ;
1904 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1905 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1906 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1907 loff_t ) ;
1908 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1909 loff_t ) ;
1910 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1911 loff_t , u64 , unsigned int ) ) ;
1912 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1913 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1914 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1915 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1916 int (*open)(struct inode * , struct file * ) ;
1917 int (*flush)(struct file * , fl_owner_t id ) ;
1918 int (*release)(struct inode * , struct file * ) ;
1919 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1920 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1921 int (*fasync)(int , struct file * , int ) ;
1922 int (*lock)(struct file * , int , struct file_lock * ) ;
1923 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1924 int ) ;
1925 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1926 unsigned long , unsigned long ) ;
1927 int (*check_flags)(int ) ;
1928 int (*flock)(struct file * , int , struct file_lock * ) ;
1929 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1930 unsigned int ) ;
1931 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1932 unsigned int ) ;
1933 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1934 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1935};
1936#line 1639 "include/linux/fs.h"
1937struct inode_operations {
1938 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1939 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1940 int (*permission)(struct inode * , int ) ;
1941 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1942 int (*readlink)(struct dentry * , char * , int ) ;
1943 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1944 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1945 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1946 int (*unlink)(struct inode * , struct dentry * ) ;
1947 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1948 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1949 int (*rmdir)(struct inode * , struct dentry * ) ;
1950 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1951 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1952 void (*truncate)(struct inode * ) ;
1953 int (*setattr)(struct dentry * , struct iattr * ) ;
1954 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1955 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1956 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1957 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1958 int (*removexattr)(struct dentry * , char const * ) ;
1959 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1960 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1961} __attribute__((__aligned__((1) << (6) ))) ;
1962#line 1669
1963struct seq_file;
1964#line 1684 "include/linux/fs.h"
1965struct super_operations {
1966 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1967 void (*destroy_inode)(struct inode * ) ;
1968 void (*dirty_inode)(struct inode * , int flags ) ;
1969 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1970 int (*drop_inode)(struct inode * ) ;
1971 void (*evict_inode)(struct inode * ) ;
1972 void (*put_super)(struct super_block * ) ;
1973 void (*write_super)(struct super_block * ) ;
1974 int (*sync_fs)(struct super_block *sb , int wait ) ;
1975 int (*freeze_fs)(struct super_block * ) ;
1976 int (*unfreeze_fs)(struct super_block * ) ;
1977 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1978 int (*remount_fs)(struct super_block * , int * , char * ) ;
1979 void (*umount_begin)(struct super_block * ) ;
1980 int (*show_options)(struct seq_file * , struct dentry * ) ;
1981 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1982 int (*show_path)(struct seq_file * , struct dentry * ) ;
1983 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1984 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1985 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1986 loff_t ) ;
1987 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1988 int (*nr_cached_objects)(struct super_block * ) ;
1989 void (*free_cached_objects)(struct super_block * , int ) ;
1990};
1991#line 1835 "include/linux/fs.h"
1992struct file_system_type {
1993 char const *name ;
1994 int fs_flags ;
1995 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1996 void (*kill_sb)(struct super_block * ) ;
1997 struct module *owner ;
1998 struct file_system_type *next ;
1999 struct hlist_head fs_supers ;
2000 struct lock_class_key s_lock_key ;
2001 struct lock_class_key s_umount_key ;
2002 struct lock_class_key s_vfs_rename_key ;
2003 struct lock_class_key i_lock_key ;
2004 struct lock_class_key i_mutex_key ;
2005 struct lock_class_key i_mutex_dir_key ;
2006};
2007#line 12 "include/linux/mod_devicetable.h"
2008typedef unsigned long kernel_ulong_t;
2009#line 209 "include/linux/mod_devicetable.h"
2010struct serio_device_id {
2011 __u8 type ;
2012 __u8 extra ;
2013 __u8 id ;
2014 __u8 proto ;
2015};
2016#line 219 "include/linux/mod_devicetable.h"
2017struct of_device_id {
2018 char name[32] ;
2019 char type[32] ;
2020 char compatible[128] ;
2021 void *data ;
2022};
2023#line 312 "include/linux/mod_devicetable.h"
2024struct input_device_id {
2025 kernel_ulong_t flags ;
2026 __u16 bustype ;
2027 __u16 vendor ;
2028 __u16 product ;
2029 __u16 version ;
2030 kernel_ulong_t evbit[1] ;
2031 kernel_ulong_t keybit[12] ;
2032 kernel_ulong_t relbit[1] ;
2033 kernel_ulong_t absbit[1] ;
2034 kernel_ulong_t mscbit[1] ;
2035 kernel_ulong_t ledbit[1] ;
2036 kernel_ulong_t sndbit[1] ;
2037 kernel_ulong_t ffbit[2] ;
2038 kernel_ulong_t swbit[1] ;
2039 kernel_ulong_t driver_info ;
2040};
2041#line 1250 "include/linux/input.h"
2042struct ff_device;
2043#line 1250
2044struct input_mt_slot;
2045#line 1250
2046struct input_handle;
2047#line 1250 "include/linux/input.h"
2048struct input_dev {
2049 char const *name ;
2050 char const *phys ;
2051 char const *uniq ;
2052 struct input_id id ;
2053 unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2054 unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2055 unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2056 unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2057 unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2058 unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2059 unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2060 unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2061 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2062 unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2063 unsigned int hint_events_per_packet ;
2064 unsigned int keycodemax ;
2065 unsigned int keycodesize ;
2066 void *keycode ;
2067 int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry const *ke ,
2068 unsigned int *old_keycode ) ;
2069 int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
2070 struct ff_device *ff ;
2071 unsigned int repeat_key ;
2072 struct timer_list timer ;
2073 int rep[2] ;
2074 struct input_mt_slot *mt ;
2075 int mtsize ;
2076 int slot ;
2077 int trkid ;
2078 struct input_absinfo *absinfo ;
2079 unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2080 unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2081 unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2082 unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2083 int (*open)(struct input_dev *dev ) ;
2084 void (*close)(struct input_dev *dev ) ;
2085 int (*flush)(struct input_dev *dev , struct file *file ) ;
2086 int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
2087 struct input_handle *grab ;
2088 spinlock_t event_lock ;
2089 struct mutex mutex ;
2090 unsigned int users ;
2091 bool going_away ;
2092 bool sync ;
2093 struct device dev ;
2094 struct list_head h_list ;
2095 struct list_head node ;
2096};
2097#line 1370
2098struct input_handle;
2099#line 1409 "include/linux/input.h"
2100struct input_handler {
2101 void *private ;
2102 void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
2103 int value ) ;
2104 bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
2105 int value ) ;
2106 bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
2107 int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id const *id ) ;
2108 void (*disconnect)(struct input_handle *handle ) ;
2109 void (*start)(struct input_handle *handle ) ;
2110 struct file_operations const *fops ;
2111 int minor ;
2112 char const *name ;
2113 struct input_device_id const *id_table ;
2114 struct list_head h_list ;
2115 struct list_head node ;
2116};
2117#line 1442 "include/linux/input.h"
2118struct input_handle {
2119 void *private ;
2120 int open ;
2121 char const *name ;
2122 struct input_dev *dev ;
2123 struct input_handler *handler ;
2124 struct list_head d_node ;
2125 struct list_head h_node ;
2126};
2127#line 1619 "include/linux/input.h"
2128struct ff_device {
2129 int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
2130 int (*erase)(struct input_dev *dev , int effect_id ) ;
2131 int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
2132 void (*set_gain)(struct input_dev *dev , u16 gain ) ;
2133 void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
2134 void (*destroy)(struct ff_device * ) ;
2135 void *private ;
2136 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2137 struct mutex mutex ;
2138 int max_effects ;
2139 struct ff_effect *effects ;
2140 struct file *effect_owners[] ;
2141};
2142#line 22 "include/linux/input/mt.h"
2143struct input_mt_slot {
2144 int abs[12] ;
2145};
2146#line 10 "include/linux/irqreturn.h"
2147enum irqreturn {
2148 IRQ_NONE = 0,
2149 IRQ_HANDLED = 1,
2150 IRQ_WAKE_THREAD = 2
2151} ;
2152#line 16 "include/linux/irqreturn.h"
2153typedef enum irqreturn irqreturn_t;
2154#line 31 "include/linux/irq.h"
2155struct seq_file;
2156#line 32
2157struct module;
2158#line 14 "include/linux/irqdesc.h"
2159struct module;
2160#line 65 "include/linux/profile.h"
2161struct task_struct;
2162#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
2163struct exception_table_entry {
2164 unsigned long insn ;
2165 unsigned long fixup ;
2166};
2167#line 132 "include/linux/hardirq.h"
2168struct task_struct;
2169#line 187 "include/linux/interrupt.h"
2170struct device;
2171#line 695
2172struct seq_file;
2173#line 26 "include/linux/serio.h"
2174struct serio_driver;
2175#line 26 "include/linux/serio.h"
2176struct serio {
2177 void *port_data ;
2178 char name[32] ;
2179 char phys[32] ;
2180 bool manual_bind ;
2181 struct serio_device_id id ;
2182 spinlock_t lock ;
2183 int (*write)(struct serio * , unsigned char ) ;
2184 int (*open)(struct serio * ) ;
2185 void (*close)(struct serio * ) ;
2186 int (*start)(struct serio * ) ;
2187 void (*stop)(struct serio * ) ;
2188 struct serio *parent ;
2189 struct list_head child_node ;
2190 struct list_head children ;
2191 unsigned int depth ;
2192 struct serio_driver *drv ;
2193 struct mutex drv_mutex ;
2194 struct device dev ;
2195 struct list_head node ;
2196};
2197#line 58 "include/linux/serio.h"
2198struct serio_driver {
2199 char const *description ;
2200 struct serio_device_id const *id_table ;
2201 bool manual_bind ;
2202 void (*write_wakeup)(struct serio * ) ;
2203 irqreturn_t (*interrupt)(struct serio * , unsigned char , unsigned int ) ;
2204 int (*connect)(struct serio * , struct serio_driver *drv ) ;
2205 int (*reconnect)(struct serio * ) ;
2206 void (*disconnect)(struct serio * ) ;
2207 void (*cleanup)(struct serio * ) ;
2208 struct device_driver driver ;
2209};
2210#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2211struct w8001_coord {
2212 u8 rdy ;
2213 u8 tsw ;
2214 u8 f1 ;
2215 u8 f2 ;
2216 u16 x ;
2217 u16 y ;
2218 u16 pen_pressure ;
2219 u8 tilt_x ;
2220 u8 tilt_y ;
2221};
2222#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2223struct w8001_touch_query {
2224 u16 x ;
2225 u16 y ;
2226 u8 panel_res ;
2227 u8 capacity_res ;
2228 u8 sensor_id ;
2229};
2230#line 84 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2231struct w8001 {
2232 struct input_dev *dev ;
2233 struct serio *serio ;
2234 struct completion cmd_done ;
2235 int id ;
2236 int idx ;
2237 unsigned char response_type ;
2238 unsigned char response[11] ;
2239 unsigned char data[11] ;
2240 char phys[32] ;
2241 int type ;
2242 unsigned int pktlen ;
2243 u16 max_touch_x ;
2244 u16 max_touch_y ;
2245 u16 max_pen_x ;
2246 u16 max_pen_y ;
2247 char name[64] ;
2248};
2249#line 1 "<compiler builtins>"
2250
2251#line 1
2252long __builtin_expect(long val , long res ) ;
2253#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2254__inline static void __set_bit(int nr , unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
2255#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2256__inline static void __set_bit(int nr , unsigned long volatile *addr )
2257{ long volatile *__cil_tmp3 ;
2258
2259 {
2260#line 84
2261 __cil_tmp3 = (long volatile *)addr;
2262#line 84
2263 __asm__ volatile ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2264#line 85
2265 return;
2266}
2267}
2268#line 44 "include/linux/dynamic_debug.h"
2269extern int ( __dynamic_pr_debug)(struct _ddebug *descriptor ,
2270 char const *fmt , ...) ;
2271#line 322 "include/linux/kernel.h"
2272extern int ( snprintf)(char *buf , size_t size , char const *fmt
2273 , ...) ;
2274#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2275extern void *__memcpy(void *to , void const *from , size_t len ) ;
2276#line 55
2277extern void *memset(void *s , int c , size_t n ) ;
2278#line 39 "include/linux/string.h"
2279extern size_t strlcat(char * , char const * , __kernel_size_t ) ;
2280#line 79 "include/linux/wait.h"
2281extern void __init_waitqueue_head(wait_queue_head_t *q , char const *name , struct lock_class_key * ) ;
2282#line 152 "include/linux/mutex.h"
2283void mutex_lock(struct mutex *lock ) ;
2284#line 153
2285int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2286#line 154
2287int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2288#line 168
2289int mutex_trylock(struct mutex *lock ) ;
2290#line 169
2291void mutex_unlock(struct mutex *lock ) ;
2292#line 170
2293int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2294#line 76 "include/linux/completion.h"
2295static struct lock_class_key __key ;
2296#line 73
2297__inline static void init_completion(struct completion *x ) __attribute__((__no_instrument_function__)) ;
2298#line 73 "include/linux/completion.h"
2299__inline static void init_completion(struct completion *x )
2300{ unsigned long __cil_tmp2 ;
2301 unsigned long __cil_tmp3 ;
2302 wait_queue_head_t *__cil_tmp4 ;
2303
2304 {
2305#line 75
2306 *((unsigned int *)x) = 0U;
2307 {
2308#line 76
2309 while (1) {
2310 while_continue: ;
2311 {
2312#line 76
2313 __cil_tmp2 = (unsigned long )x;
2314#line 76
2315 __cil_tmp3 = __cil_tmp2 + 8;
2316#line 76
2317 __cil_tmp4 = (wait_queue_head_t *)__cil_tmp3;
2318#line 76
2319 __init_waitqueue_head(__cil_tmp4, "&x->wait", & __key);
2320 }
2321#line 76
2322 goto while_break;
2323 }
2324 while_break: ;
2325 }
2326#line 77
2327 return;
2328}
2329}
2330#line 82
2331extern unsigned long wait_for_completion_timeout(struct completion *x , unsigned long timeout ) ;
2332#line 91
2333extern void complete(struct completion * ) ;
2334#line 26 "include/linux/export.h"
2335extern struct module __this_module ;
2336#line 67 "include/linux/module.h"
2337int init_module(void) ;
2338#line 68
2339void cleanup_module(void) ;
2340#line 161 "include/linux/slab.h"
2341extern void kfree(void const * ) ;
2342#line 221 "include/linux/slub_def.h"
2343extern void *__kmalloc(size_t size , gfp_t flags ) ;
2344#line 268
2345__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2346 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2347#line 268 "include/linux/slub_def.h"
2348__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2349 gfp_t flags )
2350{ void *tmp___2 ;
2351
2352 {
2353 {
2354#line 283
2355 tmp___2 = __kmalloc(size, flags);
2356 }
2357#line 283
2358 return (tmp___2);
2359}
2360}
2361#line 349 "include/linux/slab.h"
2362__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2363#line 349 "include/linux/slab.h"
2364__inline static void *kzalloc(size_t size , gfp_t flags )
2365{ void *tmp ;
2366 unsigned int __cil_tmp4 ;
2367
2368 {
2369 {
2370#line 351
2371 __cil_tmp4 = flags | 32768U;
2372#line 351
2373 tmp = kmalloc(size, __cil_tmp4);
2374 }
2375#line 351
2376 return (tmp);
2377}
2378}
2379#line 792 "include/linux/device.h"
2380extern void *dev_get_drvdata(struct device const *dev ) ;
2381#line 793
2382extern int dev_set_drvdata(struct device *dev , void *data ) ;
2383#line 1456 "include/linux/input.h"
2384extern struct input_dev *input_allocate_device(void) ;
2385#line 1457
2386extern void input_free_device(struct input_dev *dev ) ;
2387#line 1470
2388__inline static void *input_get_drvdata(struct input_dev *dev ) __attribute__((__no_instrument_function__)) ;
2389#line 1470 "include/linux/input.h"
2390__inline static void *input_get_drvdata(struct input_dev *dev )
2391{ void *tmp ;
2392 unsigned long __cil_tmp3 ;
2393 unsigned long __cil_tmp4 ;
2394 struct device *__cil_tmp5 ;
2395 struct device const *__cil_tmp6 ;
2396
2397 {
2398 {
2399#line 1472
2400 __cil_tmp3 = (unsigned long )dev;
2401#line 1472
2402 __cil_tmp4 = __cil_tmp3 + 648;
2403#line 1472
2404 __cil_tmp5 = (struct device *)__cil_tmp4;
2405#line 1472
2406 __cil_tmp6 = (struct device const *)__cil_tmp5;
2407#line 1472
2408 tmp = dev_get_drvdata(__cil_tmp6);
2409 }
2410#line 1472
2411 return (tmp);
2412}
2413}
2414#line 1475
2415__inline static void input_set_drvdata(struct input_dev *dev , void *data ) __attribute__((__no_instrument_function__)) ;
2416#line 1475 "include/linux/input.h"
2417__inline static void input_set_drvdata(struct input_dev *dev , void *data )
2418{ unsigned long __cil_tmp3 ;
2419 unsigned long __cil_tmp4 ;
2420 struct device *__cil_tmp5 ;
2421
2422 {
2423 {
2424#line 1477
2425 __cil_tmp3 = (unsigned long )dev;
2426#line 1477
2427 __cil_tmp4 = __cil_tmp3 + 648;
2428#line 1477
2429 __cil_tmp5 = (struct device *)__cil_tmp4;
2430#line 1477
2431 dev_set_drvdata(__cil_tmp5, data);
2432 }
2433#line 1478
2434 return;
2435}
2436}
2437#line 1480
2438extern int __attribute__((__warn_unused_result__)) input_register_device(struct input_dev * ) ;
2439#line 1481
2440extern void input_unregister_device(struct input_dev * ) ;
2441#line 1502
2442extern void input_event(struct input_dev *dev , unsigned int type , unsigned int code ,
2443 int value ) ;
2444#line 1505
2445__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2446 int value ) __attribute__((__no_instrument_function__)) ;
2447#line 1505 "include/linux/input.h"
2448__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2449 int value )
2450{ int __cil_tmp4 ;
2451 int __cil_tmp5 ;
2452
2453 {
2454 {
2455#line 1507
2456 __cil_tmp4 = ! value;
2457#line 1507
2458 __cil_tmp5 = ! __cil_tmp4;
2459#line 1507
2460 input_event(dev, 1U, code, __cil_tmp5);
2461 }
2462#line 1508
2463 return;
2464}
2465}
2466#line 1515
2467__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2468 int value ) __attribute__((__no_instrument_function__)) ;
2469#line 1515 "include/linux/input.h"
2470__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2471 int value )
2472{
2473
2474 {
2475 {
2476#line 1517
2477 input_event(dev, 3U, code, value);
2478 }
2479#line 1518
2480 return;
2481}
2482}
2483#line 1530
2484__inline static void input_sync(struct input_dev *dev ) __attribute__((__no_instrument_function__)) ;
2485#line 1530 "include/linux/input.h"
2486__inline static void input_sync(struct input_dev *dev )
2487{
2488
2489 {
2490 {
2491#line 1532
2492 input_event(dev, 0U, 0U, 0);
2493 }
2494#line 1533
2495 return;
2496}
2497}
2498#line 1557
2499extern void input_alloc_absinfo(struct input_dev *dev ) ;
2500#line 1558
2501extern void input_set_abs_params(struct input_dev *dev , unsigned int axis , int min ,
2502 int max , int fuzz , int flat ) ;
2503#line 1581
2504__inline static void input_abs_set_res(struct input_dev *dev , unsigned int axis ,
2505 int val ) __attribute__((__no_instrument_function__)) ;
2506#line 1581 "include/linux/input.h"
2507__inline static void input_abs_set_res(struct input_dev *dev , unsigned int axis ,
2508 int val )
2509{ unsigned long __cil_tmp4 ;
2510 unsigned long __cil_tmp5 ;
2511 unsigned long __cil_tmp6 ;
2512 unsigned long __cil_tmp7 ;
2513 struct input_absinfo *__cil_tmp8 ;
2514 struct input_absinfo *__cil_tmp9 ;
2515 unsigned long __cil_tmp10 ;
2516 unsigned long __cil_tmp11 ;
2517
2518 {
2519 {
2520#line 1581
2521 input_alloc_absinfo(dev);
2522 }
2523 {
2524#line 1581
2525 __cil_tmp4 = (unsigned long )dev;
2526#line 1581
2527 __cil_tmp5 = __cil_tmp4 + 376;
2528#line 1581
2529 if (*((struct input_absinfo **)__cil_tmp5)) {
2530#line 1581
2531 __cil_tmp6 = (unsigned long )dev;
2532#line 1581
2533 __cil_tmp7 = __cil_tmp6 + 376;
2534#line 1581
2535 __cil_tmp8 = *((struct input_absinfo **)__cil_tmp7);
2536#line 1581
2537 __cil_tmp9 = __cil_tmp8 + axis;
2538#line 1581
2539 __cil_tmp10 = (unsigned long )__cil_tmp9;
2540#line 1581
2541 __cil_tmp11 = __cil_tmp10 + 20;
2542#line 1581
2543 *((__s32 *)__cil_tmp11) = val;
2544 } else {
2545
2546 }
2547 }
2548#line 1581
2549 return;
2550}
2551}
2552#line 38 "include/linux/input/mt.h"
2553extern int input_mt_init_slots(struct input_dev *dev , unsigned int num_slots ) ;
2554#line 46
2555__inline static void input_mt_slot(struct input_dev *dev , int slot ) __attribute__((__no_instrument_function__)) ;
2556#line 46 "include/linux/input/mt.h"
2557__inline static void input_mt_slot(struct input_dev *dev , int slot )
2558{
2559
2560 {
2561 {
2562#line 48
2563 input_event(dev, 3U, 47U, slot);
2564 }
2565#line 49
2566 return;
2567}
2568}
2569#line 61
2570extern void input_mt_report_slot_state(struct input_dev *dev , unsigned int tool_type ,
2571 bool active ) ;
2572#line 65
2573extern void input_mt_report_pointer_emulation(struct input_dev *dev , bool use_count ) ;
2574#line 75 "include/linux/serio.h"
2575extern int serio_open(struct serio *serio , struct serio_driver *drv ) ;
2576#line 76
2577extern void serio_close(struct serio *serio ) ;
2578#line 90
2579extern int __attribute__((__warn_unused_result__)) __serio_register_driver(struct serio_driver *drv ,
2580 struct module *owner ,
2581 char const *mod_name ) ;
2582#line 97
2583extern void serio_unregister_driver(struct serio_driver *drv ) ;
2584#line 99
2585__inline static int serio_write(struct serio *serio , unsigned char data ) __attribute__((__no_instrument_function__)) ;
2586#line 99 "include/linux/serio.h"
2587__inline static int serio_write(struct serio *serio , unsigned char data )
2588{ int tmp ;
2589 unsigned long __cil_tmp4 ;
2590 unsigned long __cil_tmp5 ;
2591 unsigned long __cil_tmp6 ;
2592 unsigned long __cil_tmp7 ;
2593 int (*__cil_tmp8)(struct serio * , unsigned char ) ;
2594
2595 {
2596 {
2597#line 101
2598 __cil_tmp4 = (unsigned long )serio;
2599#line 101
2600 __cil_tmp5 = __cil_tmp4 + 104;
2601#line 101
2602 if (*((int (**)(struct serio * , unsigned char ))__cil_tmp5)) {
2603 {
2604#line 102
2605 __cil_tmp6 = (unsigned long )serio;
2606#line 102
2607 __cil_tmp7 = __cil_tmp6 + 104;
2608#line 102
2609 __cil_tmp8 = *((int (**)(struct serio * , unsigned char ))__cil_tmp7);
2610#line 102
2611 tmp = (*__cil_tmp8)(serio, data);
2612 }
2613#line 102
2614 return (tmp);
2615 } else {
2616#line 104
2617 return (-1);
2618 }
2619 }
2620}
2621}
2622#line 117
2623__inline static void *serio_get_drvdata(struct serio *serio ) __attribute__((__no_instrument_function__)) ;
2624#line 117 "include/linux/serio.h"
2625__inline static void *serio_get_drvdata(struct serio *serio )
2626{ void *tmp ;
2627 unsigned long __cil_tmp3 ;
2628 unsigned long __cil_tmp4 ;
2629 struct device *__cil_tmp5 ;
2630 struct device const *__cil_tmp6 ;
2631
2632 {
2633 {
2634#line 119
2635 __cil_tmp3 = (unsigned long )serio;
2636#line 119
2637 __cil_tmp4 = __cil_tmp3 + 272;
2638#line 119
2639 __cil_tmp5 = (struct device *)__cil_tmp4;
2640#line 119
2641 __cil_tmp6 = (struct device const *)__cil_tmp5;
2642#line 119
2643 tmp = dev_get_drvdata(__cil_tmp6);
2644 }
2645#line 119
2646 return (tmp);
2647}
2648}
2649#line 122
2650__inline static void serio_set_drvdata(struct serio *serio , void *data ) __attribute__((__no_instrument_function__)) ;
2651#line 122 "include/linux/serio.h"
2652__inline static void serio_set_drvdata(struct serio *serio , void *data )
2653{ unsigned long __cil_tmp3 ;
2654 unsigned long __cil_tmp4 ;
2655 struct device *__cil_tmp5 ;
2656
2657 {
2658 {
2659#line 124
2660 __cil_tmp3 = (unsigned long )serio;
2661#line 124
2662 __cil_tmp4 = __cil_tmp3 + 272;
2663#line 124
2664 __cil_tmp5 = (struct device *)__cil_tmp4;
2665#line 124
2666 dev_set_drvdata(__cil_tmp5, data);
2667 }
2668#line 125
2669 return;
2670}
2671}
2672#line 46 "include/linux/delay.h"
2673extern void msleep(unsigned int msecs ) ;
2674#line 28 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2675static char const __mod_author28[45] __attribute__((__used__, __unused__, __section__(".modinfo"),
2676__aligned__(1))) =
2677#line 28 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2678 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
2679 (char const )'o', (char const )'r', (char const )'=', (char const )'J',
2680 (char const )'a', (char const )'y', (char const )'a', (char const )' ',
2681 (char const )'K', (char const )'u', (char const )'m', (char const )'a',
2682 (char const )'r', (char const )' ', (char const )'<', (char const )'j',
2683 (char const )'a', (char const )'y', (char const )'a', (char const )'k',
2684 (char const )'u', (char const )'m', (char const )'a', (char const )'r',
2685 (char const )'.', (char const )'l', (char const )'k', (char const )'m',
2686 (char const )'l', (char const )'@', (char const )'g', (char const )'m',
2687 (char const )'a', (char const )'i', (char const )'l', (char const )'.',
2688 (char const )'c', (char const )'o', (char const )'m', (char const )'>',
2689 (char const )'\000'};
2690#line 29 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2691static char const __mod_description29[50] __attribute__((__used__, __unused__,
2692__section__(".modinfo"), __aligned__(1))) =
2693#line 29
2694 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
2695 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
2696 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
2697 (char const )'W', (char const )'a', (char const )'c', (char const )'o',
2698 (char const )'m', (char const )' ', (char const )'W', (char const )'8',
2699 (char const )'0', (char const )'0', (char const )'1', (char const )' ',
2700 (char const )'s', (char const )'e', (char const )'r', (char const )'i',
2701 (char const )'a', (char const )'l', (char const )' ', (char const )'t',
2702 (char const )'o', (char const )'u', (char const )'c', (char const )'h',
2703 (char const )'s', (char const )'c', (char const )'r', (char const )'e',
2704 (char const )'e', (char const )'n', (char const )' ', (char const )'d',
2705 (char const )'r', (char const )'i', (char const )'v', (char const )'e',
2706 (char const )'r', (char const )'\000'};
2707#line 30 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2708static char const __mod_license30[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
2709__aligned__(1))) =
2710#line 30
2711 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
2712 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
2713 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
2714#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
2715static void parse_pen_data(u8 *data , struct w8001_coord *coord )
2716{ void *__cil_tmp3 ;
2717 u8 *__cil_tmp4 ;
2718 u8 __cil_tmp5 ;
2719 int __cil_tmp6 ;
2720 int __cil_tmp7 ;
2721 unsigned long __cil_tmp8 ;
2722 unsigned long __cil_tmp9 ;
2723 u8 *__cil_tmp10 ;
2724 u8 __cil_tmp11 ;
2725 int __cil_tmp12 ;
2726 int __cil_tmp13 ;
2727 unsigned long __cil_tmp14 ;
2728 unsigned long __cil_tmp15 ;
2729 u8 *__cil_tmp16 ;
2730 u8 __cil_tmp17 ;
2731 int __cil_tmp18 ;
2732 int __cil_tmp19 ;
2733 unsigned long __cil_tmp20 ;
2734 unsigned long __cil_tmp21 ;
2735 u8 *__cil_tmp22 ;
2736 u8 __cil_tmp23 ;
2737 int __cil_tmp24 ;
2738 int __cil_tmp25 ;
2739 unsigned long __cil_tmp26 ;
2740 unsigned long __cil_tmp27 ;
2741 u8 *__cil_tmp28 ;
2742 u8 __cil_tmp29 ;
2743 int __cil_tmp30 ;
2744 int __cil_tmp31 ;
2745 int __cil_tmp32 ;
2746 unsigned long __cil_tmp33 ;
2747 unsigned long __cil_tmp34 ;
2748 u8 *__cil_tmp35 ;
2749 u8 __cil_tmp36 ;
2750 int __cil_tmp37 ;
2751 int __cil_tmp38 ;
2752 int __cil_tmp39 ;
2753 unsigned long __cil_tmp40 ;
2754 unsigned long __cil_tmp41 ;
2755 u16 __cil_tmp42 ;
2756 int __cil_tmp43 ;
2757 int __cil_tmp44 ;
2758 unsigned long __cil_tmp45 ;
2759 unsigned long __cil_tmp46 ;
2760 u8 *__cil_tmp47 ;
2761 u8 __cil_tmp48 ;
2762 int __cil_tmp49 ;
2763 int __cil_tmp50 ;
2764 int __cil_tmp51 ;
2765 unsigned long __cil_tmp52 ;
2766 unsigned long __cil_tmp53 ;
2767 u16 __cil_tmp54 ;
2768 int __cil_tmp55 ;
2769 int __cil_tmp56 ;
2770 unsigned long __cil_tmp57 ;
2771 unsigned long __cil_tmp58 ;
2772 u8 *__cil_tmp59 ;
2773 u8 __cil_tmp60 ;
2774 int __cil_tmp61 ;
2775 int __cil_tmp62 ;
2776 int __cil_tmp63 ;
2777 unsigned long __cil_tmp64 ;
2778 unsigned long __cil_tmp65 ;
2779 u8 *__cil_tmp66 ;
2780 u8 __cil_tmp67 ;
2781 int __cil_tmp68 ;
2782 int __cil_tmp69 ;
2783 int __cil_tmp70 ;
2784 unsigned long __cil_tmp71 ;
2785 unsigned long __cil_tmp72 ;
2786 u16 __cil_tmp73 ;
2787 int __cil_tmp74 ;
2788 int __cil_tmp75 ;
2789 unsigned long __cil_tmp76 ;
2790 unsigned long __cil_tmp77 ;
2791 u8 *__cil_tmp78 ;
2792 u8 __cil_tmp79 ;
2793 int __cil_tmp80 ;
2794 int __cil_tmp81 ;
2795 int __cil_tmp82 ;
2796 unsigned long __cil_tmp83 ;
2797 unsigned long __cil_tmp84 ;
2798 u16 __cil_tmp85 ;
2799 int __cil_tmp86 ;
2800 int __cil_tmp87 ;
2801 unsigned long __cil_tmp88 ;
2802 unsigned long __cil_tmp89 ;
2803 u8 *__cil_tmp90 ;
2804 u8 __cil_tmp91 ;
2805 int __cil_tmp92 ;
2806 int __cil_tmp93 ;
2807 unsigned long __cil_tmp94 ;
2808 unsigned long __cil_tmp95 ;
2809 u8 *__cil_tmp96 ;
2810 u8 __cil_tmp97 ;
2811 int __cil_tmp98 ;
2812 int __cil_tmp99 ;
2813 int __cil_tmp100 ;
2814 unsigned long __cil_tmp101 ;
2815 unsigned long __cil_tmp102 ;
2816 u16 __cil_tmp103 ;
2817 int __cil_tmp104 ;
2818 int __cil_tmp105 ;
2819 unsigned long __cil_tmp106 ;
2820 unsigned long __cil_tmp107 ;
2821 u8 *__cil_tmp108 ;
2822 u8 __cil_tmp109 ;
2823 int __cil_tmp110 ;
2824 int __cil_tmp111 ;
2825 unsigned long __cil_tmp112 ;
2826 unsigned long __cil_tmp113 ;
2827 u8 *__cil_tmp114 ;
2828 u8 __cil_tmp115 ;
2829 int __cil_tmp116 ;
2830 int __cil_tmp117 ;
2831
2832 {
2833 {
2834#line 105
2835 __cil_tmp3 = (void *)coord;
2836#line 105
2837 memset(__cil_tmp3, 0, 12UL);
2838#line 107
2839 __cil_tmp4 = data + 0;
2840#line 107
2841 __cil_tmp5 = *__cil_tmp4;
2842#line 107
2843 __cil_tmp6 = (int )__cil_tmp5;
2844#line 107
2845 __cil_tmp7 = __cil_tmp6 & 32;
2846#line 107
2847 *((u8 *)coord) = (u8 )__cil_tmp7;
2848#line 108
2849 __cil_tmp8 = (unsigned long )coord;
2850#line 108
2851 __cil_tmp9 = __cil_tmp8 + 1;
2852#line 108
2853 __cil_tmp10 = data + 0;
2854#line 108
2855 __cil_tmp11 = *__cil_tmp10;
2856#line 108
2857 __cil_tmp12 = (int )__cil_tmp11;
2858#line 108
2859 __cil_tmp13 = __cil_tmp12 & 1;
2860#line 108
2861 *((u8 *)__cil_tmp9) = (u8 )__cil_tmp13;
2862#line 109
2863 __cil_tmp14 = (unsigned long )coord;
2864#line 109
2865 __cil_tmp15 = __cil_tmp14 + 2;
2866#line 109
2867 __cil_tmp16 = data + 0;
2868#line 109
2869 __cil_tmp17 = *__cil_tmp16;
2870#line 109
2871 __cil_tmp18 = (int )__cil_tmp17;
2872#line 109
2873 __cil_tmp19 = __cil_tmp18 & 2;
2874#line 109
2875 *((u8 *)__cil_tmp15) = (u8 )__cil_tmp19;
2876#line 110
2877 __cil_tmp20 = (unsigned long )coord;
2878#line 110
2879 __cil_tmp21 = __cil_tmp20 + 3;
2880#line 110
2881 __cil_tmp22 = data + 0;
2882#line 110
2883 __cil_tmp23 = *__cil_tmp22;
2884#line 110
2885 __cil_tmp24 = (int )__cil_tmp23;
2886#line 110
2887 __cil_tmp25 = __cil_tmp24 & 4;
2888#line 110
2889 *((u8 *)__cil_tmp21) = (u8 )__cil_tmp25;
2890#line 112
2891 __cil_tmp26 = (unsigned long )coord;
2892#line 112
2893 __cil_tmp27 = __cil_tmp26 + 4;
2894#line 112
2895 __cil_tmp28 = data + 1;
2896#line 112
2897 __cil_tmp29 = *__cil_tmp28;
2898#line 112
2899 __cil_tmp30 = (int )__cil_tmp29;
2900#line 112
2901 __cil_tmp31 = __cil_tmp30 & 127;
2902#line 112
2903 __cil_tmp32 = __cil_tmp31 << 9;
2904#line 112
2905 *((u16 *)__cil_tmp27) = (u16 )__cil_tmp32;
2906#line 113
2907 __cil_tmp33 = (unsigned long )coord;
2908#line 113
2909 __cil_tmp34 = __cil_tmp33 + 4;
2910#line 113
2911 __cil_tmp35 = data + 2;
2912#line 113
2913 __cil_tmp36 = *__cil_tmp35;
2914#line 113
2915 __cil_tmp37 = (int )__cil_tmp36;
2916#line 113
2917 __cil_tmp38 = __cil_tmp37 & 127;
2918#line 113
2919 __cil_tmp39 = __cil_tmp38 << 2;
2920#line 113
2921 __cil_tmp40 = (unsigned long )coord;
2922#line 113
2923 __cil_tmp41 = __cil_tmp40 + 4;
2924#line 113
2925 __cil_tmp42 = *((u16 *)__cil_tmp41);
2926#line 113
2927 __cil_tmp43 = (int )__cil_tmp42;
2928#line 113
2929 __cil_tmp44 = __cil_tmp43 | __cil_tmp39;
2930#line 113
2931 *((u16 *)__cil_tmp34) = (u16 )__cil_tmp44;
2932#line 114
2933 __cil_tmp45 = (unsigned long )coord;
2934#line 114
2935 __cil_tmp46 = __cil_tmp45 + 4;
2936#line 114
2937 __cil_tmp47 = data + 6;
2938#line 114
2939 __cil_tmp48 = *__cil_tmp47;
2940#line 114
2941 __cil_tmp49 = (int )__cil_tmp48;
2942#line 114
2943 __cil_tmp50 = __cil_tmp49 & 96;
2944#line 114
2945 __cil_tmp51 = __cil_tmp50 >> 5;
2946#line 114
2947 __cil_tmp52 = (unsigned long )coord;
2948#line 114
2949 __cil_tmp53 = __cil_tmp52 + 4;
2950#line 114
2951 __cil_tmp54 = *((u16 *)__cil_tmp53);
2952#line 114
2953 __cil_tmp55 = (int )__cil_tmp54;
2954#line 114
2955 __cil_tmp56 = __cil_tmp55 | __cil_tmp51;
2956#line 114
2957 *((u16 *)__cil_tmp46) = (u16 )__cil_tmp56;
2958#line 116
2959 __cil_tmp57 = (unsigned long )coord;
2960#line 116
2961 __cil_tmp58 = __cil_tmp57 + 6;
2962#line 116
2963 __cil_tmp59 = data + 3;
2964#line 116
2965 __cil_tmp60 = *__cil_tmp59;
2966#line 116
2967 __cil_tmp61 = (int )__cil_tmp60;
2968#line 116
2969 __cil_tmp62 = __cil_tmp61 & 127;
2970#line 116
2971 __cil_tmp63 = __cil_tmp62 << 9;
2972#line 116
2973 *((u16 *)__cil_tmp58) = (u16 )__cil_tmp63;
2974#line 117
2975 __cil_tmp64 = (unsigned long )coord;
2976#line 117
2977 __cil_tmp65 = __cil_tmp64 + 6;
2978#line 117
2979 __cil_tmp66 = data + 4;
2980#line 117
2981 __cil_tmp67 = *__cil_tmp66;
2982#line 117
2983 __cil_tmp68 = (int )__cil_tmp67;
2984#line 117
2985 __cil_tmp69 = __cil_tmp68 & 127;
2986#line 117
2987 __cil_tmp70 = __cil_tmp69 << 2;
2988#line 117
2989 __cil_tmp71 = (unsigned long )coord;
2990#line 117
2991 __cil_tmp72 = __cil_tmp71 + 6;
2992#line 117
2993 __cil_tmp73 = *((u16 *)__cil_tmp72);
2994#line 117
2995 __cil_tmp74 = (int )__cil_tmp73;
2996#line 117
2997 __cil_tmp75 = __cil_tmp74 | __cil_tmp70;
2998#line 117
2999 *((u16 *)__cil_tmp65) = (u16 )__cil_tmp75;
3000#line 118
3001 __cil_tmp76 = (unsigned long )coord;
3002#line 118
3003 __cil_tmp77 = __cil_tmp76 + 6;
3004#line 118
3005 __cil_tmp78 = data + 6;
3006#line 118
3007 __cil_tmp79 = *__cil_tmp78;
3008#line 118
3009 __cil_tmp80 = (int )__cil_tmp79;
3010#line 118
3011 __cil_tmp81 = __cil_tmp80 & 24;
3012#line 118
3013 __cil_tmp82 = __cil_tmp81 >> 3;
3014#line 118
3015 __cil_tmp83 = (unsigned long )coord;
3016#line 118
3017 __cil_tmp84 = __cil_tmp83 + 6;
3018#line 118
3019 __cil_tmp85 = *((u16 *)__cil_tmp84);
3020#line 118
3021 __cil_tmp86 = (int )__cil_tmp85;
3022#line 118
3023 __cil_tmp87 = __cil_tmp86 | __cil_tmp82;
3024#line 118
3025 *((u16 *)__cil_tmp77) = (u16 )__cil_tmp87;
3026#line 120
3027 __cil_tmp88 = (unsigned long )coord;
3028#line 120
3029 __cil_tmp89 = __cil_tmp88 + 8;
3030#line 120
3031 __cil_tmp90 = data + 5;
3032#line 120
3033 __cil_tmp91 = *__cil_tmp90;
3034#line 120
3035 __cil_tmp92 = (int )__cil_tmp91;
3036#line 120
3037 __cil_tmp93 = __cil_tmp92 & 127;
3038#line 120
3039 *((u16 *)__cil_tmp89) = (u16 )__cil_tmp93;
3040#line 121
3041 __cil_tmp94 = (unsigned long )coord;
3042#line 121
3043 __cil_tmp95 = __cil_tmp94 + 8;
3044#line 121
3045 __cil_tmp96 = data + 6;
3046#line 121
3047 __cil_tmp97 = *__cil_tmp96;
3048#line 121
3049 __cil_tmp98 = (int )__cil_tmp97;
3050#line 121
3051 __cil_tmp99 = __cil_tmp98 & 7;
3052#line 121
3053 __cil_tmp100 = __cil_tmp99 << 7;
3054#line 121
3055 __cil_tmp101 = (unsigned long )coord;
3056#line 121
3057 __cil_tmp102 = __cil_tmp101 + 8;
3058#line 121
3059 __cil_tmp103 = *((u16 *)__cil_tmp102);
3060#line 121
3061 __cil_tmp104 = (int )__cil_tmp103;
3062#line 121
3063 __cil_tmp105 = __cil_tmp104 | __cil_tmp100;
3064#line 121
3065 *((u16 *)__cil_tmp95) = (u16 )__cil_tmp105;
3066#line 123
3067 __cil_tmp106 = (unsigned long )coord;
3068#line 123
3069 __cil_tmp107 = __cil_tmp106 + 10;
3070#line 123
3071 __cil_tmp108 = data + 7;
3072#line 123
3073 __cil_tmp109 = *__cil_tmp108;
3074#line 123
3075 __cil_tmp110 = (int )__cil_tmp109;
3076#line 123
3077 __cil_tmp111 = __cil_tmp110 & 127;
3078#line 123
3079 *((u8 *)__cil_tmp107) = (u8 )__cil_tmp111;
3080#line 124
3081 __cil_tmp112 = (unsigned long )coord;
3082#line 124
3083 __cil_tmp113 = __cil_tmp112 + 11;
3084#line 124
3085 __cil_tmp114 = data + 8;
3086#line 124
3087 __cil_tmp115 = *__cil_tmp114;
3088#line 124
3089 __cil_tmp116 = (int )__cil_tmp115;
3090#line 124
3091 __cil_tmp117 = __cil_tmp116 & 127;
3092#line 124
3093 *((u8 *)__cil_tmp113) = (u8 )__cil_tmp117;
3094 }
3095#line 125
3096 return;
3097}
3098}
3099#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3100static void parse_single_touch(u8 *data , struct w8001_coord *coord )
3101{ unsigned long __cil_tmp3 ;
3102 unsigned long __cil_tmp4 ;
3103 u8 *__cil_tmp5 ;
3104 u8 __cil_tmp6 ;
3105 int __cil_tmp7 ;
3106 u8 *__cil_tmp8 ;
3107 u8 __cil_tmp9 ;
3108 int __cil_tmp10 ;
3109 int __cil_tmp11 ;
3110 int __cil_tmp12 ;
3111 unsigned long __cil_tmp13 ;
3112 unsigned long __cil_tmp14 ;
3113 u8 *__cil_tmp15 ;
3114 u8 __cil_tmp16 ;
3115 int __cil_tmp17 ;
3116 u8 *__cil_tmp18 ;
3117 u8 __cil_tmp19 ;
3118 int __cil_tmp20 ;
3119 int __cil_tmp21 ;
3120 int __cil_tmp22 ;
3121 unsigned long __cil_tmp23 ;
3122 unsigned long __cil_tmp24 ;
3123 u8 *__cil_tmp25 ;
3124 u8 __cil_tmp26 ;
3125 int __cil_tmp27 ;
3126 int __cil_tmp28 ;
3127
3128 {
3129#line 129
3130 __cil_tmp3 = (unsigned long )coord;
3131#line 129
3132 __cil_tmp4 = __cil_tmp3 + 4;
3133#line 129
3134 __cil_tmp5 = data + 2;
3135#line 129
3136 __cil_tmp6 = *__cil_tmp5;
3137#line 129
3138 __cil_tmp7 = (int )__cil_tmp6;
3139#line 129
3140 __cil_tmp8 = data + 1;
3141#line 129
3142 __cil_tmp9 = *__cil_tmp8;
3143#line 129
3144 __cil_tmp10 = (int )__cil_tmp9;
3145#line 129
3146 __cil_tmp11 = __cil_tmp10 << 7;
3147#line 129
3148 __cil_tmp12 = __cil_tmp11 | __cil_tmp7;
3149#line 129
3150 *((u16 *)__cil_tmp4) = (u16 )__cil_tmp12;
3151#line 130
3152 __cil_tmp13 = (unsigned long )coord;
3153#line 130
3154 __cil_tmp14 = __cil_tmp13 + 6;
3155#line 130
3156 __cil_tmp15 = data + 4;
3157#line 130
3158 __cil_tmp16 = *__cil_tmp15;
3159#line 130
3160 __cil_tmp17 = (int )__cil_tmp16;
3161#line 130
3162 __cil_tmp18 = data + 3;
3163#line 130
3164 __cil_tmp19 = *__cil_tmp18;
3165#line 130
3166 __cil_tmp20 = (int )__cil_tmp19;
3167#line 130
3168 __cil_tmp21 = __cil_tmp20 << 7;
3169#line 130
3170 __cil_tmp22 = __cil_tmp21 | __cil_tmp17;
3171#line 130
3172 *((u16 *)__cil_tmp14) = (u16 )__cil_tmp22;
3173#line 131
3174 __cil_tmp23 = (unsigned long )coord;
3175#line 131
3176 __cil_tmp24 = __cil_tmp23 + 1;
3177#line 131
3178 __cil_tmp25 = data + 0;
3179#line 131
3180 __cil_tmp26 = *__cil_tmp25;
3181#line 131
3182 __cil_tmp27 = (int )__cil_tmp26;
3183#line 131
3184 __cil_tmp28 = __cil_tmp27 & 1;
3185#line 131
3186 *((u8 *)__cil_tmp24) = (u8 )__cil_tmp28;
3187#line 132
3188 return;
3189}
3190}
3191#line 134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3192static void scale_touch_coordinates(struct w8001 *w8001 , unsigned int *x , unsigned int *y )
3193{ unsigned long __cil_tmp4 ;
3194 unsigned long __cil_tmp5 ;
3195 unsigned long __cil_tmp6 ;
3196 unsigned long __cil_tmp7 ;
3197 unsigned long __cil_tmp8 ;
3198 unsigned long __cil_tmp9 ;
3199 u16 __cil_tmp10 ;
3200 unsigned int __cil_tmp11 ;
3201 unsigned long __cil_tmp12 ;
3202 unsigned long __cil_tmp13 ;
3203 u16 __cil_tmp14 ;
3204 unsigned int __cil_tmp15 ;
3205 unsigned int __cil_tmp16 ;
3206 unsigned int __cil_tmp17 ;
3207 unsigned long __cil_tmp18 ;
3208 unsigned long __cil_tmp19 ;
3209 unsigned long __cil_tmp20 ;
3210 unsigned long __cil_tmp21 ;
3211 unsigned long __cil_tmp22 ;
3212 unsigned long __cil_tmp23 ;
3213 u16 __cil_tmp24 ;
3214 unsigned int __cil_tmp25 ;
3215 unsigned long __cil_tmp26 ;
3216 unsigned long __cil_tmp27 ;
3217 u16 __cil_tmp28 ;
3218 unsigned int __cil_tmp29 ;
3219 unsigned int __cil_tmp30 ;
3220 unsigned int __cil_tmp31 ;
3221
3222 {
3223 {
3224#line 137
3225 __cil_tmp4 = (unsigned long )w8001;
3226#line 137
3227 __cil_tmp5 = __cil_tmp4 + 140;
3228#line 137
3229 if (*((u16 *)__cil_tmp5)) {
3230 {
3231#line 137
3232 __cil_tmp6 = (unsigned long )w8001;
3233#line 137
3234 __cil_tmp7 = __cil_tmp6 + 136;
3235#line 137
3236 if (*((u16 *)__cil_tmp7)) {
3237#line 138
3238 __cil_tmp8 = (unsigned long )w8001;
3239#line 138
3240 __cil_tmp9 = __cil_tmp8 + 136;
3241#line 138
3242 __cil_tmp10 = *((u16 *)__cil_tmp9);
3243#line 138
3244 __cil_tmp11 = (unsigned int )__cil_tmp10;
3245#line 138
3246 __cil_tmp12 = (unsigned long )w8001;
3247#line 138
3248 __cil_tmp13 = __cil_tmp12 + 140;
3249#line 138
3250 __cil_tmp14 = *((u16 *)__cil_tmp13);
3251#line 138
3252 __cil_tmp15 = (unsigned int )__cil_tmp14;
3253#line 138
3254 __cil_tmp16 = *x;
3255#line 138
3256 __cil_tmp17 = __cil_tmp16 * __cil_tmp15;
3257#line 138
3258 *x = __cil_tmp17 / __cil_tmp11;
3259 } else {
3260
3261 }
3262 }
3263 } else {
3264
3265 }
3266 }
3267 {
3268#line 140
3269 __cil_tmp18 = (unsigned long )w8001;
3270#line 140
3271 __cil_tmp19 = __cil_tmp18 + 142;
3272#line 140
3273 if (*((u16 *)__cil_tmp19)) {
3274 {
3275#line 140
3276 __cil_tmp20 = (unsigned long )w8001;
3277#line 140
3278 __cil_tmp21 = __cil_tmp20 + 138;
3279#line 140
3280 if (*((u16 *)__cil_tmp21)) {
3281#line 141
3282 __cil_tmp22 = (unsigned long )w8001;
3283#line 141
3284 __cil_tmp23 = __cil_tmp22 + 138;
3285#line 141
3286 __cil_tmp24 = *((u16 *)__cil_tmp23);
3287#line 141
3288 __cil_tmp25 = (unsigned int )__cil_tmp24;
3289#line 141
3290 __cil_tmp26 = (unsigned long )w8001;
3291#line 141
3292 __cil_tmp27 = __cil_tmp26 + 142;
3293#line 141
3294 __cil_tmp28 = *((u16 *)__cil_tmp27);
3295#line 141
3296 __cil_tmp29 = (unsigned int )__cil_tmp28;
3297#line 141
3298 __cil_tmp30 = *y;
3299#line 141
3300 __cil_tmp31 = __cil_tmp30 * __cil_tmp29;
3301#line 141
3302 *y = __cil_tmp31 / __cil_tmp25;
3303 } else {
3304
3305 }
3306 }
3307 } else {
3308
3309 }
3310 }
3311#line 142
3312 return;
3313}
3314}
3315#line 144 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3316static void parse_multi_touch(struct w8001 *w8001 )
3317{ struct input_dev *dev ;
3318 unsigned char *data ;
3319 unsigned int x ;
3320 unsigned int y ;
3321 int i ;
3322 int count ;
3323 bool touch ;
3324 unsigned long __cil_tmp9 ;
3325 unsigned long __cil_tmp10 ;
3326 unsigned long __cil_tmp11 ;
3327 unsigned long __cil_tmp12 ;
3328 int __cil_tmp13 ;
3329 unsigned char *__cil_tmp14 ;
3330 unsigned char __cil_tmp15 ;
3331 int __cil_tmp16 ;
3332 int __cil_tmp17 ;
3333 unsigned int *__cil_tmp18 ;
3334 int __cil_tmp19 ;
3335 int __cil_tmp20 ;
3336 unsigned char *__cil_tmp21 ;
3337 unsigned char __cil_tmp22 ;
3338 int __cil_tmp23 ;
3339 int __cil_tmp24 ;
3340 int __cil_tmp25 ;
3341 unsigned char *__cil_tmp26 ;
3342 unsigned char __cil_tmp27 ;
3343 int __cil_tmp28 ;
3344 int __cil_tmp29 ;
3345 int __cil_tmp30 ;
3346 unsigned int *__cil_tmp31 ;
3347 int __cil_tmp32 ;
3348 int __cil_tmp33 ;
3349 unsigned char *__cil_tmp34 ;
3350 unsigned char __cil_tmp35 ;
3351 int __cil_tmp36 ;
3352 int __cil_tmp37 ;
3353 int __cil_tmp38 ;
3354 unsigned char *__cil_tmp39 ;
3355 unsigned char __cil_tmp40 ;
3356 int __cil_tmp41 ;
3357 int __cil_tmp42 ;
3358 int __cil_tmp43 ;
3359 unsigned int *__cil_tmp44 ;
3360 unsigned int __cil_tmp45 ;
3361 int __cil_tmp46 ;
3362 unsigned int *__cil_tmp47 ;
3363 unsigned int __cil_tmp48 ;
3364 int __cil_tmp49 ;
3365 unsigned long __cil_tmp50 ;
3366 unsigned long __cil_tmp51 ;
3367 int __cil_tmp52 ;
3368 unsigned long __cil_tmp53 ;
3369 unsigned long __cil_tmp54 ;
3370 int __cil_tmp55 ;
3371 unsigned long __cil_tmp56 ;
3372 unsigned long __cil_tmp57 ;
3373 unsigned long __cil_tmp58 ;
3374 unsigned long __cil_tmp59 ;
3375 bool __cil_tmp60 ;
3376
3377 {
3378#line 146
3379 dev = *((struct input_dev **)w8001);
3380#line 147
3381 __cil_tmp9 = 0 * 1UL;
3382#line 147
3383 __cil_tmp10 = 84 + __cil_tmp9;
3384#line 147
3385 __cil_tmp11 = (unsigned long )w8001;
3386#line 147
3387 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
3388#line 147
3389 data = (unsigned char *)__cil_tmp12;
3390#line 150
3391 count = 0;
3392#line 152
3393 i = 0;
3394 {
3395#line 152
3396 while (1) {
3397 while_continue: ;
3398#line 152
3399 if (i < 2) {
3400
3401 } else {
3402#line 152
3403 goto while_break;
3404 }
3405 {
3406#line 153
3407 __cil_tmp13 = 1 << i;
3408#line 153
3409 __cil_tmp14 = data + 0;
3410#line 153
3411 __cil_tmp15 = *__cil_tmp14;
3412#line 153
3413 __cil_tmp16 = (int )__cil_tmp15;
3414#line 153
3415 __cil_tmp17 = __cil_tmp16 & __cil_tmp13;
3416#line 153
3417 touch = (bool )__cil_tmp17;
3418#line 155
3419 input_mt_slot(dev, i);
3420#line 156
3421 input_mt_report_slot_state(dev, 0U, touch);
3422 }
3423#line 157
3424 if (touch) {
3425 {
3426#line 158
3427 __cil_tmp18 = & x;
3428#line 158
3429 __cil_tmp19 = 6 * i;
3430#line 158
3431 __cil_tmp20 = __cil_tmp19 + 2;
3432#line 158
3433 __cil_tmp21 = data + __cil_tmp20;
3434#line 158
3435 __cil_tmp22 = *__cil_tmp21;
3436#line 158
3437 __cil_tmp23 = (int )__cil_tmp22;
3438#line 158
3439 __cil_tmp24 = 6 * i;
3440#line 158
3441 __cil_tmp25 = __cil_tmp24 + 1;
3442#line 158
3443 __cil_tmp26 = data + __cil_tmp25;
3444#line 158
3445 __cil_tmp27 = *__cil_tmp26;
3446#line 158
3447 __cil_tmp28 = (int )__cil_tmp27;
3448#line 158
3449 __cil_tmp29 = __cil_tmp28 << 7;
3450#line 158
3451 __cil_tmp30 = __cil_tmp29 | __cil_tmp23;
3452#line 158
3453 *__cil_tmp18 = (unsigned int )__cil_tmp30;
3454#line 159
3455 __cil_tmp31 = & y;
3456#line 159
3457 __cil_tmp32 = 6 * i;
3458#line 159
3459 __cil_tmp33 = __cil_tmp32 + 4;
3460#line 159
3461 __cil_tmp34 = data + __cil_tmp33;
3462#line 159
3463 __cil_tmp35 = *__cil_tmp34;
3464#line 159
3465 __cil_tmp36 = (int )__cil_tmp35;
3466#line 159
3467 __cil_tmp37 = 6 * i;
3468#line 159
3469 __cil_tmp38 = __cil_tmp37 + 3;
3470#line 159
3471 __cil_tmp39 = data + __cil_tmp38;
3472#line 159
3473 __cil_tmp40 = *__cil_tmp39;
3474#line 159
3475 __cil_tmp41 = (int )__cil_tmp40;
3476#line 159
3477 __cil_tmp42 = __cil_tmp41 << 7;
3478#line 159
3479 __cil_tmp43 = __cil_tmp42 | __cil_tmp36;
3480#line 159
3481 *__cil_tmp31 = (unsigned int )__cil_tmp43;
3482#line 163
3483 scale_touch_coordinates(w8001, & x, & y);
3484#line 165
3485 __cil_tmp44 = & x;
3486#line 165
3487 __cil_tmp45 = *__cil_tmp44;
3488#line 165
3489 __cil_tmp46 = (int )__cil_tmp45;
3490#line 165
3491 input_report_abs(dev, 53U, __cil_tmp46);
3492#line 166
3493 __cil_tmp47 = & y;
3494#line 166
3495 __cil_tmp48 = *__cil_tmp47;
3496#line 166
3497 __cil_tmp49 = (int )__cil_tmp48;
3498#line 166
3499 input_report_abs(dev, 54U, __cil_tmp49);
3500#line 167
3501 count = count + 1;
3502 }
3503 } else {
3504
3505 }
3506#line 152
3507 i = i + 1;
3508 }
3509 while_break: ;
3510 }
3511 {
3512#line 175
3513 __cil_tmp50 = (unsigned long )w8001;
3514#line 175
3515 __cil_tmp51 = __cil_tmp50 + 128;
3516#line 175
3517 __cil_tmp52 = *((int *)__cil_tmp51);
3518#line 175
3519 if (__cil_tmp52 != 320) {
3520 {
3521#line 175
3522 __cil_tmp53 = (unsigned long )w8001;
3523#line 175
3524 __cil_tmp54 = __cil_tmp53 + 128;
3525#line 175
3526 __cil_tmp55 = *((int *)__cil_tmp54);
3527#line 175
3528 if (__cil_tmp55 != 321) {
3529#line 177
3530 if (count == 1) {
3531#line 177
3532 __cil_tmp56 = (unsigned long )w8001;
3533#line 177
3534 __cil_tmp57 = __cil_tmp56 + 128;
3535#line 177
3536 *((int *)__cil_tmp57) = 325;
3537 } else {
3538#line 177
3539 __cil_tmp58 = (unsigned long )w8001;
3540#line 177
3541 __cil_tmp59 = __cil_tmp58 + 128;
3542#line 177
3543 *((int *)__cil_tmp59) = 0;
3544 }
3545 {
3546#line 178
3547 __cil_tmp60 = (bool )1;
3548#line 178
3549 input_mt_report_pointer_emulation(dev, __cil_tmp60);
3550 }
3551 } else {
3552
3553 }
3554 }
3555 } else {
3556
3557 }
3558 }
3559 {
3560#line 181
3561 input_sync(dev);
3562 }
3563#line 182
3564 return;
3565}
3566}
3567#line 184 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3568static void parse_touchquery(u8 *data , struct w8001_touch_query *query )
3569{ u16 tmp ;
3570 void *__cil_tmp4 ;
3571 unsigned long __cil_tmp5 ;
3572 unsigned long __cil_tmp6 ;
3573 u8 *__cil_tmp7 ;
3574 unsigned long __cil_tmp8 ;
3575 unsigned long __cil_tmp9 ;
3576 u8 *__cil_tmp10 ;
3577 u8 __cil_tmp11 ;
3578 int __cil_tmp12 ;
3579 int __cil_tmp13 ;
3580 unsigned long __cil_tmp14 ;
3581 unsigned long __cil_tmp15 ;
3582 u8 *__cil_tmp16 ;
3583 u8 *__cil_tmp17 ;
3584 u8 __cil_tmp18 ;
3585 int __cil_tmp19 ;
3586 int __cil_tmp20 ;
3587 u8 *__cil_tmp21 ;
3588 u8 __cil_tmp22 ;
3589 int __cil_tmp23 ;
3590 int __cil_tmp24 ;
3591 u16 __cil_tmp25 ;
3592 int __cil_tmp26 ;
3593 int __cil_tmp27 ;
3594 u8 *__cil_tmp28 ;
3595 u8 __cil_tmp29 ;
3596 int __cil_tmp30 ;
3597 int __cil_tmp31 ;
3598 int __cil_tmp32 ;
3599 u16 __cil_tmp33 ;
3600 int __cil_tmp34 ;
3601 int __cil_tmp35 ;
3602 unsigned long __cil_tmp36 ;
3603 unsigned long __cil_tmp37 ;
3604 u8 *__cil_tmp38 ;
3605 u8 __cil_tmp39 ;
3606 int __cil_tmp40 ;
3607 int __cil_tmp41 ;
3608 unsigned long __cil_tmp42 ;
3609 unsigned long __cil_tmp43 ;
3610 u8 *__cil_tmp44 ;
3611 u8 __cil_tmp45 ;
3612 int __cil_tmp46 ;
3613 int __cil_tmp47 ;
3614 unsigned long __cil_tmp48 ;
3615 unsigned long __cil_tmp49 ;
3616 u16 __cil_tmp50 ;
3617 int __cil_tmp51 ;
3618 int __cil_tmp52 ;
3619 unsigned long __cil_tmp53 ;
3620 unsigned long __cil_tmp54 ;
3621 u8 *__cil_tmp55 ;
3622 u8 __cil_tmp56 ;
3623 int __cil_tmp57 ;
3624 int __cil_tmp58 ;
3625 int __cil_tmp59 ;
3626 unsigned long __cil_tmp60 ;
3627 unsigned long __cil_tmp61 ;
3628 u16 __cil_tmp62 ;
3629 int __cil_tmp63 ;
3630 int __cil_tmp64 ;
3631 u16 __cil_tmp65 ;
3632 unsigned long __cil_tmp66 ;
3633 unsigned long __cil_tmp67 ;
3634 u16 __cil_tmp68 ;
3635 unsigned long __cil_tmp69 ;
3636 unsigned long __cil_tmp70 ;
3637 unsigned long __cil_tmp71 ;
3638 unsigned long __cil_tmp72 ;
3639 unsigned long __cil_tmp73 ;
3640 unsigned long __cil_tmp74 ;
3641 u8 __cil_tmp75 ;
3642 int __cil_tmp76 ;
3643 int __cil_tmp77 ;
3644 unsigned long __cil_tmp78 ;
3645 unsigned long __cil_tmp79 ;
3646 unsigned long __cil_tmp80 ;
3647 unsigned long __cil_tmp81 ;
3648
3649 {
3650 {
3651#line 186
3652 __cil_tmp4 = (void *)query;
3653#line 186
3654 memset(__cil_tmp4, 0, 8UL);
3655#line 188
3656 __cil_tmp5 = (unsigned long )query;
3657#line 188
3658 __cil_tmp6 = __cil_tmp5 + 4;
3659#line 188
3660 __cil_tmp7 = data + 1;
3661#line 188
3662 *((u8 *)__cil_tmp6) = *__cil_tmp7;
3663#line 189
3664 __cil_tmp8 = (unsigned long )query;
3665#line 189
3666 __cil_tmp9 = __cil_tmp8 + 6;
3667#line 189
3668 __cil_tmp10 = data + 2;
3669#line 189
3670 __cil_tmp11 = *__cil_tmp10;
3671#line 189
3672 __cil_tmp12 = (int )__cil_tmp11;
3673#line 189
3674 __cil_tmp13 = __cil_tmp12 & 7;
3675#line 189
3676 *((u8 *)__cil_tmp9) = (u8 )__cil_tmp13;
3677#line 190
3678 __cil_tmp14 = (unsigned long )query;
3679#line 190
3680 __cil_tmp15 = __cil_tmp14 + 5;
3681#line 190
3682 __cil_tmp16 = data + 7;
3683#line 190
3684 *((u8 *)__cil_tmp15) = *__cil_tmp16;
3685#line 192
3686 __cil_tmp17 = data + 3;
3687#line 192
3688 __cil_tmp18 = *__cil_tmp17;
3689#line 192
3690 __cil_tmp19 = (int )__cil_tmp18;
3691#line 192
3692 __cil_tmp20 = __cil_tmp19 << 9;
3693#line 192
3694 *((u16 *)query) = (u16 )__cil_tmp20;
3695#line 193
3696 __cil_tmp21 = data + 4;
3697#line 193
3698 __cil_tmp22 = *__cil_tmp21;
3699#line 193
3700 __cil_tmp23 = (int )__cil_tmp22;
3701#line 193
3702 __cil_tmp24 = __cil_tmp23 << 2;
3703#line 193
3704 __cil_tmp25 = *((u16 *)query);
3705#line 193
3706 __cil_tmp26 = (int )__cil_tmp25;
3707#line 193
3708 __cil_tmp27 = __cil_tmp26 | __cil_tmp24;
3709#line 193
3710 *((u16 *)query) = (u16 )__cil_tmp27;
3711#line 194
3712 __cil_tmp28 = data + 2;
3713#line 194
3714 __cil_tmp29 = *__cil_tmp28;
3715#line 194
3716 __cil_tmp30 = (int )__cil_tmp29;
3717#line 194
3718 __cil_tmp31 = __cil_tmp30 >> 5;
3719#line 194
3720 __cil_tmp32 = __cil_tmp31 & 3;
3721#line 194
3722 __cil_tmp33 = *((u16 *)query);
3723#line 194
3724 __cil_tmp34 = (int )__cil_tmp33;
3725#line 194
3726 __cil_tmp35 = __cil_tmp34 | __cil_tmp32;
3727#line 194
3728 *((u16 *)query) = (u16 )__cil_tmp35;
3729#line 196
3730 __cil_tmp36 = (unsigned long )query;
3731#line 196
3732 __cil_tmp37 = __cil_tmp36 + 2;
3733#line 196
3734 __cil_tmp38 = data + 5;
3735#line 196
3736 __cil_tmp39 = *__cil_tmp38;
3737#line 196
3738 __cil_tmp40 = (int )__cil_tmp39;
3739#line 196
3740 __cil_tmp41 = __cil_tmp40 << 9;
3741#line 196
3742 *((u16 *)__cil_tmp37) = (u16 )__cil_tmp41;
3743#line 197
3744 __cil_tmp42 = (unsigned long )query;
3745#line 197
3746 __cil_tmp43 = __cil_tmp42 + 2;
3747#line 197
3748 __cil_tmp44 = data + 6;
3749#line 197
3750 __cil_tmp45 = *__cil_tmp44;
3751#line 197
3752 __cil_tmp46 = (int )__cil_tmp45;
3753#line 197
3754 __cil_tmp47 = __cil_tmp46 << 2;
3755#line 197
3756 __cil_tmp48 = (unsigned long )query;
3757#line 197
3758 __cil_tmp49 = __cil_tmp48 + 2;
3759#line 197
3760 __cil_tmp50 = *((u16 *)__cil_tmp49);
3761#line 197
3762 __cil_tmp51 = (int )__cil_tmp50;
3763#line 197
3764 __cil_tmp52 = __cil_tmp51 | __cil_tmp47;
3765#line 197
3766 *((u16 *)__cil_tmp43) = (u16 )__cil_tmp52;
3767#line 198
3768 __cil_tmp53 = (unsigned long )query;
3769#line 198
3770 __cil_tmp54 = __cil_tmp53 + 2;
3771#line 198
3772 __cil_tmp55 = data + 2;
3773#line 198
3774 __cil_tmp56 = *__cil_tmp55;
3775#line 198
3776 __cil_tmp57 = (int )__cil_tmp56;
3777#line 198
3778 __cil_tmp58 = __cil_tmp57 >> 3;
3779#line 198
3780 __cil_tmp59 = __cil_tmp58 & 3;
3781#line 198
3782 __cil_tmp60 = (unsigned long )query;
3783#line 198
3784 __cil_tmp61 = __cil_tmp60 + 2;
3785#line 198
3786 __cil_tmp62 = *((u16 *)__cil_tmp61);
3787#line 198
3788 __cil_tmp63 = (int )__cil_tmp62;
3789#line 198
3790 __cil_tmp64 = __cil_tmp63 | __cil_tmp59;
3791#line 198
3792 *((u16 *)__cil_tmp54) = (u16 )__cil_tmp64;
3793 }
3794 {
3795#line 201
3796 __cil_tmp65 = *((u16 *)query);
3797#line 201
3798 if (! __cil_tmp65) {
3799 {
3800#line 201
3801 __cil_tmp66 = (unsigned long )query;
3802#line 201
3803 __cil_tmp67 = __cil_tmp66 + 2;
3804#line 201
3805 __cil_tmp68 = *((u16 *)__cil_tmp67);
3806#line 201
3807 if (! __cil_tmp68) {
3808#line 202
3809 *((u16 *)query) = (u16 )1024;
3810#line 203
3811 __cil_tmp69 = (unsigned long )query;
3812#line 203
3813 __cil_tmp70 = __cil_tmp69 + 2;
3814#line 203
3815 *((u16 *)__cil_tmp70) = (u16 )1024;
3816 {
3817#line 204
3818 __cil_tmp71 = (unsigned long )query;
3819#line 204
3820 __cil_tmp72 = __cil_tmp71 + 4;
3821#line 204
3822 if (*((u8 *)__cil_tmp72)) {
3823#line 205
3824 __cil_tmp73 = (unsigned long )query;
3825#line 205
3826 __cil_tmp74 = __cil_tmp73 + 4;
3827#line 205
3828 __cil_tmp75 = *((u8 *)__cil_tmp74);
3829#line 205
3830 __cil_tmp76 = (int )__cil_tmp75;
3831#line 205
3832 __cil_tmp77 = 1 << __cil_tmp76;
3833#line 205
3834 tmp = (u16 )__cil_tmp77;
3835#line 205
3836 __cil_tmp78 = (unsigned long )query;
3837#line 205
3838 __cil_tmp79 = __cil_tmp78 + 2;
3839#line 205
3840 *((u16 *)__cil_tmp79) = tmp;
3841#line 205
3842 *((u16 *)query) = tmp;
3843 } else {
3844
3845 }
3846 }
3847#line 206
3848 __cil_tmp80 = (unsigned long )query;
3849#line 206
3850 __cil_tmp81 = __cil_tmp80 + 4;
3851#line 206
3852 *((u8 *)__cil_tmp81) = (u8 )10;
3853 } else {
3854
3855 }
3856 }
3857 } else {
3858
3859 }
3860 }
3861#line 208
3862 return;
3863}
3864}
3865#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
3866static void report_pen_events(struct w8001 *w8001 , struct w8001_coord *coord )
3867{ struct input_dev *dev ;
3868 unsigned long __cil_tmp4 ;
3869 unsigned long __cil_tmp5 ;
3870 unsigned long __cil_tmp6 ;
3871 unsigned long __cil_tmp7 ;
3872 u8 __cil_tmp8 ;
3873 unsigned long __cil_tmp9 ;
3874 unsigned long __cil_tmp10 ;
3875 unsigned long __cil_tmp11 ;
3876 unsigned long __cil_tmp12 ;
3877 unsigned long __cil_tmp13 ;
3878 unsigned long __cil_tmp14 ;
3879 unsigned long __cil_tmp15 ;
3880 unsigned long __cil_tmp16 ;
3881 unsigned long __cil_tmp17 ;
3882 unsigned long __cil_tmp18 ;
3883 u8 __cil_tmp19 ;
3884 int __cil_tmp20 ;
3885 unsigned long __cil_tmp21 ;
3886 unsigned long __cil_tmp22 ;
3887 u16 __cil_tmp23 ;
3888 int __cil_tmp24 ;
3889 unsigned long __cil_tmp25 ;
3890 unsigned long __cil_tmp26 ;
3891 u16 __cil_tmp27 ;
3892 int __cil_tmp28 ;
3893 unsigned long __cil_tmp29 ;
3894 unsigned long __cil_tmp30 ;
3895 u16 __cil_tmp31 ;
3896 int __cil_tmp32 ;
3897 unsigned long __cil_tmp33 ;
3898 unsigned long __cil_tmp34 ;
3899 u8 __cil_tmp35 ;
3900 int __cil_tmp36 ;
3901 unsigned long __cil_tmp37 ;
3902 unsigned long __cil_tmp38 ;
3903 u8 __cil_tmp39 ;
3904 int __cil_tmp40 ;
3905 unsigned long __cil_tmp41 ;
3906 unsigned long __cil_tmp42 ;
3907 int __cil_tmp43 ;
3908 unsigned int __cil_tmp44 ;
3909 u8 __cil_tmp45 ;
3910 int __cil_tmp46 ;
3911 u8 __cil_tmp47 ;
3912 unsigned long __cil_tmp48 ;
3913 unsigned long __cil_tmp49 ;
3914
3915 {
3916#line 212
3917 dev = *((struct input_dev **)w8001);
3918 {
3919#line 224
3920 __cil_tmp4 = (unsigned long )w8001;
3921#line 224
3922 __cil_tmp5 = __cil_tmp4 + 128;
3923#line 225
3924 if (*((int *)__cil_tmp5) == 321) {
3925#line 225
3926 goto case_321;
3927 } else
3928#line 237
3929 if (*((int *)__cil_tmp5) == 325) {
3930#line 237
3931 goto case_325;
3932 } else
3933#line 243
3934 if (*((int *)__cil_tmp5) == 0) {
3935#line 243
3936 goto case_0;
3937 } else {
3938 {
3939#line 247
3940 goto switch_default;
3941#line 224
3942 if (0) {
3943 case_321:
3944 {
3945#line 226
3946 __cil_tmp6 = (unsigned long )coord;
3947#line 226
3948 __cil_tmp7 = __cil_tmp6 + 3;
3949#line 226
3950 __cil_tmp8 = *((u8 *)__cil_tmp7);
3951#line 226
3952 if (! __cil_tmp8) {
3953 {
3954#line 227
3955 input_report_abs(dev, 24U, 0);
3956#line 228
3957 input_report_key(dev, 330U, 0);
3958#line 229
3959 input_report_key(dev, 331U, 0);
3960#line 230
3961 input_report_key(dev, 332U, 0);
3962#line 231
3963 input_report_key(dev, 321U, 0);
3964#line 232
3965 input_sync(dev);
3966#line 233
3967 __cil_tmp9 = (unsigned long )w8001;
3968#line 233
3969 __cil_tmp10 = __cil_tmp9 + 128;
3970#line 233
3971 *((int *)__cil_tmp10) = 320;
3972 }
3973 } else {
3974
3975 }
3976 }
3977#line 235
3978 goto switch_break;
3979 case_325:
3980 {
3981#line 238
3982 input_report_key(dev, 330U, 0);
3983#line 239
3984 input_report_key(dev, 325U, 0);
3985#line 240
3986 input_sync(dev);
3987 }
3988 case_0:
3989 {
3990#line 244
3991 __cil_tmp11 = (unsigned long )coord;
3992#line 244
3993 __cil_tmp12 = __cil_tmp11 + 3;
3994#line 244
3995 if (*((u8 *)__cil_tmp12)) {
3996#line 244
3997 __cil_tmp13 = (unsigned long )w8001;
3998#line 244
3999 __cil_tmp14 = __cil_tmp13 + 128;
4000#line 244
4001 *((int *)__cil_tmp14) = 321;
4002 } else {
4003#line 244
4004 __cil_tmp15 = (unsigned long )w8001;
4005#line 244
4006 __cil_tmp16 = __cil_tmp15 + 128;
4007#line 244
4008 *((int *)__cil_tmp16) = 320;
4009 }
4010 }
4011#line 245
4012 goto switch_break;
4013 switch_default:
4014 {
4015#line 248
4016 __cil_tmp17 = (unsigned long )coord;
4017#line 248
4018 __cil_tmp18 = __cil_tmp17 + 3;
4019#line 248
4020 __cil_tmp19 = *((u8 *)__cil_tmp18);
4021#line 248
4022 __cil_tmp20 = (int )__cil_tmp19;
4023#line 248
4024 input_report_key(dev, 332U, __cil_tmp20);
4025 }
4026#line 249
4027 goto switch_break;
4028 } else {
4029 switch_break: ;
4030 }
4031 }
4032 }
4033 }
4034 {
4035#line 252
4036 __cil_tmp21 = (unsigned long )coord;
4037#line 252
4038 __cil_tmp22 = __cil_tmp21 + 4;
4039#line 252
4040 __cil_tmp23 = *((u16 *)__cil_tmp22);
4041#line 252
4042 __cil_tmp24 = (int )__cil_tmp23;
4043#line 252
4044 input_report_abs(dev, 0U, __cil_tmp24);
4045#line 253
4046 __cil_tmp25 = (unsigned long )coord;
4047#line 253
4048 __cil_tmp26 = __cil_tmp25 + 6;
4049#line 253
4050 __cil_tmp27 = *((u16 *)__cil_tmp26);
4051#line 253
4052 __cil_tmp28 = (int )__cil_tmp27;
4053#line 253
4054 input_report_abs(dev, 1U, __cil_tmp28);
4055#line 254
4056 __cil_tmp29 = (unsigned long )coord;
4057#line 254
4058 __cil_tmp30 = __cil_tmp29 + 8;
4059#line 254
4060 __cil_tmp31 = *((u16 *)__cil_tmp30);
4061#line 254
4062 __cil_tmp32 = (int )__cil_tmp31;
4063#line 254
4064 input_report_abs(dev, 24U, __cil_tmp32);
4065#line 255
4066 __cil_tmp33 = (unsigned long )coord;
4067#line 255
4068 __cil_tmp34 = __cil_tmp33 + 1;
4069#line 255
4070 __cil_tmp35 = *((u8 *)__cil_tmp34);
4071#line 255
4072 __cil_tmp36 = (int )__cil_tmp35;
4073#line 255
4074 input_report_key(dev, 330U, __cil_tmp36);
4075#line 256
4076 __cil_tmp37 = (unsigned long )coord;
4077#line 256
4078 __cil_tmp38 = __cil_tmp37 + 2;
4079#line 256
4080 __cil_tmp39 = *((u8 *)__cil_tmp38);
4081#line 256
4082 __cil_tmp40 = (int )__cil_tmp39;
4083#line 256
4084 input_report_key(dev, 331U, __cil_tmp40);
4085#line 257
4086 __cil_tmp41 = (unsigned long )w8001;
4087#line 257
4088 __cil_tmp42 = __cil_tmp41 + 128;
4089#line 257
4090 __cil_tmp43 = *((int *)__cil_tmp42);
4091#line 257
4092 __cil_tmp44 = (unsigned int )__cil_tmp43;
4093#line 257
4094 __cil_tmp45 = *((u8 *)coord);
4095#line 257
4096 __cil_tmp46 = (int )__cil_tmp45;
4097#line 257
4098 input_report_key(dev, __cil_tmp44, __cil_tmp46);
4099#line 258
4100 input_sync(dev);
4101 }
4102 {
4103#line 260
4104 __cil_tmp47 = *((u8 *)coord);
4105#line 260
4106 if (! __cil_tmp47) {
4107#line 261
4108 __cil_tmp48 = (unsigned long )w8001;
4109#line 261
4110 __cil_tmp49 = __cil_tmp48 + 128;
4111#line 261
4112 *((int *)__cil_tmp49) = 0;
4113 } else {
4114
4115 }
4116 }
4117#line 262
4118 return;
4119}
4120}
4121#line 264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4122static void report_single_touch(struct w8001 *w8001 , struct w8001_coord *coord )
4123{ struct input_dev *dev ;
4124 unsigned int x ;
4125 unsigned int y ;
4126 unsigned int *__cil_tmp6 ;
4127 unsigned long __cil_tmp7 ;
4128 unsigned long __cil_tmp8 ;
4129 u16 __cil_tmp9 ;
4130 unsigned int *__cil_tmp10 ;
4131 unsigned long __cil_tmp11 ;
4132 unsigned long __cil_tmp12 ;
4133 u16 __cil_tmp13 ;
4134 unsigned int *__cil_tmp14 ;
4135 unsigned int __cil_tmp15 ;
4136 int __cil_tmp16 ;
4137 unsigned int *__cil_tmp17 ;
4138 unsigned int __cil_tmp18 ;
4139 int __cil_tmp19 ;
4140 unsigned long __cil_tmp20 ;
4141 unsigned long __cil_tmp21 ;
4142 u8 __cil_tmp22 ;
4143 int __cil_tmp23 ;
4144 unsigned long __cil_tmp24 ;
4145 unsigned long __cil_tmp25 ;
4146 u8 __cil_tmp26 ;
4147 int __cil_tmp27 ;
4148 unsigned long __cil_tmp28 ;
4149 unsigned long __cil_tmp29 ;
4150 unsigned long __cil_tmp30 ;
4151 unsigned long __cil_tmp31 ;
4152 unsigned long __cil_tmp32 ;
4153 unsigned long __cil_tmp33 ;
4154
4155 {
4156 {
4157#line 266
4158 dev = *((struct input_dev **)w8001);
4159#line 267
4160 __cil_tmp6 = & x;
4161#line 267
4162 __cil_tmp7 = (unsigned long )coord;
4163#line 267
4164 __cil_tmp8 = __cil_tmp7 + 4;
4165#line 267
4166 __cil_tmp9 = *((u16 *)__cil_tmp8);
4167#line 267
4168 *__cil_tmp6 = (unsigned int )__cil_tmp9;
4169#line 268
4170 __cil_tmp10 = & y;
4171#line 268
4172 __cil_tmp11 = (unsigned long )coord;
4173#line 268
4174 __cil_tmp12 = __cil_tmp11 + 6;
4175#line 268
4176 __cil_tmp13 = *((u16 *)__cil_tmp12);
4177#line 268
4178 *__cil_tmp10 = (unsigned int )__cil_tmp13;
4179#line 271
4180 scale_touch_coordinates(w8001, & x, & y);
4181#line 273
4182 __cil_tmp14 = & x;
4183#line 273
4184 __cil_tmp15 = *__cil_tmp14;
4185#line 273
4186 __cil_tmp16 = (int )__cil_tmp15;
4187#line 273
4188 input_report_abs(dev, 0U, __cil_tmp16);
4189#line 274
4190 __cil_tmp17 = & y;
4191#line 274
4192 __cil_tmp18 = *__cil_tmp17;
4193#line 274
4194 __cil_tmp19 = (int )__cil_tmp18;
4195#line 274
4196 input_report_abs(dev, 1U, __cil_tmp19);
4197#line 275
4198 __cil_tmp20 = (unsigned long )coord;
4199#line 275
4200 __cil_tmp21 = __cil_tmp20 + 1;
4201#line 275
4202 __cil_tmp22 = *((u8 *)__cil_tmp21);
4203#line 275
4204 __cil_tmp23 = (int )__cil_tmp22;
4205#line 275
4206 input_report_key(dev, 330U, __cil_tmp23);
4207#line 276
4208 __cil_tmp24 = (unsigned long )coord;
4209#line 276
4210 __cil_tmp25 = __cil_tmp24 + 1;
4211#line 276
4212 __cil_tmp26 = *((u8 *)__cil_tmp25);
4213#line 276
4214 __cil_tmp27 = (int )__cil_tmp26;
4215#line 276
4216 input_report_key(dev, 325U, __cil_tmp27);
4217#line 278
4218 input_sync(dev);
4219 }
4220 {
4221#line 280
4222 __cil_tmp28 = (unsigned long )coord;
4223#line 280
4224 __cil_tmp29 = __cil_tmp28 + 1;
4225#line 280
4226 if (*((u8 *)__cil_tmp29)) {
4227#line 280
4228 __cil_tmp30 = (unsigned long )w8001;
4229#line 280
4230 __cil_tmp31 = __cil_tmp30 + 128;
4231#line 280
4232 *((int *)__cil_tmp31) = 325;
4233 } else {
4234#line 280
4235 __cil_tmp32 = (unsigned long )w8001;
4236#line 280
4237 __cil_tmp33 = __cil_tmp32 + 128;
4238#line 280
4239 *((int *)__cil_tmp33) = 0;
4240 }
4241 }
4242#line 281
4243 return;
4244}
4245}
4246#line 294
4247static irqreturn_t w8001_interrupt(struct serio *serio , unsigned char data , unsigned int flags ) ;
4248#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4249static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
4250__section__("__verbose"))) = {"wacom_w8001", "w8001_interrupt", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c",
4251 "w8001: unsynchronized data: 0x%02x\n", 294U, 0U};
4252#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4253static irqreturn_t w8001_interrupt(struct serio *serio , unsigned char data , unsigned int flags )
4254{ struct w8001 *w8001 ;
4255 void *tmp ;
4256 struct w8001_coord coord ;
4257 unsigned char tmp___0 ;
4258 int tmp___1 ;
4259 long tmp___2 ;
4260 long tmp___3 ;
4261 size_t __len ;
4262 void *__ret ;
4263 unsigned long __cil_tmp13 ;
4264 unsigned long __cil_tmp14 ;
4265 int __cil_tmp15 ;
4266 unsigned long __cil_tmp16 ;
4267 unsigned long __cil_tmp17 ;
4268 unsigned long __cil_tmp18 ;
4269 unsigned long __cil_tmp19 ;
4270 unsigned long __cil_tmp20 ;
4271 unsigned long __cil_tmp21 ;
4272 unsigned long __cil_tmp22 ;
4273 unsigned long __cil_tmp23 ;
4274 unsigned long __cil_tmp24 ;
4275 unsigned long __cil_tmp25 ;
4276 int __cil_tmp26 ;
4277 int __cil_tmp27 ;
4278 int __cil_tmp28 ;
4279 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp29 ;
4280 unsigned int __cil_tmp30 ;
4281 unsigned int __cil_tmp31 ;
4282 int __cil_tmp32 ;
4283 int __cil_tmp33 ;
4284 long __cil_tmp34 ;
4285 int __cil_tmp35 ;
4286 unsigned long __cil_tmp36 ;
4287 unsigned long __cil_tmp37 ;
4288 unsigned long __cil_tmp38 ;
4289 unsigned long __cil_tmp39 ;
4290 unsigned long __cil_tmp40 ;
4291 unsigned long __cil_tmp41 ;
4292 unsigned char __cil_tmp42 ;
4293 int __cil_tmp43 ;
4294 int __cil_tmp44 ;
4295 int __cil_tmp45 ;
4296 unsigned long __cil_tmp46 ;
4297 unsigned long __cil_tmp47 ;
4298 int __cil_tmp48 ;
4299 unsigned int __cil_tmp49 ;
4300 unsigned long __cil_tmp50 ;
4301 unsigned long __cil_tmp51 ;
4302 unsigned int __cil_tmp52 ;
4303 unsigned long __cil_tmp53 ;
4304 unsigned long __cil_tmp54 ;
4305 unsigned long __cil_tmp55 ;
4306 unsigned long __cil_tmp56 ;
4307 int __cil_tmp57 ;
4308 unsigned long __cil_tmp58 ;
4309 unsigned long __cil_tmp59 ;
4310 int __cil_tmp60 ;
4311 unsigned long __cil_tmp61 ;
4312 unsigned long __cil_tmp62 ;
4313 unsigned long __cil_tmp63 ;
4314 unsigned long __cil_tmp64 ;
4315 unsigned char *__cil_tmp65 ;
4316 unsigned long __cil_tmp66 ;
4317 unsigned long __cil_tmp67 ;
4318 unsigned long __cil_tmp68 ;
4319 unsigned long __cil_tmp69 ;
4320 unsigned char __cil_tmp70 ;
4321 int __cil_tmp71 ;
4322 int __cil_tmp72 ;
4323 int __cil_tmp73 ;
4324 int __cil_tmp74 ;
4325 int __cil_tmp75 ;
4326 int __cil_tmp76 ;
4327 long __cil_tmp77 ;
4328 unsigned long __cil_tmp78 ;
4329 unsigned long __cil_tmp79 ;
4330 unsigned long __cil_tmp80 ;
4331 unsigned long __cil_tmp81 ;
4332 unsigned char __cil_tmp82 ;
4333 int __cil_tmp83 ;
4334 int __cil_tmp84 ;
4335 int __cil_tmp85 ;
4336 unsigned long __cil_tmp86 ;
4337 unsigned long __cil_tmp87 ;
4338 unsigned long __cil_tmp88 ;
4339 unsigned long __cil_tmp89 ;
4340 unsigned long __cil_tmp90 ;
4341 unsigned long __cil_tmp91 ;
4342 unsigned char *__cil_tmp92 ;
4343 unsigned long __cil_tmp93 ;
4344 unsigned long __cil_tmp94 ;
4345 unsigned long __cil_tmp95 ;
4346 unsigned long __cil_tmp96 ;
4347 unsigned char __cil_tmp97 ;
4348 int __cil_tmp98 ;
4349 int __cil_tmp99 ;
4350 int __cil_tmp100 ;
4351 unsigned long __cil_tmp101 ;
4352 unsigned long __cil_tmp102 ;
4353 unsigned long __cil_tmp103 ;
4354 unsigned long __cil_tmp104 ;
4355 unsigned long __cil_tmp105 ;
4356 unsigned long __cil_tmp106 ;
4357 unsigned char *__cil_tmp107 ;
4358 void *__cil_tmp108 ;
4359 unsigned long __cil_tmp109 ;
4360 unsigned long __cil_tmp110 ;
4361 unsigned long __cil_tmp111 ;
4362 unsigned long __cil_tmp112 ;
4363 unsigned char *__cil_tmp113 ;
4364 void const *__cil_tmp114 ;
4365 unsigned long __cil_tmp115 ;
4366 unsigned long __cil_tmp116 ;
4367 unsigned long __cil_tmp117 ;
4368 unsigned long __cil_tmp118 ;
4369 unsigned char *__cil_tmp119 ;
4370 void *__cil_tmp120 ;
4371 unsigned long __cil_tmp121 ;
4372 unsigned long __cil_tmp122 ;
4373 unsigned long __cil_tmp123 ;
4374 unsigned long __cil_tmp124 ;
4375 unsigned char *__cil_tmp125 ;
4376 void const *__cil_tmp126 ;
4377 unsigned long __cil_tmp127 ;
4378 unsigned long __cil_tmp128 ;
4379 unsigned long __cil_tmp129 ;
4380 unsigned long __cil_tmp130 ;
4381 struct completion *__cil_tmp131 ;
4382 unsigned long __cil_tmp132 ;
4383 unsigned long __cil_tmp133 ;
4384
4385 {
4386 {
4387#line 286
4388 tmp = serio_get_drvdata(serio);
4389#line 286
4390 w8001 = (struct w8001 *)tmp;
4391#line 290
4392 __cil_tmp13 = (unsigned long )w8001;
4393#line 290
4394 __cil_tmp14 = __cil_tmp13 + 68;
4395#line 290
4396 __cil_tmp15 = *((int *)__cil_tmp14);
4397#line 290
4398 __cil_tmp16 = __cil_tmp15 * 1UL;
4399#line 290
4400 __cil_tmp17 = 84 + __cil_tmp16;
4401#line 290
4402 __cil_tmp18 = (unsigned long )w8001;
4403#line 290
4404 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
4405#line 290
4406 *((unsigned char *)__cil_tmp19) = data;
4407#line 291
4408 __cil_tmp20 = (unsigned long )w8001;
4409#line 291
4410 __cil_tmp21 = __cil_tmp20 + 68;
4411#line 291
4412 tmp___1 = *((int *)__cil_tmp21);
4413#line 291
4414 __cil_tmp22 = (unsigned long )w8001;
4415#line 291
4416 __cil_tmp23 = __cil_tmp22 + 68;
4417#line 291
4418 __cil_tmp24 = (unsigned long )w8001;
4419#line 291
4420 __cil_tmp25 = __cil_tmp24 + 68;
4421#line 291
4422 __cil_tmp26 = *((int *)__cil_tmp25);
4423#line 291
4424 *((int *)__cil_tmp23) = __cil_tmp26 + 1;
4425 }
4426#line 292
4427 if (tmp___1 == 0) {
4428#line 292
4429 goto case_0;
4430 } else
4431#line 299
4432 if (tmp___1 == 4) {
4433#line 299
4434 goto case_4;
4435 } else
4436#line 300
4437 if (tmp___1 == 6) {
4438#line 300
4439 goto case_4;
4440 } else
4441#line 316
4442 if (tmp___1 == 8) {
4443#line 316
4444 goto case_8;
4445 } else
4446#line 331
4447 if (tmp___1 == 10) {
4448#line 331
4449 goto case_10;
4450 } else
4451#line 343
4452 if (tmp___1 == 12) {
4453#line 343
4454 goto case_12;
4455 } else
4456#line 291
4457 if (0) {
4458 case_0:
4459 {
4460#line 293
4461 __cil_tmp27 = (int )data;
4462#line 293
4463 __cil_tmp28 = __cil_tmp27 & 128;
4464#line 293
4465 if (__cil_tmp28 != 128) {
4466 {
4467#line 294
4468 while (1) {
4469 while_continue: ;
4470 {
4471#line 294
4472 __cil_tmp29 = & descriptor;
4473#line 294
4474 __cil_tmp30 = __cil_tmp29->flags;
4475#line 294
4476 __cil_tmp31 = __cil_tmp30 & 1U;
4477#line 294
4478 __cil_tmp32 = ! __cil_tmp31;
4479#line 294
4480 __cil_tmp33 = ! __cil_tmp32;
4481#line 294
4482 __cil_tmp34 = (long )__cil_tmp33;
4483#line 294
4484 tmp___2 = __builtin_expect(__cil_tmp34, 0L);
4485 }
4486#line 294
4487 if (tmp___2) {
4488 {
4489#line 294
4490 __cil_tmp35 = (int )data;
4491#line 294
4492 __dynamic_pr_debug(& descriptor, "w8001: unsynchronized data: 0x%02x\n",
4493 __cil_tmp35);
4494 }
4495 } else {
4496
4497 }
4498#line 294
4499 goto while_break;
4500 }
4501 while_break: ;
4502 }
4503#line 295
4504 __cil_tmp36 = (unsigned long )w8001;
4505#line 295
4506 __cil_tmp37 = __cil_tmp36 + 68;
4507#line 295
4508 *((int *)__cil_tmp37) = 0;
4509 } else {
4510
4511 }
4512 }
4513#line 297
4514 goto switch_break;
4515 case_4:
4516 case_6:
4517#line 301
4518 __cil_tmp38 = 0 * 1UL;
4519#line 301
4520 __cil_tmp39 = 84 + __cil_tmp38;
4521#line 301
4522 __cil_tmp40 = (unsigned long )w8001;
4523#line 301
4524 __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
4525#line 301
4526 __cil_tmp42 = *((unsigned char *)__cil_tmp41);
4527#line 301
4528 __cil_tmp43 = (int )__cil_tmp42;
4529#line 301
4530 __cil_tmp44 = __cil_tmp43 & 144;
4531#line 301
4532 tmp___0 = (unsigned char )__cil_tmp44;
4533 {
4534#line 302
4535 __cil_tmp45 = (int )tmp___0;
4536#line 302
4537 if (__cil_tmp45 != 144) {
4538#line 303
4539 goto switch_break;
4540 } else {
4541
4542 }
4543 }
4544 {
4545#line 305
4546 __cil_tmp46 = (unsigned long )w8001;
4547#line 305
4548 __cil_tmp47 = __cil_tmp46 + 68;
4549#line 305
4550 __cil_tmp48 = *((int *)__cil_tmp47);
4551#line 305
4552 __cil_tmp49 = (unsigned int )__cil_tmp48;
4553#line 305
4554 __cil_tmp50 = (unsigned long )w8001;
4555#line 305
4556 __cil_tmp51 = __cil_tmp50 + 132;
4557#line 305
4558 __cil_tmp52 = *((unsigned int *)__cil_tmp51);
4559#line 305
4560 if (__cil_tmp52 == __cil_tmp49) {
4561#line 306
4562 __cil_tmp53 = (unsigned long )w8001;
4563#line 306
4564 __cil_tmp54 = __cil_tmp53 + 68;
4565#line 306
4566 *((int *)__cil_tmp54) = 0;
4567 {
4568#line 307
4569 __cil_tmp55 = (unsigned long )w8001;
4570#line 307
4571 __cil_tmp56 = __cil_tmp55 + 128;
4572#line 307
4573 __cil_tmp57 = *((int *)__cil_tmp56);
4574#line 307
4575 if (__cil_tmp57 != 320) {
4576 {
4577#line 307
4578 __cil_tmp58 = (unsigned long )w8001;
4579#line 307
4580 __cil_tmp59 = __cil_tmp58 + 128;
4581#line 307
4582 __cil_tmp60 = *((int *)__cil_tmp59);
4583#line 307
4584 if (__cil_tmp60 != 321) {
4585 {
4586#line 309
4587 __cil_tmp61 = 0 * 1UL;
4588#line 309
4589 __cil_tmp62 = 84 + __cil_tmp61;
4590#line 309
4591 __cil_tmp63 = (unsigned long )w8001;
4592#line 309
4593 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
4594#line 309
4595 __cil_tmp65 = (unsigned char *)__cil_tmp64;
4596#line 309
4597 parse_single_touch(__cil_tmp65, & coord);
4598#line 310
4599 report_single_touch(w8001, & coord);
4600 }
4601 } else {
4602
4603 }
4604 }
4605 } else {
4606
4607 }
4608 }
4609 } else {
4610
4611 }
4612 }
4613#line 313
4614 goto switch_break;
4615 case_8:
4616 {
4617#line 317
4618 __cil_tmp66 = 0 * 1UL;
4619#line 317
4620 __cil_tmp67 = 84 + __cil_tmp66;
4621#line 317
4622 __cil_tmp68 = (unsigned long )w8001;
4623#line 317
4624 __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
4625#line 317
4626 __cil_tmp70 = *((unsigned char *)__cil_tmp69);
4627#line 317
4628 __cil_tmp71 = (int )__cil_tmp70;
4629#line 317
4630 __cil_tmp72 = __cil_tmp71 & 64;
4631#line 317
4632 tmp___0 = (unsigned char )__cil_tmp72;
4633#line 318
4634 __cil_tmp73 = (int )tmp___0;
4635#line 318
4636 __cil_tmp74 = __cil_tmp73 == 64;
4637#line 318
4638 __cil_tmp75 = ! __cil_tmp74;
4639#line 318
4640 __cil_tmp76 = ! __cil_tmp75;
4641#line 318
4642 __cil_tmp77 = (long )__cil_tmp76;
4643#line 318
4644 tmp___3 = __builtin_expect(__cil_tmp77, 0L);
4645 }
4646#line 318
4647 if (tmp___3) {
4648#line 319
4649 goto switch_break;
4650 } else {
4651
4652 }
4653#line 321
4654 __cil_tmp78 = 0 * 1UL;
4655#line 321
4656 __cil_tmp79 = 84 + __cil_tmp78;
4657#line 321
4658 __cil_tmp80 = (unsigned long )w8001;
4659#line 321
4660 __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
4661#line 321
4662 __cil_tmp82 = *((unsigned char *)__cil_tmp81);
4663#line 321
4664 __cil_tmp83 = (int )__cil_tmp82;
4665#line 321
4666 __cil_tmp84 = __cil_tmp83 & 144;
4667#line 321
4668 tmp___0 = (unsigned char )__cil_tmp84;
4669 {
4670#line 322
4671 __cil_tmp85 = (int )tmp___0;
4672#line 322
4673 if (__cil_tmp85 == 144) {
4674#line 323
4675 goto switch_break;
4676 } else {
4677
4678 }
4679 }
4680 {
4681#line 325
4682 __cil_tmp86 = (unsigned long )w8001;
4683#line 325
4684 __cil_tmp87 = __cil_tmp86 + 68;
4685#line 325
4686 *((int *)__cil_tmp87) = 0;
4687#line 326
4688 __cil_tmp88 = 0 * 1UL;
4689#line 326
4690 __cil_tmp89 = 84 + __cil_tmp88;
4691#line 326
4692 __cil_tmp90 = (unsigned long )w8001;
4693#line 326
4694 __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
4695#line 326
4696 __cil_tmp92 = (unsigned char *)__cil_tmp91;
4697#line 326
4698 parse_pen_data(__cil_tmp92, & coord);
4699#line 327
4700 report_pen_events(w8001, & coord);
4701 }
4702#line 328
4703 goto switch_break;
4704 case_10:
4705#line 332
4706 __cil_tmp93 = 0 * 1UL;
4707#line 332
4708 __cil_tmp94 = 84 + __cil_tmp93;
4709#line 332
4710 __cil_tmp95 = (unsigned long )w8001;
4711#line 332
4712 __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
4713#line 332
4714 __cil_tmp97 = *((unsigned char *)__cil_tmp96);
4715#line 332
4716 __cil_tmp98 = (int )__cil_tmp97;
4717#line 332
4718 __cil_tmp99 = __cil_tmp98 & 144;
4719#line 332
4720 tmp___0 = (unsigned char )__cil_tmp99;
4721 {
4722#line 333
4723 __cil_tmp100 = (int )tmp___0;
4724#line 333
4725 if (__cil_tmp100 == 144) {
4726#line 334
4727 goto switch_break;
4728 } else {
4729
4730 }
4731 }
4732#line 336
4733 __cil_tmp101 = (unsigned long )w8001;
4734#line 336
4735 __cil_tmp102 = __cil_tmp101 + 68;
4736#line 336
4737 *((int *)__cil_tmp102) = 0;
4738#line 337
4739 __len = (size_t )11;
4740#line 337
4741 if (__len >= 64UL) {
4742 {
4743#line 337
4744 __cil_tmp103 = 0 * 1UL;
4745#line 337
4746 __cil_tmp104 = 73 + __cil_tmp103;
4747#line 337
4748 __cil_tmp105 = (unsigned long )w8001;
4749#line 337
4750 __cil_tmp106 = __cil_tmp105 + __cil_tmp104;
4751#line 337
4752 __cil_tmp107 = (unsigned char *)__cil_tmp106;
4753#line 337
4754 __cil_tmp108 = (void *)__cil_tmp107;
4755#line 337
4756 __cil_tmp109 = 0 * 1UL;
4757#line 337
4758 __cil_tmp110 = 84 + __cil_tmp109;
4759#line 337
4760 __cil_tmp111 = (unsigned long )w8001;
4761#line 337
4762 __cil_tmp112 = __cil_tmp111 + __cil_tmp110;
4763#line 337
4764 __cil_tmp113 = (unsigned char *)__cil_tmp112;
4765#line 337
4766 __cil_tmp114 = (void const *)__cil_tmp113;
4767#line 337
4768 __ret = __memcpy(__cil_tmp108, __cil_tmp114, __len);
4769 }
4770 } else {
4771 {
4772#line 337
4773 __cil_tmp115 = 0 * 1UL;
4774#line 337
4775 __cil_tmp116 = 73 + __cil_tmp115;
4776#line 337
4777 __cil_tmp117 = (unsigned long )w8001;
4778#line 337
4779 __cil_tmp118 = __cil_tmp117 + __cil_tmp116;
4780#line 337
4781 __cil_tmp119 = (unsigned char *)__cil_tmp118;
4782#line 337
4783 __cil_tmp120 = (void *)__cil_tmp119;
4784#line 337
4785 __cil_tmp121 = 0 * 1UL;
4786#line 337
4787 __cil_tmp122 = 84 + __cil_tmp121;
4788#line 337
4789 __cil_tmp123 = (unsigned long )w8001;
4790#line 337
4791 __cil_tmp124 = __cil_tmp123 + __cil_tmp122;
4792#line 337
4793 __cil_tmp125 = (unsigned char *)__cil_tmp124;
4794#line 337
4795 __cil_tmp126 = (void const *)__cil_tmp125;
4796#line 337
4797 __ret = __builtin_memcpy(__cil_tmp120, __cil_tmp126, __len);
4798 }
4799 }
4800 {
4801#line 338
4802 __cil_tmp127 = (unsigned long )w8001;
4803#line 338
4804 __cil_tmp128 = __cil_tmp127 + 72;
4805#line 338
4806 *((unsigned char *)__cil_tmp128) = (unsigned char)32;
4807#line 339
4808 __cil_tmp129 = (unsigned long )w8001;
4809#line 339
4810 __cil_tmp130 = __cil_tmp129 + 16;
4811#line 339
4812 __cil_tmp131 = (struct completion *)__cil_tmp130;
4813#line 339
4814 complete(__cil_tmp131);
4815 }
4816#line 340
4817 goto switch_break;
4818 case_12:
4819 {
4820#line 344
4821 __cil_tmp132 = (unsigned long )w8001;
4822#line 344
4823 __cil_tmp133 = __cil_tmp132 + 68;
4824#line 344
4825 *((int *)__cil_tmp133) = 0;
4826#line 345
4827 parse_multi_touch(w8001);
4828 }
4829#line 346
4830 goto switch_break;
4831 } else {
4832 switch_break: ;
4833 }
4834#line 349
4835 return ((irqreturn_t )1);
4836}
4837}
4838#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4839static int w8001_command(struct w8001 *w8001 , unsigned char command , bool wait_response )
4840{ int rc ;
4841 unsigned long __cil_tmp5 ;
4842 unsigned long __cil_tmp6 ;
4843 unsigned long __cil_tmp7 ;
4844 unsigned long __cil_tmp8 ;
4845 struct completion *__cil_tmp9 ;
4846 unsigned long __cil_tmp10 ;
4847 unsigned long __cil_tmp11 ;
4848 struct serio *__cil_tmp12 ;
4849 unsigned long __cil_tmp13 ;
4850 unsigned long __cil_tmp14 ;
4851 struct completion *__cil_tmp15 ;
4852 unsigned long __cil_tmp16 ;
4853 unsigned long __cil_tmp17 ;
4854 unsigned char __cil_tmp18 ;
4855 int __cil_tmp19 ;
4856
4857 {
4858 {
4859#line 357
4860 __cil_tmp5 = (unsigned long )w8001;
4861#line 357
4862 __cil_tmp6 = __cil_tmp5 + 72;
4863#line 357
4864 *((unsigned char *)__cil_tmp6) = (unsigned char)0;
4865#line 358
4866 __cil_tmp7 = (unsigned long )w8001;
4867#line 358
4868 __cil_tmp8 = __cil_tmp7 + 16;
4869#line 358
4870 __cil_tmp9 = (struct completion *)__cil_tmp8;
4871#line 358
4872 init_completion(__cil_tmp9);
4873#line 360
4874 __cil_tmp10 = (unsigned long )w8001;
4875#line 360
4876 __cil_tmp11 = __cil_tmp10 + 8;
4877#line 360
4878 __cil_tmp12 = *((struct serio **)__cil_tmp11);
4879#line 360
4880 rc = serio_write(__cil_tmp12, command);
4881 }
4882#line 361
4883 if (rc == 0) {
4884#line 361
4885 if (wait_response) {
4886 {
4887#line 363
4888 __cil_tmp13 = (unsigned long )w8001;
4889#line 363
4890 __cil_tmp14 = __cil_tmp13 + 16;
4891#line 363
4892 __cil_tmp15 = (struct completion *)__cil_tmp14;
4893#line 363
4894 wait_for_completion_timeout(__cil_tmp15, 250UL);
4895 }
4896 {
4897#line 364
4898 __cil_tmp16 = (unsigned long )w8001;
4899#line 364
4900 __cil_tmp17 = __cil_tmp16 + 72;
4901#line 364
4902 __cil_tmp18 = *((unsigned char *)__cil_tmp17);
4903#line 364
4904 __cil_tmp19 = (int )__cil_tmp18;
4905#line 364
4906 if (__cil_tmp19 != 32) {
4907#line 365
4908 rc = -5;
4909 } else {
4910
4911 }
4912 }
4913 } else {
4914
4915 }
4916 } else {
4917
4918 }
4919#line 368
4920 return (rc);
4921}
4922}
4923#line 371 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4924static int w8001_open(struct input_dev *dev )
4925{ struct w8001 *w8001 ;
4926 void *tmp ;
4927 int tmp___0 ;
4928 unsigned char __cil_tmp5 ;
4929 bool __cil_tmp6 ;
4930
4931 {
4932 {
4933#line 373
4934 tmp = input_get_drvdata(dev);
4935#line 373
4936 w8001 = (struct w8001 *)tmp;
4937#line 375
4938 __cil_tmp5 = (unsigned char )'1';
4939#line 375
4940 __cil_tmp6 = (bool )0;
4941#line 375
4942 tmp___0 = w8001_command(w8001, __cil_tmp5, __cil_tmp6);
4943 }
4944#line 375
4945 return (tmp___0);
4946}
4947}
4948#line 378 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4949static void w8001_close(struct input_dev *dev )
4950{ struct w8001 *w8001 ;
4951 void *tmp ;
4952 unsigned char __cil_tmp4 ;
4953 bool __cil_tmp5 ;
4954
4955 {
4956 {
4957#line 380
4958 tmp = input_get_drvdata(dev);
4959#line 380
4960 w8001 = (struct w8001 *)tmp;
4961#line 382
4962 __cil_tmp4 = (unsigned char )'0';
4963#line 382
4964 __cil_tmp5 = (bool )0;
4965#line 382
4966 w8001_command(w8001, __cil_tmp4, __cil_tmp5);
4967 }
4968#line 383
4969 return;
4970}
4971}
4972#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
4973static int w8001_setup(struct w8001 *w8001 )
4974{ struct input_dev *dev ;
4975 struct w8001_coord coord ;
4976 struct w8001_touch_query touch ;
4977 int error ;
4978 unsigned char __cil_tmp6 ;
4979 bool __cil_tmp7 ;
4980 unsigned long __cil_tmp8 ;
4981 unsigned long __cil_tmp9 ;
4982 unsigned long __cil_tmp10 ;
4983 unsigned long __cil_tmp11 ;
4984 unsigned long __cil_tmp12 ;
4985 unsigned long __cil_tmp13 ;
4986 unsigned long __cil_tmp14 ;
4987 unsigned long __cil_tmp15 ;
4988 unsigned long __cil_tmp16 ;
4989 unsigned long __cil_tmp17 ;
4990 char *__cil_tmp18 ;
4991 unsigned long __cil_tmp19 ;
4992 unsigned long __cil_tmp20 ;
4993 unsigned long __cil_tmp21 ;
4994 unsigned long __cil_tmp22 ;
4995 unsigned long *__cil_tmp23 ;
4996 unsigned long volatile *__cil_tmp24 ;
4997 unsigned char __cil_tmp25 ;
4998 bool __cil_tmp26 ;
4999 unsigned long __cil_tmp27 ;
5000 unsigned long __cil_tmp28 ;
5001 unsigned long __cil_tmp29 ;
5002 unsigned long __cil_tmp30 ;
5003 unsigned long *__cil_tmp31 ;
5004 unsigned long volatile *__cil_tmp32 ;
5005 unsigned long __cil_tmp33 ;
5006 unsigned long __cil_tmp34 ;
5007 unsigned long __cil_tmp35 ;
5008 unsigned long __cil_tmp36 ;
5009 unsigned long *__cil_tmp37 ;
5010 unsigned long volatile *__cil_tmp38 ;
5011 unsigned long __cil_tmp39 ;
5012 unsigned long __cil_tmp40 ;
5013 unsigned long __cil_tmp41 ;
5014 unsigned long __cil_tmp42 ;
5015 unsigned long *__cil_tmp43 ;
5016 unsigned long volatile *__cil_tmp44 ;
5017 unsigned long __cil_tmp45 ;
5018 unsigned long __cil_tmp46 ;
5019 unsigned long __cil_tmp47 ;
5020 unsigned long __cil_tmp48 ;
5021 unsigned long *__cil_tmp49 ;
5022 unsigned long volatile *__cil_tmp50 ;
5023 unsigned long __cil_tmp51 ;
5024 unsigned long __cil_tmp52 ;
5025 unsigned long __cil_tmp53 ;
5026 unsigned long __cil_tmp54 ;
5027 unsigned long *__cil_tmp55 ;
5028 unsigned long volatile *__cil_tmp56 ;
5029 unsigned long __cil_tmp57 ;
5030 unsigned long __cil_tmp58 ;
5031 unsigned long __cil_tmp59 ;
5032 unsigned long __cil_tmp60 ;
5033 unsigned char *__cil_tmp61 ;
5034 unsigned long __cil_tmp62 ;
5035 unsigned long __cil_tmp63 ;
5036 unsigned long __cil_tmp64 ;
5037 unsigned long __cil_tmp65 ;
5038 unsigned long __cil_tmp66 ;
5039 unsigned long __cil_tmp67 ;
5040 unsigned long __cil_tmp68 ;
5041 u16 __cil_tmp69 ;
5042 int __cil_tmp70 ;
5043 unsigned long __cil_tmp71 ;
5044 u16 __cil_tmp72 ;
5045 int __cil_tmp73 ;
5046 unsigned long __cil_tmp74 ;
5047 u16 __cil_tmp75 ;
5048 int __cil_tmp76 ;
5049 unsigned long __cil_tmp77 ;
5050 unsigned long __cil_tmp78 ;
5051 unsigned long __cil_tmp79 ;
5052 u8 __cil_tmp80 ;
5053 int __cil_tmp81 ;
5054 unsigned long __cil_tmp82 ;
5055 u8 __cil_tmp83 ;
5056 int __cil_tmp84 ;
5057 unsigned long __cil_tmp85 ;
5058 unsigned long __cil_tmp86 ;
5059 unsigned long __cil_tmp87 ;
5060 unsigned long __cil_tmp88 ;
5061 unsigned long __cil_tmp89 ;
5062 unsigned long __cil_tmp90 ;
5063 char *__cil_tmp91 ;
5064 unsigned char __cil_tmp92 ;
5065 bool __cil_tmp93 ;
5066 unsigned long __cil_tmp94 ;
5067 unsigned long __cil_tmp95 ;
5068 unsigned long __cil_tmp96 ;
5069 unsigned long __cil_tmp97 ;
5070 unsigned long __cil_tmp98 ;
5071 unsigned long __cil_tmp99 ;
5072 unsigned long __cil_tmp100 ;
5073 unsigned long __cil_tmp101 ;
5074 unsigned long *__cil_tmp102 ;
5075 unsigned long volatile *__cil_tmp103 ;
5076 unsigned long __cil_tmp104 ;
5077 unsigned long __cil_tmp105 ;
5078 unsigned long __cil_tmp106 ;
5079 unsigned long __cil_tmp107 ;
5080 unsigned long *__cil_tmp108 ;
5081 unsigned long volatile *__cil_tmp109 ;
5082 unsigned long __cil_tmp110 ;
5083 unsigned long __cil_tmp111 ;
5084 unsigned long __cil_tmp112 ;
5085 unsigned long __cil_tmp113 ;
5086 unsigned char *__cil_tmp114 ;
5087 unsigned long __cil_tmp115 ;
5088 unsigned long __cil_tmp116 ;
5089 struct w8001_touch_query *__cil_tmp117 ;
5090 unsigned long __cil_tmp118 ;
5091 unsigned long __cil_tmp119 ;
5092 unsigned long __cil_tmp120 ;
5093 unsigned long __cil_tmp121 ;
5094 unsigned long __cil_tmp122 ;
5095 unsigned long __cil_tmp123 ;
5096 unsigned long __cil_tmp124 ;
5097 struct w8001_touch_query *__cil_tmp125 ;
5098 unsigned long __cil_tmp126 ;
5099 unsigned long __cil_tmp127 ;
5100 unsigned long __cil_tmp128 ;
5101 unsigned long __cil_tmp129 ;
5102 unsigned long __cil_tmp130 ;
5103 unsigned long __cil_tmp131 ;
5104 struct w8001_touch_query *__cil_tmp132 ;
5105 u16 __cil_tmp133 ;
5106 int __cil_tmp134 ;
5107 unsigned long __cil_tmp135 ;
5108 u16 __cil_tmp136 ;
5109 int __cil_tmp137 ;
5110 unsigned long __cil_tmp138 ;
5111 u8 __cil_tmp139 ;
5112 int __cil_tmp140 ;
5113 unsigned long __cil_tmp141 ;
5114 u8 __cil_tmp142 ;
5115 int __cil_tmp143 ;
5116 unsigned long __cil_tmp144 ;
5117 u8 __cil_tmp145 ;
5118 unsigned long __cil_tmp146 ;
5119 unsigned long __cil_tmp147 ;
5120 unsigned long __cil_tmp148 ;
5121 unsigned long __cil_tmp149 ;
5122 unsigned long __cil_tmp150 ;
5123 unsigned long __cil_tmp151 ;
5124 unsigned long __cil_tmp152 ;
5125 unsigned long __cil_tmp153 ;
5126 char *__cil_tmp154 ;
5127 unsigned long __cil_tmp155 ;
5128 unsigned long __cil_tmp156 ;
5129 unsigned long __cil_tmp157 ;
5130 unsigned long __cil_tmp158 ;
5131 unsigned long __cil_tmp159 ;
5132 unsigned long __cil_tmp160 ;
5133 char *__cil_tmp161 ;
5134 unsigned long __cil_tmp162 ;
5135 unsigned long __cil_tmp163 ;
5136 unsigned long __cil_tmp164 ;
5137 unsigned long __cil_tmp165 ;
5138 struct w8001_touch_query *__cil_tmp166 ;
5139 u16 __cil_tmp167 ;
5140 int __cil_tmp168 ;
5141 unsigned long __cil_tmp169 ;
5142 u16 __cil_tmp170 ;
5143 int __cil_tmp171 ;
5144 unsigned long __cil_tmp172 ;
5145 unsigned long __cil_tmp173 ;
5146 unsigned long __cil_tmp174 ;
5147 unsigned long __cil_tmp175 ;
5148 char *__cil_tmp176 ;
5149 unsigned long __cil_tmp177 ;
5150 unsigned long __cil_tmp178 ;
5151 unsigned long __cil_tmp179 ;
5152 unsigned long __cil_tmp180 ;
5153 unsigned long __cil_tmp181 ;
5154 unsigned long __cil_tmp182 ;
5155 unsigned long __cil_tmp183 ;
5156 unsigned long __cil_tmp184 ;
5157 unsigned long __cil_tmp185 ;
5158 unsigned long __cil_tmp186 ;
5159 unsigned long __cil_tmp187 ;
5160 unsigned long __cil_tmp188 ;
5161 unsigned long __cil_tmp189 ;
5162 unsigned long __cil_tmp190 ;
5163 char *__cil_tmp191 ;
5164
5165 {
5166 {
5167#line 387
5168 dev = *((struct input_dev **)w8001);
5169#line 392
5170 __cil_tmp6 = (unsigned char )'0';
5171#line 392
5172 __cil_tmp7 = (bool )0;
5173#line 392
5174 error = w8001_command(w8001, __cil_tmp6, __cil_tmp7);
5175 }
5176#line 393
5177 if (error) {
5178#line 394
5179 return (error);
5180 } else {
5181
5182 }
5183 {
5184#line 396
5185 msleep(250U);
5186#line 398
5187 __cil_tmp8 = 0 * 8UL;
5188#line 398
5189 __cil_tmp9 = 40 + __cil_tmp8;
5190#line 398
5191 __cil_tmp10 = (unsigned long )dev;
5192#line 398
5193 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
5194#line 398
5195 __cil_tmp12 = 1UL << 3;
5196#line 398
5197 __cil_tmp13 = 1UL << 1;
5198#line 398
5199 *((unsigned long *)__cil_tmp11) = __cil_tmp13 | __cil_tmp12;
5200#line 399
5201 __cil_tmp14 = 0 * 1UL;
5202#line 399
5203 __cil_tmp15 = 144 + __cil_tmp14;
5204#line 399
5205 __cil_tmp16 = (unsigned long )w8001;
5206#line 399
5207 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
5208#line 399
5209 __cil_tmp18 = (char *)__cil_tmp17;
5210#line 399
5211 strlcat(__cil_tmp18, "Wacom Serial", 64UL);
5212#line 401
5213 __cil_tmp19 = 0 * 8UL;
5214#line 401
5215 __cil_tmp20 = 32 + __cil_tmp19;
5216#line 401
5217 __cil_tmp21 = (unsigned long )dev;
5218#line 401
5219 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
5220#line 401
5221 __cil_tmp23 = (unsigned long *)__cil_tmp22;
5222#line 401
5223 __cil_tmp24 = (unsigned long volatile *)__cil_tmp23;
5224#line 401
5225 __set_bit(1, __cil_tmp24);
5226#line 404
5227 __cil_tmp25 = (unsigned char )'*';
5228#line 404
5229 __cil_tmp26 = (bool )1;
5230#line 404
5231 error = w8001_command(w8001, __cil_tmp25, __cil_tmp26);
5232 }
5233#line 405
5234 if (! error) {
5235 {
5236#line 406
5237 __cil_tmp27 = 0 * 8UL;
5238#line 406
5239 __cil_tmp28 = 48 + __cil_tmp27;
5240#line 406
5241 __cil_tmp29 = (unsigned long )dev;
5242#line 406
5243 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
5244#line 406
5245 __cil_tmp31 = (unsigned long *)__cil_tmp30;
5246#line 406
5247 __cil_tmp32 = (unsigned long volatile *)__cil_tmp31;
5248#line 406
5249 __set_bit(330, __cil_tmp32);
5250#line 407
5251 __cil_tmp33 = 0 * 8UL;
5252#line 407
5253 __cil_tmp34 = 48 + __cil_tmp33;
5254#line 407
5255 __cil_tmp35 = (unsigned long )dev;
5256#line 407
5257 __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
5258#line 407
5259 __cil_tmp37 = (unsigned long *)__cil_tmp36;
5260#line 407
5261 __cil_tmp38 = (unsigned long volatile *)__cil_tmp37;
5262#line 407
5263 __set_bit(320, __cil_tmp38);
5264#line 408
5265 __cil_tmp39 = 0 * 8UL;
5266#line 408
5267 __cil_tmp40 = 48 + __cil_tmp39;
5268#line 408
5269 __cil_tmp41 = (unsigned long )dev;
5270#line 408
5271 __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
5272#line 408
5273 __cil_tmp43 = (unsigned long *)__cil_tmp42;
5274#line 408
5275 __cil_tmp44 = (unsigned long volatile *)__cil_tmp43;
5276#line 408
5277 __set_bit(321, __cil_tmp44);
5278#line 409
5279 __cil_tmp45 = 0 * 8UL;
5280#line 409
5281 __cil_tmp46 = 48 + __cil_tmp45;
5282#line 409
5283 __cil_tmp47 = (unsigned long )dev;
5284#line 409
5285 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
5286#line 409
5287 __cil_tmp49 = (unsigned long *)__cil_tmp48;
5288#line 409
5289 __cil_tmp50 = (unsigned long volatile *)__cil_tmp49;
5290#line 409
5291 __set_bit(331, __cil_tmp50);
5292#line 410
5293 __cil_tmp51 = 0 * 8UL;
5294#line 410
5295 __cil_tmp52 = 48 + __cil_tmp51;
5296#line 410
5297 __cil_tmp53 = (unsigned long )dev;
5298#line 410
5299 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
5300#line 410
5301 __cil_tmp55 = (unsigned long *)__cil_tmp54;
5302#line 410
5303 __cil_tmp56 = (unsigned long volatile *)__cil_tmp55;
5304#line 410
5305 __set_bit(332, __cil_tmp56);
5306#line 412
5307 __cil_tmp57 = 0 * 1UL;
5308#line 412
5309 __cil_tmp58 = 73 + __cil_tmp57;
5310#line 412
5311 __cil_tmp59 = (unsigned long )w8001;
5312#line 412
5313 __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
5314#line 412
5315 __cil_tmp61 = (unsigned char *)__cil_tmp60;
5316#line 412
5317 parse_pen_data(__cil_tmp61, & coord);
5318#line 413
5319 __cil_tmp62 = (unsigned long )w8001;
5320#line 413
5321 __cil_tmp63 = __cil_tmp62 + 140;
5322#line 413
5323 __cil_tmp64 = (unsigned long )(& coord) + 4;
5324#line 413
5325 *((u16 *)__cil_tmp63) = *((u16 *)__cil_tmp64);
5326#line 414
5327 __cil_tmp65 = (unsigned long )w8001;
5328#line 414
5329 __cil_tmp66 = __cil_tmp65 + 142;
5330#line 414
5331 __cil_tmp67 = (unsigned long )(& coord) + 6;
5332#line 414
5333 *((u16 *)__cil_tmp66) = *((u16 *)__cil_tmp67);
5334#line 416
5335 __cil_tmp68 = (unsigned long )(& coord) + 4;
5336#line 416
5337 __cil_tmp69 = *((u16 *)__cil_tmp68);
5338#line 416
5339 __cil_tmp70 = (int )__cil_tmp69;
5340#line 416
5341 input_set_abs_params(dev, 0U, 0, __cil_tmp70, 0, 0);
5342#line 417
5343 __cil_tmp71 = (unsigned long )(& coord) + 6;
5344#line 417
5345 __cil_tmp72 = *((u16 *)__cil_tmp71);
5346#line 417
5347 __cil_tmp73 = (int )__cil_tmp72;
5348#line 417
5349 input_set_abs_params(dev, 1U, 0, __cil_tmp73, 0, 0);
5350#line 418
5351 input_abs_set_res(dev, 0U, 100);
5352#line 419
5353 input_abs_set_res(dev, 1U, 100);
5354#line 420
5355 __cil_tmp74 = (unsigned long )(& coord) + 8;
5356#line 420
5357 __cil_tmp75 = *((u16 *)__cil_tmp74);
5358#line 420
5359 __cil_tmp76 = (int )__cil_tmp75;
5360#line 420
5361 input_set_abs_params(dev, 24U, 0, __cil_tmp76, 0, 0);
5362 }
5363 {
5364#line 421
5365 __cil_tmp77 = (unsigned long )(& coord) + 10;
5366#line 421
5367 if (*((u8 *)__cil_tmp77)) {
5368 {
5369#line 421
5370 __cil_tmp78 = (unsigned long )(& coord) + 11;
5371#line 421
5372 if (*((u8 *)__cil_tmp78)) {
5373 {
5374#line 422
5375 __cil_tmp79 = (unsigned long )(& coord) + 10;
5376#line 422
5377 __cil_tmp80 = *((u8 *)__cil_tmp79);
5378#line 422
5379 __cil_tmp81 = (int )__cil_tmp80;
5380#line 422
5381 input_set_abs_params(dev, 26U, 0, __cil_tmp81, 0, 0);
5382#line 423
5383 __cil_tmp82 = (unsigned long )(& coord) + 11;
5384#line 423
5385 __cil_tmp83 = *((u8 *)__cil_tmp82);
5386#line 423
5387 __cil_tmp84 = (int )__cil_tmp83;
5388#line 423
5389 input_set_abs_params(dev, 27U, 0, __cil_tmp84, 0, 0);
5390 }
5391 } else {
5392
5393 }
5394 }
5395 } else {
5396
5397 }
5398 }
5399 {
5400#line 425
5401 __cil_tmp85 = (unsigned long )w8001;
5402#line 425
5403 __cil_tmp86 = __cil_tmp85 + 64;
5404#line 425
5405 *((int *)__cil_tmp86) = 144;
5406#line 426
5407 __cil_tmp87 = 0 * 1UL;
5408#line 426
5409 __cil_tmp88 = 144 + __cil_tmp87;
5410#line 426
5411 __cil_tmp89 = (unsigned long )w8001;
5412#line 426
5413 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
5414#line 426
5415 __cil_tmp91 = (char *)__cil_tmp90;
5416#line 426
5417 strlcat(__cil_tmp91, " Penabled", 64UL);
5418 }
5419 } else {
5420
5421 }
5422 {
5423#line 430
5424 __cil_tmp92 = (unsigned char )'%';
5425#line 430
5426 __cil_tmp93 = (bool )1;
5427#line 430
5428 error = w8001_command(w8001, __cil_tmp92, __cil_tmp93);
5429 }
5430#line 436
5431 if (! error) {
5432 {
5433#line 436
5434 __cil_tmp94 = 1 * 1UL;
5435#line 436
5436 __cil_tmp95 = 73 + __cil_tmp94;
5437#line 436
5438 __cil_tmp96 = (unsigned long )w8001;
5439#line 436
5440 __cil_tmp97 = __cil_tmp96 + __cil_tmp95;
5441#line 436
5442 if (*((unsigned char *)__cil_tmp97)) {
5443 {
5444#line 437
5445 __cil_tmp98 = 0 * 8UL;
5446#line 437
5447 __cil_tmp99 = 48 + __cil_tmp98;
5448#line 437
5449 __cil_tmp100 = (unsigned long )dev;
5450#line 437
5451 __cil_tmp101 = __cil_tmp100 + __cil_tmp99;
5452#line 437
5453 __cil_tmp102 = (unsigned long *)__cil_tmp101;
5454#line 437
5455 __cil_tmp103 = (unsigned long volatile *)__cil_tmp102;
5456#line 437
5457 __set_bit(330, __cil_tmp103);
5458#line 438
5459 __cil_tmp104 = 0 * 8UL;
5460#line 438
5461 __cil_tmp105 = 48 + __cil_tmp104;
5462#line 438
5463 __cil_tmp106 = (unsigned long )dev;
5464#line 438
5465 __cil_tmp107 = __cil_tmp106 + __cil_tmp105;
5466#line 438
5467 __cil_tmp108 = (unsigned long *)__cil_tmp107;
5468#line 438
5469 __cil_tmp109 = (unsigned long volatile *)__cil_tmp108;
5470#line 438
5471 __set_bit(325, __cil_tmp109);
5472#line 440
5473 __cil_tmp110 = 0 * 1UL;
5474#line 440
5475 __cil_tmp111 = 73 + __cil_tmp110;
5476#line 440
5477 __cil_tmp112 = (unsigned long )w8001;
5478#line 440
5479 __cil_tmp113 = __cil_tmp112 + __cil_tmp111;
5480#line 440
5481 __cil_tmp114 = (unsigned char *)__cil_tmp113;
5482#line 440
5483 parse_touchquery(__cil_tmp114, & touch);
5484#line 441
5485 __cil_tmp115 = (unsigned long )w8001;
5486#line 441
5487 __cil_tmp116 = __cil_tmp115 + 136;
5488#line 441
5489 __cil_tmp117 = & touch;
5490#line 441
5491 *((u16 *)__cil_tmp116) = *((u16 *)__cil_tmp117);
5492#line 442
5493 __cil_tmp118 = (unsigned long )w8001;
5494#line 442
5495 __cil_tmp119 = __cil_tmp118 + 138;
5496#line 442
5497 __cil_tmp120 = (unsigned long )(& touch) + 2;
5498#line 442
5499 *((u16 *)__cil_tmp119) = *((u16 *)__cil_tmp120);
5500 }
5501 {
5502#line 444
5503 __cil_tmp121 = (unsigned long )w8001;
5504#line 444
5505 __cil_tmp122 = __cil_tmp121 + 140;
5506#line 444
5507 if (*((u16 *)__cil_tmp122)) {
5508 {
5509#line 444
5510 __cil_tmp123 = (unsigned long )w8001;
5511#line 444
5512 __cil_tmp124 = __cil_tmp123 + 142;
5513#line 444
5514 if (*((u16 *)__cil_tmp124)) {
5515#line 446
5516 __cil_tmp125 = & touch;
5517#line 446
5518 __cil_tmp126 = (unsigned long )w8001;
5519#line 446
5520 __cil_tmp127 = __cil_tmp126 + 140;
5521#line 446
5522 *((u16 *)__cil_tmp125) = *((u16 *)__cil_tmp127);
5523#line 447
5524 __cil_tmp128 = (unsigned long )(& touch) + 2;
5525#line 447
5526 __cil_tmp129 = (unsigned long )w8001;
5527#line 447
5528 __cil_tmp130 = __cil_tmp129 + 142;
5529#line 447
5530 *((u16 *)__cil_tmp128) = *((u16 *)__cil_tmp130);
5531#line 448
5532 __cil_tmp131 = (unsigned long )(& touch) + 4;
5533#line 448
5534 *((u8 *)__cil_tmp131) = (u8 )100;
5535 } else {
5536
5537 }
5538 }
5539 } else {
5540
5541 }
5542 }
5543 {
5544#line 451
5545 __cil_tmp132 = & touch;
5546#line 451
5547 __cil_tmp133 = *((u16 *)__cil_tmp132);
5548#line 451
5549 __cil_tmp134 = (int )__cil_tmp133;
5550#line 451
5551 input_set_abs_params(dev, 0U, 0, __cil_tmp134, 0, 0);
5552#line 452
5553 __cil_tmp135 = (unsigned long )(& touch) + 2;
5554#line 452
5555 __cil_tmp136 = *((u16 *)__cil_tmp135);
5556#line 452
5557 __cil_tmp137 = (int )__cil_tmp136;
5558#line 452
5559 input_set_abs_params(dev, 1U, 0, __cil_tmp137, 0, 0);
5560#line 453
5561 __cil_tmp138 = (unsigned long )(& touch) + 4;
5562#line 453
5563 __cil_tmp139 = *((u8 *)__cil_tmp138);
5564#line 453
5565 __cil_tmp140 = (int )__cil_tmp139;
5566#line 453
5567 input_abs_set_res(dev, 0U, __cil_tmp140);
5568#line 454
5569 __cil_tmp141 = (unsigned long )(& touch) + 4;
5570#line 454
5571 __cil_tmp142 = *((u8 *)__cil_tmp141);
5572#line 454
5573 __cil_tmp143 = (int )__cil_tmp142;
5574#line 454
5575 input_abs_set_res(dev, 1U, __cil_tmp143);
5576 }
5577 {
5578#line 456
5579 __cil_tmp144 = (unsigned long )(& touch) + 6;
5580#line 456
5581 __cil_tmp145 = *((u8 *)__cil_tmp144);
5582#line 457
5583 if ((int )__cil_tmp145 == 0) {
5584#line 457
5585 goto case_0;
5586 } else
5587#line 458
5588 if ((int )__cil_tmp145 == 2) {
5589#line 458
5590 goto case_0;
5591 } else
5592#line 464
5593 if ((int )__cil_tmp145 == 1) {
5594#line 464
5595 goto case_1;
5596 } else
5597#line 465
5598 if ((int )__cil_tmp145 == 3) {
5599#line 465
5600 goto case_1;
5601 } else
5602#line 466
5603 if ((int )__cil_tmp145 == 4) {
5604#line 466
5605 goto case_1;
5606 } else
5607#line 472
5608 if ((int )__cil_tmp145 == 5) {
5609#line 472
5610 goto case_5;
5611 } else
5612#line 456
5613 if (0) {
5614 case_0:
5615 case_2:
5616 {
5617#line 459
5618 __cil_tmp146 = (unsigned long )w8001;
5619#line 459
5620 __cil_tmp147 = __cil_tmp146 + 132;
5621#line 459
5622 *((unsigned int *)__cil_tmp147) = 5U;
5623#line 460
5624 __cil_tmp148 = (unsigned long )w8001;
5625#line 460
5626 __cil_tmp149 = __cil_tmp148 + 64;
5627#line 460
5628 *((int *)__cil_tmp149) = 147;
5629#line 461
5630 __cil_tmp150 = 0 * 1UL;
5631#line 461
5632 __cil_tmp151 = 144 + __cil_tmp150;
5633#line 461
5634 __cil_tmp152 = (unsigned long )w8001;
5635#line 461
5636 __cil_tmp153 = __cil_tmp152 + __cil_tmp151;
5637#line 461
5638 __cil_tmp154 = (char *)__cil_tmp153;
5639#line 461
5640 strlcat(__cil_tmp154, " 1FG", 64UL);
5641 }
5642#line 462
5643 goto switch_break;
5644 case_1:
5645 case_3:
5646 case_4:
5647 {
5648#line 467
5649 __cil_tmp155 = (unsigned long )w8001;
5650#line 467
5651 __cil_tmp156 = __cil_tmp155 + 132;
5652#line 467
5653 *((unsigned int *)__cil_tmp156) = 7U;
5654#line 468
5655 __cil_tmp157 = 0 * 1UL;
5656#line 468
5657 __cil_tmp158 = 144 + __cil_tmp157;
5658#line 468
5659 __cil_tmp159 = (unsigned long )w8001;
5660#line 468
5661 __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
5662#line 468
5663 __cil_tmp161 = (char *)__cil_tmp160;
5664#line 468
5665 strlcat(__cil_tmp161, " 1FG", 64UL);
5666#line 469
5667 __cil_tmp162 = (unsigned long )w8001;
5668#line 469
5669 __cil_tmp163 = __cil_tmp162 + 64;
5670#line 469
5671 *((int *)__cil_tmp163) = 154;
5672 }
5673#line 470
5674 goto switch_break;
5675 case_5:
5676 {
5677#line 473
5678 __cil_tmp164 = (unsigned long )w8001;
5679#line 473
5680 __cil_tmp165 = __cil_tmp164 + 132;
5681#line 473
5682 *((unsigned int *)__cil_tmp165) = 13U;
5683#line 475
5684 input_mt_init_slots(dev, 2U);
5685#line 476
5686 __cil_tmp166 = & touch;
5687#line 476
5688 __cil_tmp167 = *((u16 *)__cil_tmp166);
5689#line 476
5690 __cil_tmp168 = (int )__cil_tmp167;
5691#line 476
5692 input_set_abs_params(dev, 53U, 0, __cil_tmp168, 0, 0);
5693#line 478
5694 __cil_tmp169 = (unsigned long )(& touch) + 2;
5695#line 478
5696 __cil_tmp170 = *((u16 *)__cil_tmp169);
5697#line 478
5698 __cil_tmp171 = (int )__cil_tmp170;
5699#line 478
5700 input_set_abs_params(dev, 54U, 0, __cil_tmp171, 0, 0);
5701#line 480
5702 input_set_abs_params(dev, 55U, 0, 1, 0, 0);
5703#line 483
5704 __cil_tmp172 = 0 * 1UL;
5705#line 483
5706 __cil_tmp173 = 144 + __cil_tmp172;
5707#line 483
5708 __cil_tmp174 = (unsigned long )w8001;
5709#line 483
5710 __cil_tmp175 = __cil_tmp174 + __cil_tmp173;
5711#line 483
5712 __cil_tmp176 = (char *)__cil_tmp175;
5713#line 483
5714 strlcat(__cil_tmp176, " 2FG", 64UL);
5715 }
5716 {
5717#line 484
5718 __cil_tmp177 = (unsigned long )w8001;
5719#line 484
5720 __cil_tmp178 = __cil_tmp177 + 140;
5721#line 484
5722 if (*((u16 *)__cil_tmp178)) {
5723 {
5724#line 484
5725 __cil_tmp179 = (unsigned long )w8001;
5726#line 484
5727 __cil_tmp180 = __cil_tmp179 + 142;
5728#line 484
5729 if (*((u16 *)__cil_tmp180)) {
5730#line 485
5731 __cil_tmp181 = (unsigned long )w8001;
5732#line 485
5733 __cil_tmp182 = __cil_tmp181 + 64;
5734#line 485
5735 *((int *)__cil_tmp182) = 227;
5736 } else {
5737#line 487
5738 __cil_tmp183 = (unsigned long )w8001;
5739#line 487
5740 __cil_tmp184 = __cil_tmp183 + 64;
5741#line 487
5742 *((int *)__cil_tmp184) = 226;
5743 }
5744 }
5745 } else {
5746#line 487
5747 __cil_tmp185 = (unsigned long )w8001;
5748#line 487
5749 __cil_tmp186 = __cil_tmp185 + 64;
5750#line 487
5751 *((int *)__cil_tmp186) = 226;
5752 }
5753 }
5754#line 488
5755 goto switch_break;
5756 } else {
5757 switch_break: ;
5758 }
5759 }
5760 } else {
5761
5762 }
5763 }
5764 } else {
5765
5766 }
5767 {
5768#line 492
5769 __cil_tmp187 = 0 * 1UL;
5770#line 492
5771 __cil_tmp188 = 144 + __cil_tmp187;
5772#line 492
5773 __cil_tmp189 = (unsigned long )w8001;
5774#line 492
5775 __cil_tmp190 = __cil_tmp189 + __cil_tmp188;
5776#line 492
5777 __cil_tmp191 = (char *)__cil_tmp190;
5778#line 492
5779 strlcat(__cil_tmp191, " Touchscreen", 64UL);
5780 }
5781#line 494
5782 return (0);
5783}
5784}
5785#line 501 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
5786static void w8001_disconnect(struct serio *serio )
5787{ struct w8001 *w8001 ;
5788 void *tmp ;
5789 struct input_dev *__cil_tmp4 ;
5790 void const *__cil_tmp5 ;
5791 void *__cil_tmp6 ;
5792
5793 {
5794 {
5795#line 503
5796 tmp = serio_get_drvdata(serio);
5797#line 503
5798 w8001 = (struct w8001 *)tmp;
5799#line 505
5800 serio_close(serio);
5801#line 507
5802 __cil_tmp4 = *((struct input_dev **)w8001);
5803#line 507
5804 input_unregister_device(__cil_tmp4);
5805#line 508
5806 __cil_tmp5 = (void const *)w8001;
5807#line 508
5808 kfree(__cil_tmp5);
5809#line 510
5810 __cil_tmp6 = (void *)0;
5811#line 510
5812 serio_set_drvdata(serio, __cil_tmp6);
5813 }
5814#line 511
5815 return;
5816}
5817}
5818#line 519 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
5819static int w8001_connect(struct serio *serio , struct serio_driver *drv )
5820{ struct w8001 *w8001 ;
5821 struct input_dev *input_dev ;
5822 int err ;
5823 void *tmp ;
5824 unsigned long __cil_tmp7 ;
5825 unsigned long __cil_tmp8 ;
5826 unsigned long __cil_tmp9 ;
5827 unsigned long __cil_tmp10 ;
5828 struct completion *__cil_tmp11 ;
5829 unsigned long __cil_tmp12 ;
5830 unsigned long __cil_tmp13 ;
5831 unsigned long __cil_tmp14 ;
5832 unsigned long __cil_tmp15 ;
5833 char *__cil_tmp16 ;
5834 unsigned long __cil_tmp17 ;
5835 unsigned long __cil_tmp18 ;
5836 unsigned long __cil_tmp19 ;
5837 unsigned long __cil_tmp20 ;
5838 char *__cil_tmp21 ;
5839 void *__cil_tmp22 ;
5840 unsigned long __cil_tmp23 ;
5841 unsigned long __cil_tmp24 ;
5842 unsigned long __cil_tmp25 ;
5843 unsigned long __cil_tmp26 ;
5844 char *__cil_tmp27 ;
5845 unsigned long __cil_tmp28 ;
5846 unsigned long __cil_tmp29 ;
5847 unsigned long __cil_tmp30 ;
5848 unsigned long __cil_tmp31 ;
5849 unsigned long __cil_tmp32 ;
5850 unsigned long __cil_tmp33 ;
5851 char *__cil_tmp34 ;
5852 unsigned long __cil_tmp35 ;
5853 unsigned long __cil_tmp36 ;
5854 unsigned long __cil_tmp37 ;
5855 unsigned long __cil_tmp38 ;
5856 unsigned long __cil_tmp39 ;
5857 int __cil_tmp40 ;
5858 unsigned long __cil_tmp41 ;
5859 unsigned long __cil_tmp42 ;
5860 unsigned long __cil_tmp43 ;
5861 unsigned long __cil_tmp44 ;
5862 unsigned long __cil_tmp45 ;
5863 unsigned long __cil_tmp46 ;
5864 unsigned long __cil_tmp47 ;
5865 unsigned long __cil_tmp48 ;
5866 unsigned long __cil_tmp49 ;
5867 unsigned long __cil_tmp50 ;
5868 unsigned long __cil_tmp51 ;
5869 unsigned long __cil_tmp52 ;
5870 unsigned long __cil_tmp53 ;
5871 unsigned long __cil_tmp54 ;
5872 unsigned long __cil_tmp55 ;
5873 unsigned long __cil_tmp56 ;
5874 void *__cil_tmp57 ;
5875 struct input_dev *__cil_tmp58 ;
5876 void *__cil_tmp59 ;
5877 void const *__cil_tmp60 ;
5878
5879 {
5880 {
5881#line 525
5882 tmp = kzalloc(208UL, 208U);
5883#line 525
5884 w8001 = (struct w8001 *)tmp;
5885#line 526
5886 input_dev = input_allocate_device();
5887 }
5888#line 527
5889 if (! w8001) {
5890#line 528
5891 err = -12;
5892#line 529
5893 goto fail1;
5894 } else
5895#line 527
5896 if (! input_dev) {
5897#line 528
5898 err = -12;
5899#line 529
5900 goto fail1;
5901 } else {
5902
5903 }
5904 {
5905#line 532
5906 __cil_tmp7 = (unsigned long )w8001;
5907#line 532
5908 __cil_tmp8 = __cil_tmp7 + 8;
5909#line 532
5910 *((struct serio **)__cil_tmp8) = serio;
5911#line 533
5912 *((struct input_dev **)w8001) = input_dev;
5913#line 534
5914 __cil_tmp9 = (unsigned long )w8001;
5915#line 534
5916 __cil_tmp10 = __cil_tmp9 + 16;
5917#line 534
5918 __cil_tmp11 = (struct completion *)__cil_tmp10;
5919#line 534
5920 init_completion(__cil_tmp11);
5921#line 535
5922 __cil_tmp12 = 0 * 1UL;
5923#line 535
5924 __cil_tmp13 = 95 + __cil_tmp12;
5925#line 535
5926 __cil_tmp14 = (unsigned long )w8001;
5927#line 535
5928 __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
5929#line 535
5930 __cil_tmp16 = (char *)__cil_tmp15;
5931#line 535
5932 __cil_tmp17 = 0 * 1UL;
5933#line 535
5934 __cil_tmp18 = 40 + __cil_tmp17;
5935#line 535
5936 __cil_tmp19 = (unsigned long )serio;
5937#line 535
5938 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
5939#line 535
5940 __cil_tmp21 = (char *)__cil_tmp20;
5941#line 535
5942 snprintf(__cil_tmp16, 32UL, "%s/input0", __cil_tmp21);
5943#line 537
5944 __cil_tmp22 = (void *)w8001;
5945#line 537
5946 serio_set_drvdata(serio, __cil_tmp22);
5947#line 538
5948 err = serio_open(serio, drv);
5949 }
5950#line 539
5951 if (err) {
5952#line 540
5953 goto fail2;
5954 } else {
5955
5956 }
5957 {
5958#line 542
5959 err = w8001_setup(w8001);
5960 }
5961#line 543
5962 if (err) {
5963#line 544
5964 goto fail3;
5965 } else {
5966
5967 }
5968 {
5969#line 546
5970 __cil_tmp23 = 0 * 1UL;
5971#line 546
5972 __cil_tmp24 = 144 + __cil_tmp23;
5973#line 546
5974 __cil_tmp25 = (unsigned long )w8001;
5975#line 546
5976 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
5977#line 546
5978 __cil_tmp27 = (char *)__cil_tmp26;
5979#line 546
5980 *((char const **)input_dev) = (char const *)__cil_tmp27;
5981#line 547
5982 __cil_tmp28 = (unsigned long )input_dev;
5983#line 547
5984 __cil_tmp29 = __cil_tmp28 + 8;
5985#line 547
5986 __cil_tmp30 = 0 * 1UL;
5987#line 547
5988 __cil_tmp31 = 95 + __cil_tmp30;
5989#line 547
5990 __cil_tmp32 = (unsigned long )w8001;
5991#line 547
5992 __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
5993#line 547
5994 __cil_tmp34 = (char *)__cil_tmp33;
5995#line 547
5996 *((char const **)__cil_tmp29) = (char const *)__cil_tmp34;
5997#line 548
5998 __cil_tmp35 = 24 + 4;
5999#line 548
6000 __cil_tmp36 = (unsigned long )input_dev;
6001#line 548
6002 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
6003#line 548
6004 __cil_tmp38 = (unsigned long )w8001;
6005#line 548
6006 __cil_tmp39 = __cil_tmp38 + 64;
6007#line 548
6008 __cil_tmp40 = *((int *)__cil_tmp39);
6009#line 548
6010 *((__u16 *)__cil_tmp37) = (__u16 )__cil_tmp40;
6011#line 549
6012 __cil_tmp41 = (unsigned long )input_dev;
6013#line 549
6014 __cil_tmp42 = __cil_tmp41 + 24;
6015#line 549
6016 *((__u16 *)__cil_tmp42) = (__u16 )19;
6017#line 550
6018 __cil_tmp43 = 24 + 2;
6019#line 550
6020 __cil_tmp44 = (unsigned long )input_dev;
6021#line 550
6022 __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
6023#line 550
6024 *((__u16 *)__cil_tmp45) = (__u16 )1386;
6025#line 551
6026 __cil_tmp46 = 24 + 6;
6027#line 551
6028 __cil_tmp47 = (unsigned long )input_dev;
6029#line 551
6030 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
6031#line 551
6032 *((__u16 *)__cil_tmp48) = (__u16 )256;
6033#line 552
6034 __cil_tmp49 = (unsigned long )input_dev;
6035#line 552
6036 __cil_tmp50 = __cil_tmp49 + 648;
6037#line 552
6038 __cil_tmp51 = (unsigned long )serio;
6039#line 552
6040 __cil_tmp52 = __cil_tmp51 + 272;
6041#line 552
6042 *((struct device **)__cil_tmp50) = (struct device *)__cil_tmp52;
6043#line 554
6044 __cil_tmp53 = (unsigned long )input_dev;
6045#line 554
6046 __cil_tmp54 = __cil_tmp53 + 504;
6047#line 554
6048 *((int (**)(struct input_dev *dev ))__cil_tmp54) = & w8001_open;
6049#line 555
6050 __cil_tmp55 = (unsigned long )input_dev;
6051#line 555
6052 __cil_tmp56 = __cil_tmp55 + 512;
6053#line 555
6054 *((void (**)(struct input_dev *dev ))__cil_tmp56) = & w8001_close;
6055#line 557
6056 __cil_tmp57 = (void *)w8001;
6057#line 557
6058 input_set_drvdata(input_dev, __cil_tmp57);
6059#line 559
6060 __cil_tmp58 = *((struct input_dev **)w8001);
6061#line 559
6062 err = (int )input_register_device(__cil_tmp58);
6063 }
6064#line 560
6065 if (err) {
6066#line 561
6067 goto fail3;
6068 } else {
6069
6070 }
6071#line 563
6072 return (0);
6073 fail3:
6074 {
6075#line 566
6076 serio_close(serio);
6077 }
6078 fail2:
6079 {
6080#line 568
6081 __cil_tmp59 = (void *)0;
6082#line 568
6083 serio_set_drvdata(serio, __cil_tmp59);
6084 }
6085 fail1:
6086 {
6087#line 570
6088 input_free_device(input_dev);
6089#line 571
6090 __cil_tmp60 = (void const *)w8001;
6091#line 571
6092 kfree(__cil_tmp60);
6093 }
6094#line 572
6095 return (err);
6096}
6097}
6098#line 575 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6099static struct serio_device_id w8001_serio_ids[2] = { {(__u8 )2, (__u8 )255, (__u8 )255, (__u8 )57},
6100 {(__u8 )0, (unsigned char)0, (unsigned char)0, (unsigned char)0}};
6101#line 585
6102extern struct serio_device_id const __mod_serio_device_table __attribute__((__unused__,
6103__alias__("w8001_serio_ids"))) ;
6104#line 587 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6105static struct serio_driver w8001_drv =
6106#line 587
6107 {"Wacom W8001 serial touchscreen driver", (struct serio_device_id const *)(w8001_serio_ids),
6108 (_Bool)0, (void (*)(struct serio * ))0, & w8001_interrupt, & w8001_connect, (int (*)(struct serio * ))0,
6109 & w8001_disconnect, (void (*)(struct serio * ))0, {"w8001", (struct bus_type *)0,
6110 (struct module *)0, (char const *)0,
6111 (_Bool)0, (struct of_device_id const *)0,
6112 (int (*)(struct device *dev ))0,
6113 (int (*)(struct device *dev ))0,
6114 (void (*)(struct device *dev ))0,
6115 (int (*)(struct device *dev ,
6116 pm_message_t state ))0,
6117 (int (*)(struct device *dev ))0,
6118 (struct attribute_group const **)0,
6119 (struct dev_pm_ops const *)0,
6120 (struct driver_private *)0}};
6121#line 598
6122static int w8001_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
6123#line 598 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6124static int w8001_init(void)
6125{ int tmp ;
6126
6127 {
6128 {
6129#line 600
6130 tmp = (int )__serio_register_driver(& w8001_drv, & __this_module, "wacom_w8001");
6131 }
6132#line 600
6133 return (tmp);
6134}
6135}
6136#line 603
6137static void w8001_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
6138#line 603 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6139static void w8001_exit(void)
6140{
6141
6142 {
6143 {
6144#line 605
6145 serio_unregister_driver(& w8001_drv);
6146 }
6147#line 606
6148 return;
6149}
6150}
6151#line 608 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6152int init_module(void)
6153{ int tmp ;
6154
6155 {
6156 {
6157#line 608
6158 tmp = w8001_init();
6159 }
6160#line 608
6161 return (tmp);
6162}
6163}
6164#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6165void cleanup_module(void)
6166{
6167
6168 {
6169 {
6170#line 609
6171 w8001_exit();
6172 }
6173#line 609
6174 return;
6175}
6176}
6177#line 627
6178void ldv_check_final_state(void) ;
6179#line 630
6180extern void ldv_check_return_value(int res ) ;
6181#line 633
6182extern void ldv_initialize(void) ;
6183#line 636
6184extern int __VERIFIER_nondet_int(void) ;
6185#line 639 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6186int LDV_IN_INTERRUPT ;
6187#line 704 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6188static int res_w8001_connect_13 ;
6189#line 642 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6190void main(void)
6191{ struct serio *var_group1 ;
6192 unsigned char var_w8001_interrupt_7_p1 ;
6193 unsigned int var_w8001_interrupt_7_p2 ;
6194 struct serio_driver *var_group2 ;
6195 int tmp ;
6196 int ldv_s_w8001_drv_serio_driver ;
6197 int tmp___0 ;
6198 int tmp___1 ;
6199 int __cil_tmp9 ;
6200
6201 {
6202 {
6203#line 735
6204 LDV_IN_INTERRUPT = 1;
6205#line 744
6206 ldv_initialize();
6207#line 771
6208 tmp = w8001_init();
6209 }
6210#line 771
6211 if (tmp) {
6212#line 772
6213 goto ldv_final;
6214 } else {
6215
6216 }
6217#line 773
6218 ldv_s_w8001_drv_serio_driver = 0;
6219 {
6220#line 777
6221 while (1) {
6222 while_continue: ;
6223 {
6224#line 777
6225 tmp___1 = __VERIFIER_nondet_int();
6226 }
6227#line 777
6228 if (tmp___1) {
6229
6230 } else {
6231 {
6232#line 777
6233 __cil_tmp9 = ldv_s_w8001_drv_serio_driver == 0;
6234#line 777
6235 if (! __cil_tmp9) {
6236
6237 } else {
6238#line 777
6239 goto while_break;
6240 }
6241 }
6242 }
6243 {
6244#line 781
6245 tmp___0 = __VERIFIER_nondet_int();
6246 }
6247#line 783
6248 if (tmp___0 == 0) {
6249#line 783
6250 goto case_0;
6251 } else
6252#line 823
6253 if (tmp___0 == 1) {
6254#line 823
6255 goto case_1;
6256 } else
6257#line 860
6258 if (tmp___0 == 2) {
6259#line 860
6260 goto case_2;
6261 } else {
6262 {
6263#line 897
6264 goto switch_default;
6265#line 781
6266 if (0) {
6267 case_0:
6268#line 786
6269 if (ldv_s_w8001_drv_serio_driver == 0) {
6270 {
6271#line 812
6272 res_w8001_connect_13 = w8001_connect(var_group1, var_group2);
6273#line 813
6274 ldv_check_return_value(res_w8001_connect_13);
6275 }
6276#line 814
6277 if (res_w8001_connect_13) {
6278#line 815
6279 goto ldv_module_exit;
6280 } else {
6281
6282 }
6283#line 816
6284 ldv_s_w8001_drv_serio_driver = ldv_s_w8001_drv_serio_driver + 1;
6285 } else {
6286
6287 }
6288#line 822
6289 goto switch_break;
6290 case_1:
6291#line 826
6292 if (ldv_s_w8001_drv_serio_driver == 1) {
6293 {
6294#line 852
6295 w8001_disconnect(var_group1);
6296#line 853
6297 ldv_s_w8001_drv_serio_driver = 0;
6298 }
6299 } else {
6300
6301 }
6302#line 859
6303 goto switch_break;
6304 case_2:
6305 {
6306#line 889
6307 w8001_interrupt(var_group1, var_w8001_interrupt_7_p1, var_w8001_interrupt_7_p2);
6308 }
6309#line 896
6310 goto switch_break;
6311 switch_default:
6312#line 897
6313 goto switch_break;
6314 } else {
6315 switch_break: ;
6316 }
6317 }
6318 }
6319 }
6320 while_break: ;
6321 }
6322 ldv_module_exit:
6323 {
6324#line 930
6325 w8001_exit();
6326 }
6327 ldv_final:
6328 {
6329#line 933
6330 ldv_check_final_state();
6331 }
6332#line 936
6333 return;
6334}
6335}
6336#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
6337void ldv_blast_assert(void)
6338{
6339
6340 {
6341 ERROR:
6342#line 6
6343 goto ERROR;
6344}
6345}
6346#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
6347extern int __VERIFIER_nondet_int(void) ;
6348#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6349int ldv_mutex = 1;
6350#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6351int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
6352{ int nondetermined ;
6353
6354 {
6355#line 29
6356 if (ldv_mutex == 1) {
6357
6358 } else {
6359 {
6360#line 29
6361 ldv_blast_assert();
6362 }
6363 }
6364 {
6365#line 32
6366 nondetermined = __VERIFIER_nondet_int();
6367 }
6368#line 35
6369 if (nondetermined) {
6370#line 38
6371 ldv_mutex = 2;
6372#line 40
6373 return (0);
6374 } else {
6375#line 45
6376 return (-4);
6377 }
6378}
6379}
6380#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6381int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
6382{ int nondetermined ;
6383
6384 {
6385#line 57
6386 if (ldv_mutex == 1) {
6387
6388 } else {
6389 {
6390#line 57
6391 ldv_blast_assert();
6392 }
6393 }
6394 {
6395#line 60
6396 nondetermined = __VERIFIER_nondet_int();
6397 }
6398#line 63
6399 if (nondetermined) {
6400#line 66
6401 ldv_mutex = 2;
6402#line 68
6403 return (0);
6404 } else {
6405#line 73
6406 return (-4);
6407 }
6408}
6409}
6410#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6411int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
6412{ int atomic_value_after_dec ;
6413
6414 {
6415#line 83
6416 if (ldv_mutex == 1) {
6417
6418 } else {
6419 {
6420#line 83
6421 ldv_blast_assert();
6422 }
6423 }
6424 {
6425#line 86
6426 atomic_value_after_dec = __VERIFIER_nondet_int();
6427 }
6428#line 89
6429 if (atomic_value_after_dec == 0) {
6430#line 92
6431 ldv_mutex = 2;
6432#line 94
6433 return (1);
6434 } else {
6435
6436 }
6437#line 98
6438 return (0);
6439}
6440}
6441#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6442void mutex_lock(struct mutex *lock )
6443{
6444
6445 {
6446#line 108
6447 if (ldv_mutex == 1) {
6448
6449 } else {
6450 {
6451#line 108
6452 ldv_blast_assert();
6453 }
6454 }
6455#line 110
6456 ldv_mutex = 2;
6457#line 111
6458 return;
6459}
6460}
6461#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6462int mutex_trylock(struct mutex *lock )
6463{ int nondetermined ;
6464
6465 {
6466#line 121
6467 if (ldv_mutex == 1) {
6468
6469 } else {
6470 {
6471#line 121
6472 ldv_blast_assert();
6473 }
6474 }
6475 {
6476#line 124
6477 nondetermined = __VERIFIER_nondet_int();
6478 }
6479#line 127
6480 if (nondetermined) {
6481#line 130
6482 ldv_mutex = 2;
6483#line 132
6484 return (1);
6485 } else {
6486#line 137
6487 return (0);
6488 }
6489}
6490}
6491#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6492void mutex_unlock(struct mutex *lock )
6493{
6494
6495 {
6496#line 147
6497 if (ldv_mutex == 2) {
6498
6499 } else {
6500 {
6501#line 147
6502 ldv_blast_assert();
6503 }
6504 }
6505#line 149
6506 ldv_mutex = 1;
6507#line 150
6508 return;
6509}
6510}
6511#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
6512void ldv_check_final_state(void)
6513{
6514
6515 {
6516#line 156
6517 if (ldv_mutex == 1) {
6518
6519 } else {
6520 {
6521#line 156
6522 ldv_blast_assert();
6523 }
6524 }
6525#line 157
6526 return;
6527}
6528}
6529#line 945 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4199/dscv_tempdir/dscv/ri/32_1/drivers/input/touchscreen/wacom_w8001.c.common.c"
6530long s__builtin_expect(long val , long res )
6531{
6532
6533 {
6534#line 946
6535 return (val);
6536}
6537}