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