1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 219 "include/linux/types.h"
77struct __anonstruct_atomic_t_7 {
78 int counter ;
79};
80#line 219 "include/linux/types.h"
81typedef struct __anonstruct_atomic_t_7 atomic_t;
82#line 224 "include/linux/types.h"
83struct __anonstruct_atomic64_t_8 {
84 long counter ;
85};
86#line 224 "include/linux/types.h"
87typedef struct __anonstruct_atomic64_t_8 atomic64_t;
88#line 229 "include/linux/types.h"
89struct list_head {
90 struct list_head *next ;
91 struct list_head *prev ;
92};
93#line 233
94struct hlist_node;
95#line 233 "include/linux/types.h"
96struct hlist_head {
97 struct hlist_node *first ;
98};
99#line 237 "include/linux/types.h"
100struct hlist_node {
101 struct hlist_node *next ;
102 struct hlist_node **pprev ;
103};
104#line 253 "include/linux/types.h"
105struct rcu_head {
106 struct rcu_head *next ;
107 void (*func)(struct rcu_head *head ) ;
108};
109#line 202 "include/linux/ioport.h"
110struct device;
111#line 202
112struct device;
113#line 12 "include/linux/lockdep.h"
114struct task_struct;
115#line 12
116struct task_struct;
117#line 391 "include/linux/lockdep.h"
118struct lock_class_key {
119
120};
121#line 20 "include/linux/kobject_ns.h"
122struct sock;
123#line 20
124struct sock;
125#line 21
126struct kobject;
127#line 21
128struct kobject;
129#line 27
130enum kobj_ns_type {
131 KOBJ_NS_TYPE_NONE = 0,
132 KOBJ_NS_TYPE_NET = 1,
133 KOBJ_NS_TYPES = 2
134} ;
135#line 40 "include/linux/kobject_ns.h"
136struct kobj_ns_type_operations {
137 enum kobj_ns_type type ;
138 void *(*grab_current_ns)(void) ;
139 void const *(*netlink_ns)(struct sock *sk ) ;
140 void const *(*initial_ns)(void) ;
141 void (*drop_ns)(void * ) ;
142};
143#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
144struct task_struct;
145#line 146 "include/linux/init.h"
146typedef void (*ctor_fn_t)(void);
147#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
148struct page;
149#line 295
150struct file;
151#line 295
152struct file;
153#line 313
154struct seq_file;
155#line 313
156struct seq_file;
157#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
158struct page;
159#line 52
160struct task_struct;
161#line 329
162struct arch_spinlock;
163#line 329
164struct arch_spinlock;
165#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
166struct task_struct;
167#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
168struct module;
169#line 56
170struct module;
171#line 47 "include/linux/dynamic_debug.h"
172struct device;
173#line 135 "include/linux/kernel.h"
174struct completion;
175#line 135
176struct completion;
177#line 349
178struct pid;
179#line 349
180struct pid;
181#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
182struct task_struct;
183#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
184struct page;
185#line 10 "include/asm-generic/bug.h"
186struct bug_entry {
187 int bug_addr_disp ;
188 int file_disp ;
189 unsigned short line ;
190 unsigned short flags ;
191};
192#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
193struct static_key;
194#line 234
195struct static_key;
196#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
197struct kmem_cache;
198#line 23 "include/asm-generic/atomic-long.h"
199typedef atomic64_t atomic_long_t;
200#line 22 "include/linux/sysfs.h"
201struct kobject;
202#line 23
203struct module;
204#line 24
205enum kobj_ns_type;
206#line 26 "include/linux/sysfs.h"
207struct attribute {
208 char const *name ;
209 umode_t mode ;
210};
211#line 56 "include/linux/sysfs.h"
212struct attribute_group {
213 char const *name ;
214 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
215 struct attribute **attrs ;
216};
217#line 85
218struct file;
219#line 86
220struct vm_area_struct;
221#line 86
222struct vm_area_struct;
223#line 88 "include/linux/sysfs.h"
224struct bin_attribute {
225 struct attribute attr ;
226 size_t size ;
227 void *private ;
228 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
229 loff_t , size_t ) ;
230 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
231 loff_t , size_t ) ;
232 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
233};
234#line 112 "include/linux/sysfs.h"
235struct sysfs_ops {
236 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
237 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
238 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
239};
240#line 118
241struct sysfs_dirent;
242#line 118
243struct sysfs_dirent;
244#line 12 "include/linux/thread_info.h"
245struct timespec;
246#line 12
247struct timespec;
248#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
249struct task_struct;
250#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
251typedef u16 __ticket_t;
252#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
253typedef u32 __ticketpair_t;
254#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
255struct __raw_tickets {
256 __ticket_t head ;
257 __ticket_t tail ;
258};
259#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
260union __anonunion____missing_field_name_36 {
261 __ticketpair_t head_tail ;
262 struct __raw_tickets tickets ;
263};
264#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
265struct arch_spinlock {
266 union __anonunion____missing_field_name_36 __annonCompField17 ;
267};
268#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
269typedef struct arch_spinlock arch_spinlock_t;
270#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
271struct __anonstruct____missing_field_name_38 {
272 u32 read ;
273 s32 write ;
274};
275#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
276union __anonunion_arch_rwlock_t_37 {
277 s64 lock ;
278 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
279};
280#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
281typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
282#line 20 "include/linux/spinlock_types.h"
283struct raw_spinlock {
284 arch_spinlock_t raw_lock ;
285 unsigned int magic ;
286 unsigned int owner_cpu ;
287 void *owner ;
288};
289#line 20 "include/linux/spinlock_types.h"
290typedef struct raw_spinlock raw_spinlock_t;
291#line 64 "include/linux/spinlock_types.h"
292union __anonunion____missing_field_name_39 {
293 struct raw_spinlock rlock ;
294};
295#line 64 "include/linux/spinlock_types.h"
296struct spinlock {
297 union __anonunion____missing_field_name_39 __annonCompField19 ;
298};
299#line 64 "include/linux/spinlock_types.h"
300typedef struct spinlock spinlock_t;
301#line 11 "include/linux/rwlock_types.h"
302struct __anonstruct_rwlock_t_40 {
303 arch_rwlock_t raw_lock ;
304 unsigned int magic ;
305 unsigned int owner_cpu ;
306 void *owner ;
307};
308#line 11 "include/linux/rwlock_types.h"
309typedef struct __anonstruct_rwlock_t_40 rwlock_t;
310#line 22 "include/linux/kref.h"
311struct kref {
312 atomic_t refcount ;
313};
314#line 49 "include/linux/wait.h"
315struct __wait_queue_head {
316 spinlock_t lock ;
317 struct list_head task_list ;
318};
319#line 53 "include/linux/wait.h"
320typedef struct __wait_queue_head wait_queue_head_t;
321#line 55
322struct task_struct;
323#line 60 "include/linux/kobject.h"
324struct kset;
325#line 60
326struct kobj_type;
327#line 60 "include/linux/kobject.h"
328struct kobject {
329 char const *name ;
330 struct list_head entry ;
331 struct kobject *parent ;
332 struct kset *kset ;
333 struct kobj_type *ktype ;
334 struct sysfs_dirent *sd ;
335 struct kref kref ;
336 unsigned int state_initialized : 1 ;
337 unsigned int state_in_sysfs : 1 ;
338 unsigned int state_add_uevent_sent : 1 ;
339 unsigned int state_remove_uevent_sent : 1 ;
340 unsigned int uevent_suppress : 1 ;
341};
342#line 108 "include/linux/kobject.h"
343struct kobj_type {
344 void (*release)(struct kobject *kobj ) ;
345 struct sysfs_ops const *sysfs_ops ;
346 struct attribute **default_attrs ;
347 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
348 void const *(*namespace)(struct kobject *kobj ) ;
349};
350#line 116 "include/linux/kobject.h"
351struct kobj_uevent_env {
352 char *envp[32] ;
353 int envp_idx ;
354 char buf[2048] ;
355 int buflen ;
356};
357#line 123 "include/linux/kobject.h"
358struct kset_uevent_ops {
359 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
360 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
361 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
362};
363#line 140
364struct sock;
365#line 159 "include/linux/kobject.h"
366struct kset {
367 struct list_head list ;
368 spinlock_t list_lock ;
369 struct kobject kobj ;
370 struct kset_uevent_ops const *uevent_ops ;
371};
372#line 19 "include/linux/klist.h"
373struct klist_node;
374#line 19
375struct klist_node;
376#line 39 "include/linux/klist.h"
377struct klist_node {
378 void *n_klist ;
379 struct list_head n_node ;
380 struct kref n_ref ;
381};
382#line 48 "include/linux/mutex.h"
383struct mutex {
384 atomic_t count ;
385 spinlock_t wait_lock ;
386 struct list_head wait_list ;
387 struct task_struct *owner ;
388 char const *name ;
389 void *magic ;
390};
391#line 119 "include/linux/seqlock.h"
392struct seqcount {
393 unsigned int sequence ;
394};
395#line 119 "include/linux/seqlock.h"
396typedef struct seqcount seqcount_t;
397#line 14 "include/linux/time.h"
398struct timespec {
399 __kernel_time_t tv_sec ;
400 long tv_nsec ;
401};
402#line 46 "include/linux/ktime.h"
403union ktime {
404 s64 tv64 ;
405};
406#line 59 "include/linux/ktime.h"
407typedef union ktime ktime_t;
408#line 10 "include/linux/timer.h"
409struct tvec_base;
410#line 10
411struct tvec_base;
412#line 12 "include/linux/timer.h"
413struct timer_list {
414 struct list_head entry ;
415 unsigned long expires ;
416 struct tvec_base *base ;
417 void (*function)(unsigned long ) ;
418 unsigned long data ;
419 int slack ;
420 int start_pid ;
421 void *start_site ;
422 char start_comm[16] ;
423};
424#line 17 "include/linux/workqueue.h"
425struct work_struct;
426#line 17
427struct work_struct;
428#line 79 "include/linux/workqueue.h"
429struct work_struct {
430 atomic_long_t data ;
431 struct list_head entry ;
432 void (*func)(struct work_struct *work ) ;
433};
434#line 25 "include/linux/completion.h"
435struct completion {
436 unsigned int done ;
437 wait_queue_head_t wait ;
438};
439#line 42 "include/linux/pm.h"
440struct device;
441#line 50 "include/linux/pm.h"
442struct pm_message {
443 int event ;
444};
445#line 50 "include/linux/pm.h"
446typedef struct pm_message pm_message_t;
447#line 264 "include/linux/pm.h"
448struct dev_pm_ops {
449 int (*prepare)(struct device *dev ) ;
450 void (*complete)(struct device *dev ) ;
451 int (*suspend)(struct device *dev ) ;
452 int (*resume)(struct device *dev ) ;
453 int (*freeze)(struct device *dev ) ;
454 int (*thaw)(struct device *dev ) ;
455 int (*poweroff)(struct device *dev ) ;
456 int (*restore)(struct device *dev ) ;
457 int (*suspend_late)(struct device *dev ) ;
458 int (*resume_early)(struct device *dev ) ;
459 int (*freeze_late)(struct device *dev ) ;
460 int (*thaw_early)(struct device *dev ) ;
461 int (*poweroff_late)(struct device *dev ) ;
462 int (*restore_early)(struct device *dev ) ;
463 int (*suspend_noirq)(struct device *dev ) ;
464 int (*resume_noirq)(struct device *dev ) ;
465 int (*freeze_noirq)(struct device *dev ) ;
466 int (*thaw_noirq)(struct device *dev ) ;
467 int (*poweroff_noirq)(struct device *dev ) ;
468 int (*restore_noirq)(struct device *dev ) ;
469 int (*runtime_suspend)(struct device *dev ) ;
470 int (*runtime_resume)(struct device *dev ) ;
471 int (*runtime_idle)(struct device *dev ) ;
472};
473#line 458
474enum rpm_status {
475 RPM_ACTIVE = 0,
476 RPM_RESUMING = 1,
477 RPM_SUSPENDED = 2,
478 RPM_SUSPENDING = 3
479} ;
480#line 480
481enum rpm_request {
482 RPM_REQ_NONE = 0,
483 RPM_REQ_IDLE = 1,
484 RPM_REQ_SUSPEND = 2,
485 RPM_REQ_AUTOSUSPEND = 3,
486 RPM_REQ_RESUME = 4
487} ;
488#line 488
489struct wakeup_source;
490#line 488
491struct wakeup_source;
492#line 495 "include/linux/pm.h"
493struct pm_subsys_data {
494 spinlock_t lock ;
495 unsigned int refcount ;
496};
497#line 506
498struct dev_pm_qos_request;
499#line 506
500struct pm_qos_constraints;
501#line 506 "include/linux/pm.h"
502struct dev_pm_info {
503 pm_message_t power_state ;
504 unsigned int can_wakeup : 1 ;
505 unsigned int async_suspend : 1 ;
506 bool is_prepared : 1 ;
507 bool is_suspended : 1 ;
508 bool ignore_children : 1 ;
509 spinlock_t lock ;
510 struct list_head entry ;
511 struct completion completion ;
512 struct wakeup_source *wakeup ;
513 bool wakeup_path : 1 ;
514 struct timer_list suspend_timer ;
515 unsigned long timer_expires ;
516 struct work_struct work ;
517 wait_queue_head_t wait_queue ;
518 atomic_t usage_count ;
519 atomic_t child_count ;
520 unsigned int disable_depth : 3 ;
521 unsigned int idle_notification : 1 ;
522 unsigned int request_pending : 1 ;
523 unsigned int deferred_resume : 1 ;
524 unsigned int run_wake : 1 ;
525 unsigned int runtime_auto : 1 ;
526 unsigned int no_callbacks : 1 ;
527 unsigned int irq_safe : 1 ;
528 unsigned int use_autosuspend : 1 ;
529 unsigned int timer_autosuspends : 1 ;
530 enum rpm_request request ;
531 enum rpm_status runtime_status ;
532 int runtime_error ;
533 int autosuspend_delay ;
534 unsigned long last_busy ;
535 unsigned long active_jiffies ;
536 unsigned long suspended_jiffies ;
537 unsigned long accounting_timestamp ;
538 ktime_t suspend_time ;
539 s64 max_time_suspended_ns ;
540 struct dev_pm_qos_request *pq_req ;
541 struct pm_subsys_data *subsys_data ;
542 struct pm_qos_constraints *constraints ;
543};
544#line 564 "include/linux/pm.h"
545struct dev_pm_domain {
546 struct dev_pm_ops ops ;
547};
548#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
549struct dma_map_ops;
550#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
551struct dev_archdata {
552 void *acpi_handle ;
553 struct dma_map_ops *dma_ops ;
554 void *iommu ;
555};
556#line 28 "include/linux/device.h"
557struct device;
558#line 29
559struct device_private;
560#line 29
561struct device_private;
562#line 30
563struct device_driver;
564#line 30
565struct device_driver;
566#line 31
567struct driver_private;
568#line 31
569struct driver_private;
570#line 32
571struct module;
572#line 33
573struct class;
574#line 33
575struct class;
576#line 34
577struct subsys_private;
578#line 34
579struct subsys_private;
580#line 35
581struct bus_type;
582#line 35
583struct bus_type;
584#line 36
585struct device_node;
586#line 36
587struct device_node;
588#line 37
589struct iommu_ops;
590#line 37
591struct iommu_ops;
592#line 39 "include/linux/device.h"
593struct bus_attribute {
594 struct attribute attr ;
595 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
596 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
597};
598#line 89
599struct device_attribute;
600#line 89
601struct driver_attribute;
602#line 89 "include/linux/device.h"
603struct bus_type {
604 char const *name ;
605 char const *dev_name ;
606 struct device *dev_root ;
607 struct bus_attribute *bus_attrs ;
608 struct device_attribute *dev_attrs ;
609 struct driver_attribute *drv_attrs ;
610 int (*match)(struct device *dev , struct device_driver *drv ) ;
611 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
612 int (*probe)(struct device *dev ) ;
613 int (*remove)(struct device *dev ) ;
614 void (*shutdown)(struct device *dev ) ;
615 int (*suspend)(struct device *dev , pm_message_t state ) ;
616 int (*resume)(struct device *dev ) ;
617 struct dev_pm_ops const *pm ;
618 struct iommu_ops *iommu_ops ;
619 struct subsys_private *p ;
620};
621#line 127
622struct device_type;
623#line 214
624struct of_device_id;
625#line 214 "include/linux/device.h"
626struct device_driver {
627 char const *name ;
628 struct bus_type *bus ;
629 struct module *owner ;
630 char const *mod_name ;
631 bool suppress_bind_attrs ;
632 struct of_device_id const *of_match_table ;
633 int (*probe)(struct device *dev ) ;
634 int (*remove)(struct device *dev ) ;
635 void (*shutdown)(struct device *dev ) ;
636 int (*suspend)(struct device *dev , pm_message_t state ) ;
637 int (*resume)(struct device *dev ) ;
638 struct attribute_group const **groups ;
639 struct dev_pm_ops const *pm ;
640 struct driver_private *p ;
641};
642#line 249 "include/linux/device.h"
643struct driver_attribute {
644 struct attribute attr ;
645 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
646 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
647};
648#line 330
649struct class_attribute;
650#line 330 "include/linux/device.h"
651struct class {
652 char const *name ;
653 struct module *owner ;
654 struct class_attribute *class_attrs ;
655 struct device_attribute *dev_attrs ;
656 struct bin_attribute *dev_bin_attrs ;
657 struct kobject *dev_kobj ;
658 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
659 char *(*devnode)(struct device *dev , umode_t *mode ) ;
660 void (*class_release)(struct class *class ) ;
661 void (*dev_release)(struct device *dev ) ;
662 int (*suspend)(struct device *dev , pm_message_t state ) ;
663 int (*resume)(struct device *dev ) ;
664 struct kobj_ns_type_operations const *ns_type ;
665 void const *(*namespace)(struct device *dev ) ;
666 struct dev_pm_ops const *pm ;
667 struct subsys_private *p ;
668};
669#line 397 "include/linux/device.h"
670struct class_attribute {
671 struct attribute attr ;
672 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
673 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
674 size_t count ) ;
675 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
676};
677#line 465 "include/linux/device.h"
678struct device_type {
679 char const *name ;
680 struct attribute_group const **groups ;
681 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
682 char *(*devnode)(struct device *dev , umode_t *mode ) ;
683 void (*release)(struct device *dev ) ;
684 struct dev_pm_ops const *pm ;
685};
686#line 476 "include/linux/device.h"
687struct device_attribute {
688 struct attribute attr ;
689 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
690 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
691 size_t count ) ;
692};
693#line 559 "include/linux/device.h"
694struct device_dma_parameters {
695 unsigned int max_segment_size ;
696 unsigned long segment_boundary_mask ;
697};
698#line 627
699struct dma_coherent_mem;
700#line 627 "include/linux/device.h"
701struct device {
702 struct device *parent ;
703 struct device_private *p ;
704 struct kobject kobj ;
705 char const *init_name ;
706 struct device_type const *type ;
707 struct mutex mutex ;
708 struct bus_type *bus ;
709 struct device_driver *driver ;
710 void *platform_data ;
711 struct dev_pm_info power ;
712 struct dev_pm_domain *pm_domain ;
713 int numa_node ;
714 u64 *dma_mask ;
715 u64 coherent_dma_mask ;
716 struct device_dma_parameters *dma_parms ;
717 struct list_head dma_pools ;
718 struct dma_coherent_mem *dma_mem ;
719 struct dev_archdata archdata ;
720 struct device_node *of_node ;
721 dev_t devt ;
722 u32 id ;
723 spinlock_t devres_lock ;
724 struct list_head devres_head ;
725 struct klist_node knode_class ;
726 struct class *class ;
727 struct attribute_group const **groups ;
728 void (*release)(struct device *dev ) ;
729};
730#line 43 "include/linux/pm_wakeup.h"
731struct wakeup_source {
732 char const *name ;
733 struct list_head entry ;
734 spinlock_t lock ;
735 struct timer_list timer ;
736 unsigned long timer_expires ;
737 ktime_t total_time ;
738 ktime_t max_time ;
739 ktime_t last_time ;
740 unsigned long event_count ;
741 unsigned long active_count ;
742 unsigned long relax_count ;
743 unsigned long hit_count ;
744 unsigned int active : 1 ;
745};
746#line 60 "include/linux/pageblock-flags.h"
747struct page;
748#line 19 "include/linux/rwsem.h"
749struct rw_semaphore;
750#line 19
751struct rw_semaphore;
752#line 25 "include/linux/rwsem.h"
753struct rw_semaphore {
754 long count ;
755 raw_spinlock_t wait_lock ;
756 struct list_head wait_list ;
757};
758#line 9 "include/linux/memory_hotplug.h"
759struct page;
760#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
761struct device;
762#line 8 "include/linux/vmalloc.h"
763struct vm_area_struct;
764#line 994 "include/linux/mmzone.h"
765struct page;
766#line 10 "include/linux/gfp.h"
767struct vm_area_struct;
768#line 46 "include/linux/slub_def.h"
769struct kmem_cache_cpu {
770 void **freelist ;
771 unsigned long tid ;
772 struct page *page ;
773 struct page *partial ;
774 int node ;
775 unsigned int stat[26] ;
776};
777#line 57 "include/linux/slub_def.h"
778struct kmem_cache_node {
779 spinlock_t list_lock ;
780 unsigned long nr_partial ;
781 struct list_head partial ;
782 atomic_long_t nr_slabs ;
783 atomic_long_t total_objects ;
784 struct list_head full ;
785};
786#line 73 "include/linux/slub_def.h"
787struct kmem_cache_order_objects {
788 unsigned long x ;
789};
790#line 80 "include/linux/slub_def.h"
791struct kmem_cache {
792 struct kmem_cache_cpu *cpu_slab ;
793 unsigned long flags ;
794 unsigned long min_partial ;
795 int size ;
796 int objsize ;
797 int offset ;
798 int cpu_partial ;
799 struct kmem_cache_order_objects oo ;
800 struct kmem_cache_order_objects max ;
801 struct kmem_cache_order_objects min ;
802 gfp_t allocflags ;
803 int refcount ;
804 void (*ctor)(void * ) ;
805 int inuse ;
806 int align ;
807 int reserved ;
808 char const *name ;
809 struct list_head list ;
810 struct kobject kobj ;
811 int remote_node_defrag_ratio ;
812 struct kmem_cache_node *node[1 << 10] ;
813};
814#line 12 "include/linux/mod_devicetable.h"
815typedef unsigned long kernel_ulong_t;
816#line 136 "include/linux/mod_devicetable.h"
817struct hid_device_id {
818 __u16 bus ;
819 __u16 pad1 ;
820 __u32 vendor ;
821 __u32 product ;
822 kernel_ulong_t driver_data __attribute__((__aligned__(sizeof(kernel_ulong_t )))) ;
823};
824#line 219 "include/linux/mod_devicetable.h"
825struct of_device_id {
826 char name[32] ;
827 char type[32] ;
828 char compatible[128] ;
829 void *data ;
830};
831#line 312 "include/linux/mod_devicetable.h"
832struct input_device_id {
833 kernel_ulong_t flags ;
834 __u16 bustype ;
835 __u16 vendor ;
836 __u16 product ;
837 __u16 version ;
838 kernel_ulong_t evbit[1] ;
839 kernel_ulong_t keybit[12] ;
840 kernel_ulong_t relbit[1] ;
841 kernel_ulong_t absbit[1] ;
842 kernel_ulong_t mscbit[1] ;
843 kernel_ulong_t ledbit[1] ;
844 kernel_ulong_t sndbit[1] ;
845 kernel_ulong_t ffbit[2] ;
846 kernel_ulong_t swbit[1] ;
847 kernel_ulong_t driver_info ;
848};
849#line 43 "include/linux/input.h"
850struct input_id {
851 __u16 bustype ;
852 __u16 vendor ;
853 __u16 product ;
854 __u16 version ;
855};
856#line 69 "include/linux/input.h"
857struct input_absinfo {
858 __s32 value ;
859 __s32 minimum ;
860 __s32 maximum ;
861 __s32 fuzz ;
862 __s32 flat ;
863 __s32 resolution ;
864};
865#line 93 "include/linux/input.h"
866struct input_keymap_entry {
867 __u8 flags ;
868 __u8 len ;
869 __u16 index ;
870 __u32 keycode ;
871 __u8 scancode[32] ;
872};
873#line 957 "include/linux/input.h"
874struct ff_replay {
875 __u16 length ;
876 __u16 delay ;
877};
878#line 967 "include/linux/input.h"
879struct ff_trigger {
880 __u16 button ;
881 __u16 interval ;
882};
883#line 984 "include/linux/input.h"
884struct ff_envelope {
885 __u16 attack_length ;
886 __u16 attack_level ;
887 __u16 fade_length ;
888 __u16 fade_level ;
889};
890#line 996 "include/linux/input.h"
891struct ff_constant_effect {
892 __s16 level ;
893 struct ff_envelope envelope ;
894};
895#line 1007 "include/linux/input.h"
896struct ff_ramp_effect {
897 __s16 start_level ;
898 __s16 end_level ;
899 struct ff_envelope envelope ;
900};
901#line 1023 "include/linux/input.h"
902struct ff_condition_effect {
903 __u16 right_saturation ;
904 __u16 left_saturation ;
905 __s16 right_coeff ;
906 __s16 left_coeff ;
907 __u16 deadband ;
908 __s16 center ;
909};
910#line 1052 "include/linux/input.h"
911struct ff_periodic_effect {
912 __u16 waveform ;
913 __u16 period ;
914 __s16 magnitude ;
915 __s16 offset ;
916 __u16 phase ;
917 struct ff_envelope envelope ;
918 __u32 custom_len ;
919 __s16 *custom_data ;
920};
921#line 1073 "include/linux/input.h"
922struct ff_rumble_effect {
923 __u16 strong_magnitude ;
924 __u16 weak_magnitude ;
925};
926#line 1101 "include/linux/input.h"
927union __anonunion_u_140 {
928 struct ff_constant_effect constant ;
929 struct ff_ramp_effect ramp ;
930 struct ff_periodic_effect periodic ;
931 struct ff_condition_effect condition[2] ;
932 struct ff_rumble_effect rumble ;
933};
934#line 1101 "include/linux/input.h"
935struct ff_effect {
936 __u16 type ;
937 __s16 id ;
938 __u16 direction ;
939 struct ff_trigger trigger ;
940 struct ff_replay replay ;
941 union __anonunion_u_140 u ;
942};
943#line 15 "include/linux/blk_types.h"
944struct page;
945#line 16
946struct block_device;
947#line 16
948struct block_device;
949#line 33 "include/linux/list_bl.h"
950struct hlist_bl_node;
951#line 33 "include/linux/list_bl.h"
952struct hlist_bl_head {
953 struct hlist_bl_node *first ;
954};
955#line 37 "include/linux/list_bl.h"
956struct hlist_bl_node {
957 struct hlist_bl_node *next ;
958 struct hlist_bl_node **pprev ;
959};
960#line 13 "include/linux/dcache.h"
961struct nameidata;
962#line 13
963struct nameidata;
964#line 14
965struct path;
966#line 14
967struct path;
968#line 15
969struct vfsmount;
970#line 15
971struct vfsmount;
972#line 35 "include/linux/dcache.h"
973struct qstr {
974 unsigned int hash ;
975 unsigned int len ;
976 unsigned char const *name ;
977};
978#line 88
979struct inode;
980#line 88
981struct dentry_operations;
982#line 88
983struct super_block;
984#line 88 "include/linux/dcache.h"
985union __anonunion_d_u_141 {
986 struct list_head d_child ;
987 struct rcu_head d_rcu ;
988};
989#line 88 "include/linux/dcache.h"
990struct dentry {
991 unsigned int d_flags ;
992 seqcount_t d_seq ;
993 struct hlist_bl_node d_hash ;
994 struct dentry *d_parent ;
995 struct qstr d_name ;
996 struct inode *d_inode ;
997 unsigned char d_iname[32] ;
998 unsigned int d_count ;
999 spinlock_t d_lock ;
1000 struct dentry_operations const *d_op ;
1001 struct super_block *d_sb ;
1002 unsigned long d_time ;
1003 void *d_fsdata ;
1004 struct list_head d_lru ;
1005 union __anonunion_d_u_141 d_u ;
1006 struct list_head d_subdirs ;
1007 struct list_head d_alias ;
1008};
1009#line 131 "include/linux/dcache.h"
1010struct dentry_operations {
1011 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1012 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1013 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1014 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1015 int (*d_delete)(struct dentry const * ) ;
1016 void (*d_release)(struct dentry * ) ;
1017 void (*d_prune)(struct dentry * ) ;
1018 void (*d_iput)(struct dentry * , struct inode * ) ;
1019 char *(*d_dname)(struct dentry * , char * , int ) ;
1020 struct vfsmount *(*d_automount)(struct path * ) ;
1021 int (*d_manage)(struct dentry * , bool ) ;
1022} __attribute__((__aligned__((1) << (6) ))) ;
1023#line 4 "include/linux/path.h"
1024struct dentry;
1025#line 5
1026struct vfsmount;
1027#line 7 "include/linux/path.h"
1028struct path {
1029 struct vfsmount *mnt ;
1030 struct dentry *dentry ;
1031};
1032#line 62 "include/linux/stat.h"
1033struct kstat {
1034 u64 ino ;
1035 dev_t dev ;
1036 umode_t mode ;
1037 unsigned int nlink ;
1038 uid_t uid ;
1039 gid_t gid ;
1040 dev_t rdev ;
1041 loff_t size ;
1042 struct timespec atime ;
1043 struct timespec mtime ;
1044 struct timespec ctime ;
1045 unsigned long blksize ;
1046 unsigned long long blocks ;
1047};
1048#line 64 "include/linux/radix-tree.h"
1049struct radix_tree_node;
1050#line 64 "include/linux/radix-tree.h"
1051struct radix_tree_root {
1052 unsigned int height ;
1053 gfp_t gfp_mask ;
1054 struct radix_tree_node *rnode ;
1055};
1056#line 14 "include/linux/prio_tree.h"
1057struct prio_tree_node;
1058#line 20 "include/linux/prio_tree.h"
1059struct prio_tree_node {
1060 struct prio_tree_node *left ;
1061 struct prio_tree_node *right ;
1062 struct prio_tree_node *parent ;
1063 unsigned long start ;
1064 unsigned long last ;
1065};
1066#line 28 "include/linux/prio_tree.h"
1067struct prio_tree_root {
1068 struct prio_tree_node *prio_tree_node ;
1069 unsigned short index_bits ;
1070 unsigned short raw ;
1071};
1072#line 6 "include/linux/pid.h"
1073enum pid_type {
1074 PIDTYPE_PID = 0,
1075 PIDTYPE_PGID = 1,
1076 PIDTYPE_SID = 2,
1077 PIDTYPE_MAX = 3
1078} ;
1079#line 50
1080struct pid_namespace;
1081#line 50 "include/linux/pid.h"
1082struct upid {
1083 int nr ;
1084 struct pid_namespace *ns ;
1085 struct hlist_node pid_chain ;
1086};
1087#line 57 "include/linux/pid.h"
1088struct pid {
1089 atomic_t count ;
1090 unsigned int level ;
1091 struct hlist_head tasks[3] ;
1092 struct rcu_head rcu ;
1093 struct upid numbers[1] ;
1094};
1095#line 100
1096struct pid_namespace;
1097#line 18 "include/linux/capability.h"
1098struct task_struct;
1099#line 377
1100struct dentry;
1101#line 16 "include/linux/semaphore.h"
1102struct semaphore {
1103 raw_spinlock_t lock ;
1104 unsigned int count ;
1105 struct list_head wait_list ;
1106};
1107#line 16 "include/linux/fiemap.h"
1108struct fiemap_extent {
1109 __u64 fe_logical ;
1110 __u64 fe_physical ;
1111 __u64 fe_length ;
1112 __u64 fe_reserved64[2] ;
1113 __u32 fe_flags ;
1114 __u32 fe_reserved[3] ;
1115};
1116#line 8 "include/linux/shrinker.h"
1117struct shrink_control {
1118 gfp_t gfp_mask ;
1119 unsigned long nr_to_scan ;
1120};
1121#line 31 "include/linux/shrinker.h"
1122struct shrinker {
1123 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1124 int seeks ;
1125 long batch ;
1126 struct list_head list ;
1127 atomic_long_t nr_in_batch ;
1128};
1129#line 10 "include/linux/migrate_mode.h"
1130enum migrate_mode {
1131 MIGRATE_ASYNC = 0,
1132 MIGRATE_SYNC_LIGHT = 1,
1133 MIGRATE_SYNC = 2
1134} ;
1135#line 408 "include/linux/fs.h"
1136struct export_operations;
1137#line 408
1138struct export_operations;
1139#line 410
1140struct iovec;
1141#line 410
1142struct iovec;
1143#line 411
1144struct nameidata;
1145#line 412
1146struct kiocb;
1147#line 412
1148struct kiocb;
1149#line 413
1150struct kobject;
1151#line 414
1152struct pipe_inode_info;
1153#line 414
1154struct pipe_inode_info;
1155#line 415
1156struct poll_table_struct;
1157#line 415
1158struct poll_table_struct;
1159#line 416
1160struct kstatfs;
1161#line 416
1162struct kstatfs;
1163#line 417
1164struct vm_area_struct;
1165#line 418
1166struct vfsmount;
1167#line 419
1168struct cred;
1169#line 419
1170struct cred;
1171#line 469 "include/linux/fs.h"
1172struct iattr {
1173 unsigned int ia_valid ;
1174 umode_t ia_mode ;
1175 uid_t ia_uid ;
1176 gid_t ia_gid ;
1177 loff_t ia_size ;
1178 struct timespec ia_atime ;
1179 struct timespec ia_mtime ;
1180 struct timespec ia_ctime ;
1181 struct file *ia_file ;
1182};
1183#line 129 "include/linux/quota.h"
1184struct if_dqinfo {
1185 __u64 dqi_bgrace ;
1186 __u64 dqi_igrace ;
1187 __u32 dqi_flags ;
1188 __u32 dqi_valid ;
1189};
1190#line 50 "include/linux/dqblk_xfs.h"
1191struct fs_disk_quota {
1192 __s8 d_version ;
1193 __s8 d_flags ;
1194 __u16 d_fieldmask ;
1195 __u32 d_id ;
1196 __u64 d_blk_hardlimit ;
1197 __u64 d_blk_softlimit ;
1198 __u64 d_ino_hardlimit ;
1199 __u64 d_ino_softlimit ;
1200 __u64 d_bcount ;
1201 __u64 d_icount ;
1202 __s32 d_itimer ;
1203 __s32 d_btimer ;
1204 __u16 d_iwarns ;
1205 __u16 d_bwarns ;
1206 __s32 d_padding2 ;
1207 __u64 d_rtb_hardlimit ;
1208 __u64 d_rtb_softlimit ;
1209 __u64 d_rtbcount ;
1210 __s32 d_rtbtimer ;
1211 __u16 d_rtbwarns ;
1212 __s16 d_padding3 ;
1213 char d_padding4[8] ;
1214};
1215#line 146 "include/linux/dqblk_xfs.h"
1216struct fs_qfilestat {
1217 __u64 qfs_ino ;
1218 __u64 qfs_nblks ;
1219 __u32 qfs_nextents ;
1220};
1221#line 146 "include/linux/dqblk_xfs.h"
1222typedef struct fs_qfilestat fs_qfilestat_t;
1223#line 152 "include/linux/dqblk_xfs.h"
1224struct fs_quota_stat {
1225 __s8 qs_version ;
1226 __u16 qs_flags ;
1227 __s8 qs_pad ;
1228 fs_qfilestat_t qs_uquota ;
1229 fs_qfilestat_t qs_gquota ;
1230 __u32 qs_incoredqs ;
1231 __s32 qs_btimelimit ;
1232 __s32 qs_itimelimit ;
1233 __s32 qs_rtbtimelimit ;
1234 __u16 qs_bwarnlimit ;
1235 __u16 qs_iwarnlimit ;
1236};
1237#line 17 "include/linux/dqblk_qtree.h"
1238struct dquot;
1239#line 17
1240struct dquot;
1241#line 185 "include/linux/quota.h"
1242typedef __kernel_uid32_t qid_t;
1243#line 186 "include/linux/quota.h"
1244typedef long long qsize_t;
1245#line 200 "include/linux/quota.h"
1246struct mem_dqblk {
1247 qsize_t dqb_bhardlimit ;
1248 qsize_t dqb_bsoftlimit ;
1249 qsize_t dqb_curspace ;
1250 qsize_t dqb_rsvspace ;
1251 qsize_t dqb_ihardlimit ;
1252 qsize_t dqb_isoftlimit ;
1253 qsize_t dqb_curinodes ;
1254 time_t dqb_btime ;
1255 time_t dqb_itime ;
1256};
1257#line 215
1258struct quota_format_type;
1259#line 215
1260struct quota_format_type;
1261#line 217 "include/linux/quota.h"
1262struct mem_dqinfo {
1263 struct quota_format_type *dqi_format ;
1264 int dqi_fmt_id ;
1265 struct list_head dqi_dirty_list ;
1266 unsigned long dqi_flags ;
1267 unsigned int dqi_bgrace ;
1268 unsigned int dqi_igrace ;
1269 qsize_t dqi_maxblimit ;
1270 qsize_t dqi_maxilimit ;
1271 void *dqi_priv ;
1272};
1273#line 230
1274struct super_block;
1275#line 288 "include/linux/quota.h"
1276struct dquot {
1277 struct hlist_node dq_hash ;
1278 struct list_head dq_inuse ;
1279 struct list_head dq_free ;
1280 struct list_head dq_dirty ;
1281 struct mutex dq_lock ;
1282 atomic_t dq_count ;
1283 wait_queue_head_t dq_wait_unused ;
1284 struct super_block *dq_sb ;
1285 unsigned int dq_id ;
1286 loff_t dq_off ;
1287 unsigned long dq_flags ;
1288 short dq_type ;
1289 struct mem_dqblk dq_dqb ;
1290};
1291#line 305 "include/linux/quota.h"
1292struct quota_format_ops {
1293 int (*check_quota_file)(struct super_block *sb , int type ) ;
1294 int (*read_file_info)(struct super_block *sb , int type ) ;
1295 int (*write_file_info)(struct super_block *sb , int type ) ;
1296 int (*free_file_info)(struct super_block *sb , int type ) ;
1297 int (*read_dqblk)(struct dquot *dquot ) ;
1298 int (*commit_dqblk)(struct dquot *dquot ) ;
1299 int (*release_dqblk)(struct dquot *dquot ) ;
1300};
1301#line 316 "include/linux/quota.h"
1302struct dquot_operations {
1303 int (*write_dquot)(struct dquot * ) ;
1304 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1305 void (*destroy_dquot)(struct dquot * ) ;
1306 int (*acquire_dquot)(struct dquot * ) ;
1307 int (*release_dquot)(struct dquot * ) ;
1308 int (*mark_dirty)(struct dquot * ) ;
1309 int (*write_info)(struct super_block * , int ) ;
1310 qsize_t *(*get_reserved_space)(struct inode * ) ;
1311};
1312#line 329
1313struct path;
1314#line 332 "include/linux/quota.h"
1315struct quotactl_ops {
1316 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1317 int (*quota_on_meta)(struct super_block * , int , int ) ;
1318 int (*quota_off)(struct super_block * , int ) ;
1319 int (*quota_sync)(struct super_block * , int , int ) ;
1320 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1321 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1322 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1323 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1324 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1325 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1326};
1327#line 345 "include/linux/quota.h"
1328struct quota_format_type {
1329 int qf_fmt_id ;
1330 struct quota_format_ops const *qf_ops ;
1331 struct module *qf_owner ;
1332 struct quota_format_type *qf_next ;
1333};
1334#line 399 "include/linux/quota.h"
1335struct quota_info {
1336 unsigned int flags ;
1337 struct mutex dqio_mutex ;
1338 struct mutex dqonoff_mutex ;
1339 struct rw_semaphore dqptr_sem ;
1340 struct inode *files[2] ;
1341 struct mem_dqinfo info[2] ;
1342 struct quota_format_ops const *ops[2] ;
1343};
1344#line 532 "include/linux/fs.h"
1345struct page;
1346#line 533
1347struct address_space;
1348#line 533
1349struct address_space;
1350#line 534
1351struct writeback_control;
1352#line 534
1353struct writeback_control;
1354#line 577 "include/linux/fs.h"
1355union __anonunion_arg_149 {
1356 char *buf ;
1357 void *data ;
1358};
1359#line 577 "include/linux/fs.h"
1360struct __anonstruct_read_descriptor_t_148 {
1361 size_t written ;
1362 size_t count ;
1363 union __anonunion_arg_149 arg ;
1364 int error ;
1365};
1366#line 577 "include/linux/fs.h"
1367typedef struct __anonstruct_read_descriptor_t_148 read_descriptor_t;
1368#line 590 "include/linux/fs.h"
1369struct address_space_operations {
1370 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1371 int (*readpage)(struct file * , struct page * ) ;
1372 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1373 int (*set_page_dirty)(struct page *page ) ;
1374 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1375 unsigned int nr_pages ) ;
1376 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1377 unsigned int len , unsigned int flags , struct page **pagep ,
1378 void **fsdata ) ;
1379 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1380 unsigned int copied , struct page *page , void *fsdata ) ;
1381 sector_t (*bmap)(struct address_space * , sector_t ) ;
1382 void (*invalidatepage)(struct page * , unsigned long ) ;
1383 int (*releasepage)(struct page * , gfp_t ) ;
1384 void (*freepage)(struct page * ) ;
1385 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1386 unsigned long nr_segs ) ;
1387 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1388 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1389 int (*launder_page)(struct page * ) ;
1390 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1391 int (*error_remove_page)(struct address_space * , struct page * ) ;
1392};
1393#line 645
1394struct backing_dev_info;
1395#line 645
1396struct backing_dev_info;
1397#line 646 "include/linux/fs.h"
1398struct address_space {
1399 struct inode *host ;
1400 struct radix_tree_root page_tree ;
1401 spinlock_t tree_lock ;
1402 unsigned int i_mmap_writable ;
1403 struct prio_tree_root i_mmap ;
1404 struct list_head i_mmap_nonlinear ;
1405 struct mutex i_mmap_mutex ;
1406 unsigned long nrpages ;
1407 unsigned long writeback_index ;
1408 struct address_space_operations const *a_ops ;
1409 unsigned long flags ;
1410 struct backing_dev_info *backing_dev_info ;
1411 spinlock_t private_lock ;
1412 struct list_head private_list ;
1413 struct address_space *assoc_mapping ;
1414} __attribute__((__aligned__(sizeof(long )))) ;
1415#line 669
1416struct request_queue;
1417#line 669
1418struct request_queue;
1419#line 671
1420struct hd_struct;
1421#line 671
1422struct gendisk;
1423#line 671 "include/linux/fs.h"
1424struct block_device {
1425 dev_t bd_dev ;
1426 int bd_openers ;
1427 struct inode *bd_inode ;
1428 struct super_block *bd_super ;
1429 struct mutex bd_mutex ;
1430 struct list_head bd_inodes ;
1431 void *bd_claiming ;
1432 void *bd_holder ;
1433 int bd_holders ;
1434 bool bd_write_holder ;
1435 struct list_head bd_holder_disks ;
1436 struct block_device *bd_contains ;
1437 unsigned int bd_block_size ;
1438 struct hd_struct *bd_part ;
1439 unsigned int bd_part_count ;
1440 int bd_invalidated ;
1441 struct gendisk *bd_disk ;
1442 struct request_queue *bd_queue ;
1443 struct list_head bd_list ;
1444 unsigned long bd_private ;
1445 int bd_fsfreeze_count ;
1446 struct mutex bd_fsfreeze_mutex ;
1447};
1448#line 749
1449struct posix_acl;
1450#line 749
1451struct posix_acl;
1452#line 761
1453struct inode_operations;
1454#line 761 "include/linux/fs.h"
1455union __anonunion____missing_field_name_150 {
1456 unsigned int const i_nlink ;
1457 unsigned int __i_nlink ;
1458};
1459#line 761 "include/linux/fs.h"
1460union __anonunion____missing_field_name_151 {
1461 struct list_head i_dentry ;
1462 struct rcu_head i_rcu ;
1463};
1464#line 761
1465struct file_operations;
1466#line 761
1467struct file_lock;
1468#line 761
1469struct cdev;
1470#line 761 "include/linux/fs.h"
1471union __anonunion____missing_field_name_152 {
1472 struct pipe_inode_info *i_pipe ;
1473 struct block_device *i_bdev ;
1474 struct cdev *i_cdev ;
1475};
1476#line 761 "include/linux/fs.h"
1477struct inode {
1478 umode_t i_mode ;
1479 unsigned short i_opflags ;
1480 uid_t i_uid ;
1481 gid_t i_gid ;
1482 unsigned int i_flags ;
1483 struct posix_acl *i_acl ;
1484 struct posix_acl *i_default_acl ;
1485 struct inode_operations const *i_op ;
1486 struct super_block *i_sb ;
1487 struct address_space *i_mapping ;
1488 void *i_security ;
1489 unsigned long i_ino ;
1490 union __anonunion____missing_field_name_150 __annonCompField30 ;
1491 dev_t i_rdev ;
1492 struct timespec i_atime ;
1493 struct timespec i_mtime ;
1494 struct timespec i_ctime ;
1495 spinlock_t i_lock ;
1496 unsigned short i_bytes ;
1497 blkcnt_t i_blocks ;
1498 loff_t i_size ;
1499 unsigned long i_state ;
1500 struct mutex i_mutex ;
1501 unsigned long dirtied_when ;
1502 struct hlist_node i_hash ;
1503 struct list_head i_wb_list ;
1504 struct list_head i_lru ;
1505 struct list_head i_sb_list ;
1506 union __anonunion____missing_field_name_151 __annonCompField31 ;
1507 atomic_t i_count ;
1508 unsigned int i_blkbits ;
1509 u64 i_version ;
1510 atomic_t i_dio_count ;
1511 atomic_t i_writecount ;
1512 struct file_operations const *i_fop ;
1513 struct file_lock *i_flock ;
1514 struct address_space i_data ;
1515 struct dquot *i_dquot[2] ;
1516 struct list_head i_devices ;
1517 union __anonunion____missing_field_name_152 __annonCompField32 ;
1518 __u32 i_generation ;
1519 __u32 i_fsnotify_mask ;
1520 struct hlist_head i_fsnotify_marks ;
1521 atomic_t i_readcount ;
1522 void *i_private ;
1523};
1524#line 942 "include/linux/fs.h"
1525struct fown_struct {
1526 rwlock_t lock ;
1527 struct pid *pid ;
1528 enum pid_type pid_type ;
1529 uid_t uid ;
1530 uid_t euid ;
1531 int signum ;
1532};
1533#line 953 "include/linux/fs.h"
1534struct file_ra_state {
1535 unsigned long start ;
1536 unsigned int size ;
1537 unsigned int async_size ;
1538 unsigned int ra_pages ;
1539 unsigned int mmap_miss ;
1540 loff_t prev_pos ;
1541};
1542#line 976 "include/linux/fs.h"
1543union __anonunion_f_u_153 {
1544 struct list_head fu_list ;
1545 struct rcu_head fu_rcuhead ;
1546};
1547#line 976 "include/linux/fs.h"
1548struct file {
1549 union __anonunion_f_u_153 f_u ;
1550 struct path f_path ;
1551 struct file_operations const *f_op ;
1552 spinlock_t f_lock ;
1553 int f_sb_list_cpu ;
1554 atomic_long_t f_count ;
1555 unsigned int f_flags ;
1556 fmode_t f_mode ;
1557 loff_t f_pos ;
1558 struct fown_struct f_owner ;
1559 struct cred const *f_cred ;
1560 struct file_ra_state f_ra ;
1561 u64 f_version ;
1562 void *f_security ;
1563 void *private_data ;
1564 struct list_head f_ep_links ;
1565 struct list_head f_tfile_llink ;
1566 struct address_space *f_mapping ;
1567 unsigned long f_mnt_write_state ;
1568};
1569#line 1111
1570struct files_struct;
1571#line 1111 "include/linux/fs.h"
1572typedef struct files_struct *fl_owner_t;
1573#line 1113 "include/linux/fs.h"
1574struct file_lock_operations {
1575 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1576 void (*fl_release_private)(struct file_lock * ) ;
1577};
1578#line 1118 "include/linux/fs.h"
1579struct lock_manager_operations {
1580 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1581 void (*lm_notify)(struct file_lock * ) ;
1582 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1583 void (*lm_release_private)(struct file_lock * ) ;
1584 void (*lm_break)(struct file_lock * ) ;
1585 int (*lm_change)(struct file_lock ** , int ) ;
1586};
1587#line 4 "include/linux/nfs_fs_i.h"
1588struct nlm_lockowner;
1589#line 4
1590struct nlm_lockowner;
1591#line 9 "include/linux/nfs_fs_i.h"
1592struct nfs_lock_info {
1593 u32 state ;
1594 struct nlm_lockowner *owner ;
1595 struct list_head list ;
1596};
1597#line 15
1598struct nfs4_lock_state;
1599#line 15
1600struct nfs4_lock_state;
1601#line 16 "include/linux/nfs_fs_i.h"
1602struct nfs4_lock_info {
1603 struct nfs4_lock_state *owner ;
1604};
1605#line 1138 "include/linux/fs.h"
1606struct fasync_struct;
1607#line 1138 "include/linux/fs.h"
1608struct __anonstruct_afs_155 {
1609 struct list_head link ;
1610 int state ;
1611};
1612#line 1138 "include/linux/fs.h"
1613union __anonunion_fl_u_154 {
1614 struct nfs_lock_info nfs_fl ;
1615 struct nfs4_lock_info nfs4_fl ;
1616 struct __anonstruct_afs_155 afs ;
1617};
1618#line 1138 "include/linux/fs.h"
1619struct file_lock {
1620 struct file_lock *fl_next ;
1621 struct list_head fl_link ;
1622 struct list_head fl_block ;
1623 fl_owner_t fl_owner ;
1624 unsigned int fl_flags ;
1625 unsigned char fl_type ;
1626 unsigned int fl_pid ;
1627 struct pid *fl_nspid ;
1628 wait_queue_head_t fl_wait ;
1629 struct file *fl_file ;
1630 loff_t fl_start ;
1631 loff_t fl_end ;
1632 struct fasync_struct *fl_fasync ;
1633 unsigned long fl_break_time ;
1634 unsigned long fl_downgrade_time ;
1635 struct file_lock_operations const *fl_ops ;
1636 struct lock_manager_operations const *fl_lmops ;
1637 union __anonunion_fl_u_154 fl_u ;
1638};
1639#line 1378 "include/linux/fs.h"
1640struct fasync_struct {
1641 spinlock_t fa_lock ;
1642 int magic ;
1643 int fa_fd ;
1644 struct fasync_struct *fa_next ;
1645 struct file *fa_file ;
1646 struct rcu_head fa_rcu ;
1647};
1648#line 1418
1649struct file_system_type;
1650#line 1418
1651struct super_operations;
1652#line 1418
1653struct xattr_handler;
1654#line 1418
1655struct mtd_info;
1656#line 1418 "include/linux/fs.h"
1657struct super_block {
1658 struct list_head s_list ;
1659 dev_t s_dev ;
1660 unsigned char s_dirt ;
1661 unsigned char s_blocksize_bits ;
1662 unsigned long s_blocksize ;
1663 loff_t s_maxbytes ;
1664 struct file_system_type *s_type ;
1665 struct super_operations const *s_op ;
1666 struct dquot_operations const *dq_op ;
1667 struct quotactl_ops const *s_qcop ;
1668 struct export_operations const *s_export_op ;
1669 unsigned long s_flags ;
1670 unsigned long s_magic ;
1671 struct dentry *s_root ;
1672 struct rw_semaphore s_umount ;
1673 struct mutex s_lock ;
1674 int s_count ;
1675 atomic_t s_active ;
1676 void *s_security ;
1677 struct xattr_handler const **s_xattr ;
1678 struct list_head s_inodes ;
1679 struct hlist_bl_head s_anon ;
1680 struct list_head *s_files ;
1681 struct list_head s_mounts ;
1682 struct list_head s_dentry_lru ;
1683 int s_nr_dentry_unused ;
1684 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1685 struct list_head s_inode_lru ;
1686 int s_nr_inodes_unused ;
1687 struct block_device *s_bdev ;
1688 struct backing_dev_info *s_bdi ;
1689 struct mtd_info *s_mtd ;
1690 struct hlist_node s_instances ;
1691 struct quota_info s_dquot ;
1692 int s_frozen ;
1693 wait_queue_head_t s_wait_unfrozen ;
1694 char s_id[32] ;
1695 u8 s_uuid[16] ;
1696 void *s_fs_info ;
1697 unsigned int s_max_links ;
1698 fmode_t s_mode ;
1699 u32 s_time_gran ;
1700 struct mutex s_vfs_rename_mutex ;
1701 char *s_subtype ;
1702 char *s_options ;
1703 struct dentry_operations const *s_d_op ;
1704 int cleancache_poolid ;
1705 struct shrinker s_shrink ;
1706 atomic_long_t s_remove_count ;
1707 int s_readonly_remount ;
1708};
1709#line 1567 "include/linux/fs.h"
1710struct fiemap_extent_info {
1711 unsigned int fi_flags ;
1712 unsigned int fi_extents_mapped ;
1713 unsigned int fi_extents_max ;
1714 struct fiemap_extent *fi_extents_start ;
1715};
1716#line 1609 "include/linux/fs.h"
1717struct file_operations {
1718 struct module *owner ;
1719 loff_t (*llseek)(struct file * , loff_t , int ) ;
1720 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1721 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1722 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1723 loff_t ) ;
1724 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1725 loff_t ) ;
1726 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1727 loff_t , u64 , unsigned int ) ) ;
1728 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1729 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1730 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1731 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1732 int (*open)(struct inode * , struct file * ) ;
1733 int (*flush)(struct file * , fl_owner_t id ) ;
1734 int (*release)(struct inode * , struct file * ) ;
1735 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1736 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1737 int (*fasync)(int , struct file * , int ) ;
1738 int (*lock)(struct file * , int , struct file_lock * ) ;
1739 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1740 int ) ;
1741 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1742 unsigned long , unsigned long ) ;
1743 int (*check_flags)(int ) ;
1744 int (*flock)(struct file * , int , struct file_lock * ) ;
1745 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1746 unsigned int ) ;
1747 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1748 unsigned int ) ;
1749 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1750 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1751};
1752#line 1639 "include/linux/fs.h"
1753struct inode_operations {
1754 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1755 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1756 int (*permission)(struct inode * , int ) ;
1757 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1758 int (*readlink)(struct dentry * , char * , int ) ;
1759 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1760 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1761 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1762 int (*unlink)(struct inode * , struct dentry * ) ;
1763 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1764 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1765 int (*rmdir)(struct inode * , struct dentry * ) ;
1766 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1767 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1768 void (*truncate)(struct inode * ) ;
1769 int (*setattr)(struct dentry * , struct iattr * ) ;
1770 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1771 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1772 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1773 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1774 int (*removexattr)(struct dentry * , char const * ) ;
1775 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1776 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1777} __attribute__((__aligned__((1) << (6) ))) ;
1778#line 1669
1779struct seq_file;
1780#line 1684 "include/linux/fs.h"
1781struct super_operations {
1782 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1783 void (*destroy_inode)(struct inode * ) ;
1784 void (*dirty_inode)(struct inode * , int flags ) ;
1785 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1786 int (*drop_inode)(struct inode * ) ;
1787 void (*evict_inode)(struct inode * ) ;
1788 void (*put_super)(struct super_block * ) ;
1789 void (*write_super)(struct super_block * ) ;
1790 int (*sync_fs)(struct super_block *sb , int wait ) ;
1791 int (*freeze_fs)(struct super_block * ) ;
1792 int (*unfreeze_fs)(struct super_block * ) ;
1793 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1794 int (*remount_fs)(struct super_block * , int * , char * ) ;
1795 void (*umount_begin)(struct super_block * ) ;
1796 int (*show_options)(struct seq_file * , struct dentry * ) ;
1797 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1798 int (*show_path)(struct seq_file * , struct dentry * ) ;
1799 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1800 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1801 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1802 loff_t ) ;
1803 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1804 int (*nr_cached_objects)(struct super_block * ) ;
1805 void (*free_cached_objects)(struct super_block * , int ) ;
1806};
1807#line 1835 "include/linux/fs.h"
1808struct file_system_type {
1809 char const *name ;
1810 int fs_flags ;
1811 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1812 void (*kill_sb)(struct super_block * ) ;
1813 struct module *owner ;
1814 struct file_system_type *next ;
1815 struct hlist_head fs_supers ;
1816 struct lock_class_key s_lock_key ;
1817 struct lock_class_key s_umount_key ;
1818 struct lock_class_key s_vfs_rename_key ;
1819 struct lock_class_key i_lock_key ;
1820 struct lock_class_key i_mutex_key ;
1821 struct lock_class_key i_mutex_dir_key ;
1822};
1823#line 1250 "include/linux/input.h"
1824struct ff_device;
1825#line 1250
1826struct input_mt_slot;
1827#line 1250
1828struct input_handle;
1829#line 1250 "include/linux/input.h"
1830struct input_dev {
1831 char const *name ;
1832 char const *phys ;
1833 char const *uniq ;
1834 struct input_id id ;
1835 unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1836 unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1837 unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1838 unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1839 unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1840 unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1841 unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1842 unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1843 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1844 unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1845 unsigned int hint_events_per_packet ;
1846 unsigned int keycodemax ;
1847 unsigned int keycodesize ;
1848 void *keycode ;
1849 int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry const *ke ,
1850 unsigned int *old_keycode ) ;
1851 int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
1852 struct ff_device *ff ;
1853 unsigned int repeat_key ;
1854 struct timer_list timer ;
1855 int rep[2] ;
1856 struct input_mt_slot *mt ;
1857 int mtsize ;
1858 int slot ;
1859 int trkid ;
1860 struct input_absinfo *absinfo ;
1861 unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1862 unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1863 unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1864 unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1865 int (*open)(struct input_dev *dev ) ;
1866 void (*close)(struct input_dev *dev ) ;
1867 int (*flush)(struct input_dev *dev , struct file *file ) ;
1868 int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
1869 struct input_handle *grab ;
1870 spinlock_t event_lock ;
1871 struct mutex mutex ;
1872 unsigned int users ;
1873 bool going_away ;
1874 bool sync ;
1875 struct device dev ;
1876 struct list_head h_list ;
1877 struct list_head node ;
1878};
1879#line 1370
1880struct input_handle;
1881#line 1409 "include/linux/input.h"
1882struct input_handler {
1883 void *private ;
1884 void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
1885 int value ) ;
1886 bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
1887 int value ) ;
1888 bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
1889 int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id const *id ) ;
1890 void (*disconnect)(struct input_handle *handle ) ;
1891 void (*start)(struct input_handle *handle ) ;
1892 struct file_operations const *fops ;
1893 int minor ;
1894 char const *name ;
1895 struct input_device_id const *id_table ;
1896 struct list_head h_list ;
1897 struct list_head node ;
1898};
1899#line 1442 "include/linux/input.h"
1900struct input_handle {
1901 void *private ;
1902 int open ;
1903 char const *name ;
1904 struct input_dev *dev ;
1905 struct input_handler *handler ;
1906 struct list_head d_node ;
1907 struct list_head h_node ;
1908};
1909#line 1619 "include/linux/input.h"
1910struct ff_device {
1911 int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
1912 int (*erase)(struct input_dev *dev , int effect_id ) ;
1913 int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
1914 void (*set_gain)(struct input_dev *dev , u16 gain ) ;
1915 void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
1916 void (*destroy)(struct ff_device * ) ;
1917 void *private ;
1918 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1919 struct mutex mutex ;
1920 int max_effects ;
1921 struct ff_effect *effects ;
1922 struct file *effect_owners[] ;
1923};
1924#line 20 "include/linux/leds.h"
1925struct device;
1926#line 19 "include/linux/power_supply.h"
1927struct device;
1928#line 367 "include/linux/hid.h"
1929struct hid_collection {
1930 unsigned int type ;
1931 unsigned int usage ;
1932 unsigned int level ;
1933};
1934#line 373 "include/linux/hid.h"
1935struct hid_usage {
1936 unsigned int hid ;
1937 unsigned int collection_index ;
1938 __u16 code ;
1939 __u8 type ;
1940 __s8 hat_min ;
1941 __s8 hat_max ;
1942 __s8 hat_dir ;
1943};
1944#line 384
1945struct hid_input;
1946#line 384
1947struct hid_input;
1948#line 386
1949struct hid_report;
1950#line 386 "include/linux/hid.h"
1951struct hid_field {
1952 unsigned int physical ;
1953 unsigned int logical ;
1954 unsigned int application ;
1955 struct hid_usage *usage ;
1956 unsigned int maxusage ;
1957 unsigned int flags ;
1958 unsigned int report_offset ;
1959 unsigned int report_size ;
1960 unsigned int report_count ;
1961 unsigned int report_type ;
1962 __s32 *value ;
1963 __s32 logical_minimum ;
1964 __s32 logical_maximum ;
1965 __s32 physical_minimum ;
1966 __s32 physical_maximum ;
1967 __s32 unit_exponent ;
1968 unsigned int unit ;
1969 struct hid_report *report ;
1970 unsigned int index ;
1971 struct hid_input *hidinput ;
1972 __u16 dpad ;
1973};
1974#line 413
1975struct hid_device;
1976#line 413 "include/linux/hid.h"
1977struct hid_report {
1978 struct list_head list ;
1979 unsigned int id ;
1980 unsigned int type ;
1981 struct hid_field *field[128] ;
1982 unsigned int maxfield ;
1983 unsigned int size ;
1984 struct hid_device *device ;
1985};
1986#line 423 "include/linux/hid.h"
1987struct hid_report_enum {
1988 unsigned int numbered ;
1989 struct list_head report_list ;
1990 struct hid_report *report_id_hash[256] ;
1991};
1992#line 454 "include/linux/hid.h"
1993struct hid_input {
1994 struct list_head list ;
1995 struct hid_report *report ;
1996 struct input_dev *input ;
1997};
1998#line 460
1999enum hid_type {
2000 HID_TYPE_OTHER = 0,
2001 HID_TYPE_USBMOUSE = 1,
2002 HID_TYPE_USBNONE = 2
2003} ;
2004#line 466
2005struct hid_driver;
2006#line 466
2007struct hid_driver;
2008#line 467
2009struct hid_ll_driver;
2010#line 467
2011struct hid_ll_driver;
2012#line 469 "include/linux/hid.h"
2013struct hid_device {
2014 __u8 *rdesc ;
2015 unsigned int rsize ;
2016 struct hid_collection *collection ;
2017 unsigned int collection_size ;
2018 unsigned int maxcollection ;
2019 unsigned int maxapplication ;
2020 __u16 bus ;
2021 __u32 vendor ;
2022 __u32 product ;
2023 __u32 version ;
2024 enum hid_type type ;
2025 unsigned int country ;
2026 struct hid_report_enum report_enum[3] ;
2027 struct semaphore driver_lock ;
2028 struct device dev ;
2029 struct hid_driver *driver ;
2030 struct hid_ll_driver *ll_driver ;
2031 unsigned int status ;
2032 unsigned int claimed ;
2033 unsigned int quirks ;
2034 struct list_head inputs ;
2035 void *hiddev ;
2036 void *hidraw ;
2037 int minor ;
2038 int open ;
2039 char name[128] ;
2040 char phys[64] ;
2041 char uniq[64] ;
2042 void *driver_data ;
2043 int (*ff_init)(struct hid_device * ) ;
2044 int (*hiddev_connect)(struct hid_device * , unsigned int ) ;
2045 void (*hiddev_disconnect)(struct hid_device * ) ;
2046 void (*hiddev_hid_event)(struct hid_device * , struct hid_field *field , struct hid_usage * ,
2047 __s32 ) ;
2048 void (*hiddev_report_event)(struct hid_device * , struct hid_report * ) ;
2049 int (*hid_get_raw_report)(struct hid_device * , unsigned char , __u8 * , size_t ,
2050 unsigned char ) ;
2051 int (*hid_output_raw_report)(struct hid_device * , __u8 * , size_t , unsigned char ) ;
2052 unsigned short debug ;
2053 struct dentry *debug_dir ;
2054 struct dentry *debug_rdesc ;
2055 struct dentry *debug_events ;
2056 struct list_head debug_list ;
2057 wait_queue_head_t debug_wait ;
2058};
2059#line 595 "include/linux/hid.h"
2060struct hid_report_id {
2061 __u32 report_type ;
2062};
2063#line 598 "include/linux/hid.h"
2064struct hid_usage_id {
2065 __u32 usage_hid ;
2066 __u32 usage_type ;
2067 __u32 usage_code ;
2068};
2069#line 638 "include/linux/hid.h"
2070struct hid_driver {
2071 char *name ;
2072 struct hid_device_id const *id_table ;
2073 struct list_head dyn_list ;
2074 spinlock_t dyn_lock ;
2075 int (*probe)(struct hid_device *dev , struct hid_device_id const *id ) ;
2076 void (*remove)(struct hid_device *dev ) ;
2077 struct hid_report_id const *report_table ;
2078 int (*raw_event)(struct hid_device *hdev , struct hid_report *report , u8 *data ,
2079 int size ) ;
2080 struct hid_usage_id const *usage_table ;
2081 int (*event)(struct hid_device *hdev , struct hid_field *field , struct hid_usage *usage ,
2082 __s32 value ) ;
2083 __u8 *(*report_fixup)(struct hid_device *hdev , __u8 *buf , unsigned int *size ) ;
2084 int (*input_mapping)(struct hid_device *hdev , struct hid_input *hidinput , struct hid_field *field ,
2085 struct hid_usage *usage , unsigned long **bit , int *max ) ;
2086 int (*input_mapped)(struct hid_device *hdev , struct hid_input *hidinput , struct hid_field *field ,
2087 struct hid_usage *usage , unsigned long **bit , int *max ) ;
2088 void (*feature_mapping)(struct hid_device *hdev , struct hid_field *field , struct hid_usage *usage ) ;
2089 int (*suspend)(struct hid_device *hdev , pm_message_t message ) ;
2090 int (*resume)(struct hid_device *hdev ) ;
2091 int (*reset_resume)(struct hid_device *hdev ) ;
2092 struct device_driver driver ;
2093};
2094#line 686 "include/linux/hid.h"
2095struct hid_ll_driver {
2096 int (*start)(struct hid_device *hdev ) ;
2097 void (*stop)(struct hid_device *hdev ) ;
2098 int (*open)(struct hid_device *hdev ) ;
2099 void (*close)(struct hid_device *hdev ) ;
2100 int (*power)(struct hid_device *hdev , int level ) ;
2101 int (*hidinput_input_event)(struct input_dev *idev , unsigned int type , unsigned int code ,
2102 int value ) ;
2103 int (*parse)(struct hid_device *hdev ) ;
2104};
2105#line 29 "include/linux/sysctl.h"
2106struct completion;
2107#line 48 "include/linux/kmod.h"
2108struct cred;
2109#line 49
2110struct file;
2111#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
2112struct task_struct;
2113#line 18 "include/linux/elf.h"
2114typedef __u64 Elf64_Addr;
2115#line 19 "include/linux/elf.h"
2116typedef __u16 Elf64_Half;
2117#line 23 "include/linux/elf.h"
2118typedef __u32 Elf64_Word;
2119#line 24 "include/linux/elf.h"
2120typedef __u64 Elf64_Xword;
2121#line 194 "include/linux/elf.h"
2122struct elf64_sym {
2123 Elf64_Word st_name ;
2124 unsigned char st_info ;
2125 unsigned char st_other ;
2126 Elf64_Half st_shndx ;
2127 Elf64_Addr st_value ;
2128 Elf64_Xword st_size ;
2129};
2130#line 194 "include/linux/elf.h"
2131typedef struct elf64_sym Elf64_Sym;
2132#line 438
2133struct file;
2134#line 39 "include/linux/moduleparam.h"
2135struct kernel_param;
2136#line 39
2137struct kernel_param;
2138#line 41 "include/linux/moduleparam.h"
2139struct kernel_param_ops {
2140 int (*set)(char const *val , struct kernel_param const *kp ) ;
2141 int (*get)(char *buffer , struct kernel_param const *kp ) ;
2142 void (*free)(void *arg ) ;
2143};
2144#line 50
2145struct kparam_string;
2146#line 50
2147struct kparam_array;
2148#line 50 "include/linux/moduleparam.h"
2149union __anonunion____missing_field_name_225 {
2150 void *arg ;
2151 struct kparam_string const *str ;
2152 struct kparam_array const *arr ;
2153};
2154#line 50 "include/linux/moduleparam.h"
2155struct kernel_param {
2156 char const *name ;
2157 struct kernel_param_ops const *ops ;
2158 u16 perm ;
2159 s16 level ;
2160 union __anonunion____missing_field_name_225 __annonCompField35 ;
2161};
2162#line 63 "include/linux/moduleparam.h"
2163struct kparam_string {
2164 unsigned int maxlen ;
2165 char *string ;
2166};
2167#line 69 "include/linux/moduleparam.h"
2168struct kparam_array {
2169 unsigned int max ;
2170 unsigned int elemsize ;
2171 unsigned int *num ;
2172 struct kernel_param_ops const *ops ;
2173 void *elem ;
2174};
2175#line 445
2176struct module;
2177#line 80 "include/linux/jump_label.h"
2178struct module;
2179#line 143 "include/linux/jump_label.h"
2180struct static_key {
2181 atomic_t enabled ;
2182};
2183#line 22 "include/linux/tracepoint.h"
2184struct module;
2185#line 23
2186struct tracepoint;
2187#line 23
2188struct tracepoint;
2189#line 25 "include/linux/tracepoint.h"
2190struct tracepoint_func {
2191 void *func ;
2192 void *data ;
2193};
2194#line 30 "include/linux/tracepoint.h"
2195struct tracepoint {
2196 char const *name ;
2197 struct static_key key ;
2198 void (*regfunc)(void) ;
2199 void (*unregfunc)(void) ;
2200 struct tracepoint_func *funcs ;
2201};
2202#line 19 "include/linux/export.h"
2203struct kernel_symbol {
2204 unsigned long value ;
2205 char const *name ;
2206};
2207#line 8 "include/asm-generic/module.h"
2208struct mod_arch_specific {
2209
2210};
2211#line 35 "include/linux/module.h"
2212struct module;
2213#line 37
2214struct module_param_attrs;
2215#line 37 "include/linux/module.h"
2216struct module_kobject {
2217 struct kobject kobj ;
2218 struct module *mod ;
2219 struct kobject *drivers_dir ;
2220 struct module_param_attrs *mp ;
2221};
2222#line 44 "include/linux/module.h"
2223struct module_attribute {
2224 struct attribute attr ;
2225 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
2226 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
2227 size_t count ) ;
2228 void (*setup)(struct module * , char const * ) ;
2229 int (*test)(struct module * ) ;
2230 void (*free)(struct module * ) ;
2231};
2232#line 71
2233struct exception_table_entry;
2234#line 71
2235struct exception_table_entry;
2236#line 199
2237enum module_state {
2238 MODULE_STATE_LIVE = 0,
2239 MODULE_STATE_COMING = 1,
2240 MODULE_STATE_GOING = 2
2241} ;
2242#line 215 "include/linux/module.h"
2243struct module_ref {
2244 unsigned long incs ;
2245 unsigned long decs ;
2246} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2247#line 220
2248struct module_sect_attrs;
2249#line 220
2250struct module_notes_attrs;
2251#line 220
2252struct ftrace_event_call;
2253#line 220 "include/linux/module.h"
2254struct module {
2255 enum module_state state ;
2256 struct list_head list ;
2257 char name[64UL - sizeof(unsigned long )] ;
2258 struct module_kobject mkobj ;
2259 struct module_attribute *modinfo_attrs ;
2260 char const *version ;
2261 char const *srcversion ;
2262 struct kobject *holders_dir ;
2263 struct kernel_symbol const *syms ;
2264 unsigned long const *crcs ;
2265 unsigned int num_syms ;
2266 struct kernel_param *kp ;
2267 unsigned int num_kp ;
2268 unsigned int num_gpl_syms ;
2269 struct kernel_symbol const *gpl_syms ;
2270 unsigned long const *gpl_crcs ;
2271 struct kernel_symbol const *unused_syms ;
2272 unsigned long const *unused_crcs ;
2273 unsigned int num_unused_syms ;
2274 unsigned int num_unused_gpl_syms ;
2275 struct kernel_symbol const *unused_gpl_syms ;
2276 unsigned long const *unused_gpl_crcs ;
2277 struct kernel_symbol const *gpl_future_syms ;
2278 unsigned long const *gpl_future_crcs ;
2279 unsigned int num_gpl_future_syms ;
2280 unsigned int num_exentries ;
2281 struct exception_table_entry *extable ;
2282 int (*init)(void) ;
2283 void *module_init ;
2284 void *module_core ;
2285 unsigned int init_size ;
2286 unsigned int core_size ;
2287 unsigned int init_text_size ;
2288 unsigned int core_text_size ;
2289 unsigned int init_ro_size ;
2290 unsigned int core_ro_size ;
2291 struct mod_arch_specific arch ;
2292 unsigned int taints ;
2293 unsigned int num_bugs ;
2294 struct list_head bug_list ;
2295 struct bug_entry *bug_table ;
2296 Elf64_Sym *symtab ;
2297 Elf64_Sym *core_symtab ;
2298 unsigned int num_symtab ;
2299 unsigned int core_num_syms ;
2300 char *strtab ;
2301 char *core_strtab ;
2302 struct module_sect_attrs *sect_attrs ;
2303 struct module_notes_attrs *notes_attrs ;
2304 char *args ;
2305 void *percpu ;
2306 unsigned int percpu_size ;
2307 unsigned int num_tracepoints ;
2308 struct tracepoint * const *tracepoints_ptrs ;
2309 unsigned int num_trace_bprintk_fmt ;
2310 char const **trace_bprintk_fmt_start ;
2311 struct ftrace_event_call **trace_events ;
2312 unsigned int num_trace_events ;
2313 struct list_head source_list ;
2314 struct list_head target_list ;
2315 struct task_struct *waiter ;
2316 void (*exit)(void) ;
2317 struct module_ref *refptr ;
2318 ctor_fn_t *ctors ;
2319 unsigned int num_ctors ;
2320};
2321#line 506 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2322struct waltop_state {
2323 u8 pressure0 ;
2324 u8 pressure1 ;
2325};
2326#line 1 "<compiler builtins>"
2327long __builtin_expect(long val , long res ) ;
2328#line 152 "include/linux/mutex.h"
2329void mutex_lock(struct mutex *lock ) ;
2330#line 153
2331int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2332#line 154
2333int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2334#line 168
2335int mutex_trylock(struct mutex *lock ) ;
2336#line 169
2337void mutex_unlock(struct mutex *lock ) ;
2338#line 170
2339int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2340#line 792 "include/linux/device.h"
2341extern void *dev_get_drvdata(struct device const *dev ) ;
2342#line 793
2343extern int dev_set_drvdata(struct device *dev , void *data ) ;
2344#line 891
2345extern int ( dev_err)(struct device const *dev , char const *fmt
2346 , ...) ;
2347#line 161 "include/linux/slab.h"
2348extern void kfree(void const * ) ;
2349#line 221 "include/linux/slub_def.h"
2350extern void *__kmalloc(size_t size , gfp_t flags ) ;
2351#line 268
2352__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2353 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2354#line 268 "include/linux/slub_def.h"
2355__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2356 gfp_t flags )
2357{ void *tmp___2 ;
2358
2359 {
2360 {
2361#line 283
2362 tmp___2 = __kmalloc(size, flags);
2363 }
2364#line 283
2365 return (tmp___2);
2366}
2367}
2368#line 349 "include/linux/slab.h"
2369__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2370#line 349 "include/linux/slab.h"
2371__inline static void *kzalloc(size_t size , gfp_t flags )
2372{ void *tmp ;
2373 unsigned int __cil_tmp4 ;
2374
2375 {
2376 {
2377#line 351
2378 __cil_tmp4 = flags | 32768U;
2379#line 351
2380 tmp = kmalloc(size, __cil_tmp4);
2381 }
2382#line 351
2383 return (tmp);
2384}
2385}
2386#line 543 "include/linux/hid.h"
2387__inline static void *hid_get_drvdata(struct hid_device *hdev ) __attribute__((__no_instrument_function__)) ;
2388#line 543 "include/linux/hid.h"
2389__inline static void *hid_get_drvdata(struct hid_device *hdev )
2390{ void *tmp ;
2391 unsigned long __cil_tmp3 ;
2392 unsigned long __cil_tmp4 ;
2393 struct device *__cil_tmp5 ;
2394 struct device const *__cil_tmp6 ;
2395
2396 {
2397 {
2398#line 545
2399 __cil_tmp3 = (unsigned long )hdev;
2400#line 545
2401 __cil_tmp4 = __cil_tmp3 + 6328;
2402#line 545
2403 __cil_tmp5 = (struct device *)__cil_tmp4;
2404#line 545
2405 __cil_tmp6 = (struct device const *)__cil_tmp5;
2406#line 545
2407 tmp = dev_get_drvdata(__cil_tmp6);
2408 }
2409#line 545
2410 return (tmp);
2411}
2412}
2413#line 548
2414__inline static void hid_set_drvdata(struct hid_device *hdev , void *data ) __attribute__((__no_instrument_function__)) ;
2415#line 548 "include/linux/hid.h"
2416__inline static void hid_set_drvdata(struct hid_device *hdev , void *data )
2417{ unsigned long __cil_tmp3 ;
2418 unsigned long __cil_tmp4 ;
2419 struct device *__cil_tmp5 ;
2420
2421 {
2422 {
2423#line 550
2424 __cil_tmp3 = (unsigned long )hdev;
2425#line 550
2426 __cil_tmp4 = __cil_tmp3 + 6328;
2427#line 550
2428 __cil_tmp5 = (struct device *)__cil_tmp4;
2429#line 550
2430 dev_set_drvdata(__cil_tmp5, data);
2431 }
2432#line 551
2433 return;
2434}
2435}
2436#line 715
2437extern int __attribute__((__warn_unused_result__)) __hid_register_driver(struct hid_driver * ,
2438 struct module * ,
2439 char const *mod_name ) ;
2440#line 722
2441extern void hid_unregister_driver(struct hid_driver * ) ;
2442#line 739
2443extern int hid_connect(struct hid_device *hid , unsigned int connect_mask ) ;
2444#line 740
2445extern void hid_disconnect(struct hid_device *hid ) ;
2446#line 806
2447__inline static int __attribute__((__warn_unused_result__)) hid_parse(struct hid_device *hdev ) __attribute__((__no_instrument_function__)) ;
2448#line 806 "include/linux/hid.h"
2449__inline static int __attribute__((__warn_unused_result__)) hid_parse(struct hid_device *hdev )
2450{ int ret ;
2451 unsigned long __cil_tmp3 ;
2452 unsigned long __cil_tmp4 ;
2453 unsigned int __cil_tmp5 ;
2454 unsigned long __cil_tmp6 ;
2455 unsigned long __cil_tmp7 ;
2456 struct hid_ll_driver *__cil_tmp8 ;
2457 unsigned long __cil_tmp9 ;
2458 unsigned long __cil_tmp10 ;
2459 int (*__cil_tmp11)(struct hid_device *hdev ) ;
2460 unsigned long __cil_tmp12 ;
2461 unsigned long __cil_tmp13 ;
2462 unsigned long __cil_tmp14 ;
2463 unsigned long __cil_tmp15 ;
2464 unsigned int __cil_tmp16 ;
2465
2466 {
2467 {
2468#line 810
2469 __cil_tmp3 = (unsigned long )hdev;
2470#line 810
2471 __cil_tmp4 = __cil_tmp3 + 7112;
2472#line 810
2473 __cil_tmp5 = *((unsigned int *)__cil_tmp4);
2474#line 810
2475 if (__cil_tmp5 & 2U) {
2476#line 811
2477 return (0);
2478 } else {
2479
2480 }
2481 }
2482 {
2483#line 813
2484 __cil_tmp6 = (unsigned long )hdev;
2485#line 813
2486 __cil_tmp7 = __cil_tmp6 + 7104;
2487#line 813
2488 __cil_tmp8 = *((struct hid_ll_driver **)__cil_tmp7);
2489#line 813
2490 __cil_tmp9 = (unsigned long )__cil_tmp8;
2491#line 813
2492 __cil_tmp10 = __cil_tmp9 + 48;
2493#line 813
2494 __cil_tmp11 = *((int (**)(struct hid_device *hdev ))__cil_tmp10);
2495#line 813
2496 ret = (*__cil_tmp11)(hdev);
2497 }
2498#line 814
2499 if (! ret) {
2500#line 815
2501 __cil_tmp12 = (unsigned long )hdev;
2502#line 815
2503 __cil_tmp13 = __cil_tmp12 + 7112;
2504#line 815
2505 __cil_tmp14 = (unsigned long )hdev;
2506#line 815
2507 __cil_tmp15 = __cil_tmp14 + 7112;
2508#line 815
2509 __cil_tmp16 = *((unsigned int *)__cil_tmp15);
2510#line 815
2511 *((unsigned int *)__cil_tmp13) = __cil_tmp16 | 2U;
2512 } else {
2513
2514 }
2515#line 817
2516 return (ret);
2517}
2518}
2519#line 830
2520__inline static int __attribute__((__warn_unused_result__)) hid_hw_start(struct hid_device *hdev ,
2521 unsigned int connect_mask ) __attribute__((__no_instrument_function__)) ;
2522#line 830 "include/linux/hid.h"
2523__inline static int __attribute__((__warn_unused_result__)) hid_hw_start(struct hid_device *hdev ,
2524 unsigned int connect_mask )
2525{ int ret ;
2526 int tmp ;
2527 unsigned long __cil_tmp5 ;
2528 unsigned long __cil_tmp6 ;
2529 struct hid_ll_driver *__cil_tmp7 ;
2530 int (*__cil_tmp8)(struct hid_device *hdev ) ;
2531 unsigned long __cil_tmp9 ;
2532 unsigned long __cil_tmp10 ;
2533 struct hid_ll_driver *__cil_tmp11 ;
2534 unsigned long __cil_tmp12 ;
2535 unsigned long __cil_tmp13 ;
2536 void (*__cil_tmp14)(struct hid_device *hdev ) ;
2537
2538 {
2539 {
2540#line 833
2541 __cil_tmp5 = (unsigned long )hdev;
2542#line 833
2543 __cil_tmp6 = __cil_tmp5 + 7104;
2544#line 833
2545 __cil_tmp7 = *((struct hid_ll_driver **)__cil_tmp6);
2546#line 833
2547 __cil_tmp8 = *((int (**)(struct hid_device *hdev ))__cil_tmp7);
2548#line 833
2549 tmp = (*__cil_tmp8)(hdev);
2550#line 833
2551 ret = tmp;
2552 }
2553#line 834
2554 if (ret) {
2555#line 835
2556 return (ret);
2557 } else
2558#line 834
2559 if (! connect_mask) {
2560#line 835
2561 return (ret);
2562 } else {
2563
2564 }
2565 {
2566#line 836
2567 ret = hid_connect(hdev, connect_mask);
2568 }
2569#line 837
2570 if (ret) {
2571 {
2572#line 838
2573 __cil_tmp9 = (unsigned long )hdev;
2574#line 838
2575 __cil_tmp10 = __cil_tmp9 + 7104;
2576#line 838
2577 __cil_tmp11 = *((struct hid_ll_driver **)__cil_tmp10);
2578#line 838
2579 __cil_tmp12 = (unsigned long )__cil_tmp11;
2580#line 838
2581 __cil_tmp13 = __cil_tmp12 + 8;
2582#line 838
2583 __cil_tmp14 = *((void (**)(struct hid_device *hdev ))__cil_tmp13);
2584#line 838
2585 (*__cil_tmp14)(hdev);
2586 }
2587 } else {
2588
2589 }
2590#line 839
2591 return (ret);
2592}
2593}
2594#line 850
2595__inline static void hid_hw_stop(struct hid_device *hdev ) __attribute__((__no_instrument_function__)) ;
2596#line 850 "include/linux/hid.h"
2597__inline static void hid_hw_stop(struct hid_device *hdev )
2598{ unsigned long __cil_tmp2 ;
2599 unsigned long __cil_tmp3 ;
2600 struct hid_ll_driver *__cil_tmp4 ;
2601 unsigned long __cil_tmp5 ;
2602 unsigned long __cil_tmp6 ;
2603 void (*__cil_tmp7)(struct hid_device *hdev ) ;
2604
2605 {
2606 {
2607#line 852
2608 hid_disconnect(hdev);
2609#line 853
2610 __cil_tmp2 = (unsigned long )hdev;
2611#line 853
2612 __cil_tmp3 = __cil_tmp2 + 7104;
2613#line 853
2614 __cil_tmp4 = *((struct hid_ll_driver **)__cil_tmp3);
2615#line 853
2616 __cil_tmp5 = (unsigned long )__cil_tmp4;
2617#line 853
2618 __cil_tmp6 = __cil_tmp5 + 8;
2619#line 853
2620 __cil_tmp7 = *((void (**)(struct hid_device *hdev ))__cil_tmp6);
2621#line 853
2622 (*__cil_tmp7)(hdev);
2623 }
2624#line 854
2625 return;
2626}
2627}
2628#line 26 "include/linux/export.h"
2629extern struct module __this_module ;
2630#line 67 "include/linux/module.h"
2631int init_module(void) ;
2632#line 68
2633void cleanup_module(void) ;
2634#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2635static __u8 slim_tablet_5_8_inch_rdesc_fixed[84] =
2636#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2637 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2638 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2639 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2640 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2641 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2642 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2643 (__u8 )1, (__u8 )128, (__u8 )9, (__u8 )50,
2644 (__u8 )20, (__u8 )37, (__u8 )1, (__u8 )117,
2645 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2646 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2647 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2648 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2649 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2650 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2651 (__u8 )70, (__u8 )136, (__u8 )19, (__u8 )38,
2652 (__u8 )16, (__u8 )39, (__u8 )129, (__u8 )2,
2653 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )184,
2654 (__u8 )11, (__u8 )38, (__u8 )112, (__u8 )23,
2655 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2656 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2657 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192};
2658#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2659static __u8 slim_tablet_12_1_inch_rdesc_fixed[84] =
2660#line 111
2661 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2662 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2663 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2664 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2665 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2666 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2667 (__u8 )1, (__u8 )128, (__u8 )9, (__u8 )50,
2668 (__u8 )20, (__u8 )37, (__u8 )1, (__u8 )117,
2669 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2670 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2671 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2672 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2673 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2674 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2675 (__u8 )70, (__u8 )16, (__u8 )39, (__u8 )38,
2676 (__u8 )32, (__u8 )78, (__u8 )129, (__u8 )2,
2677 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )106,
2678 (__u8 )24, (__u8 )38, (__u8 )212, (__u8 )48,
2679 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2680 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2681 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192};
2682#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2683static __u8 q_pad_rdesc_fixed[84] =
2684#line 167
2685 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2686 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2687 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2688 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2689 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2690 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2691 (__u8 )1, (__u8 )128, (__u8 )9, (__u8 )50,
2692 (__u8 )20, (__u8 )37, (__u8 )1, (__u8 )117,
2693 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2694 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2695 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2696 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2697 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2698 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2699 (__u8 )70, (__u8 )112, (__u8 )23, (__u8 )38,
2700 (__u8 )0, (__u8 )48, (__u8 )129, (__u8 )2,
2701 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )148,
2702 (__u8 )17, (__u8 )38, (__u8 )0, (__u8 )36,
2703 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2704 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2705 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192};
2706#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2707static __u8 pid_0038_rdesc_fixed[84] =
2708#line 225
2709 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2710 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2711 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2712 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2713 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2714 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2715 (__u8 )1, (__u8 )128, (__u8 )9, (__u8 )50,
2716 (__u8 )20, (__u8 )37, (__u8 )1, (__u8 )117,
2717 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2718 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2719 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2720 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2721 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2722 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2723 (__u8 )70, (__u8 )46, (__u8 )34, (__u8 )38,
2724 (__u8 )0, (__u8 )70, (__u8 )129, (__u8 )2,
2725 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )130,
2726 (__u8 )20, (__u8 )38, (__u8 )0, (__u8 )42,
2727 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2728 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2729 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192};
2730#line 281 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2731static __u8 media_tablet_10_6_inch_rdesc_fixed[202] =
2732#line 281
2733 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2734 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2735 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2736 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2737 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2738 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2739 (__u8 )1, (__u8 )128, (__u8 )117, (__u8 )1,
2740 (__u8 )9, (__u8 )50, (__u8 )20, (__u8 )37,
2741 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2742 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2743 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2744 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2745 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2746 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2747 (__u8 )70, (__u8 )40, (__u8 )35, (__u8 )38,
2748 (__u8 )80, (__u8 )70, (__u8 )129, (__u8 )2,
2749 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )124,
2750 (__u8 )21, (__u8 )38, (__u8 )248, (__u8 )42,
2751 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2752 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2753 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192,
2754 (__u8 )5, (__u8 )1, (__u8 )9, (__u8 )2,
2755 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )1,
2756 (__u8 )9, (__u8 )1, (__u8 )160, (__u8 )117,
2757 (__u8 )8, (__u8 )149, (__u8 )3, (__u8 )129,
2758 (__u8 )3, (__u8 )149, (__u8 )2, (__u8 )21,
2759 (__u8 )255, (__u8 )37, (__u8 )1, (__u8 )9,
2760 (__u8 )56, (__u8 )11, (__u8 )56, (__u8 )2,
2761 (__u8 )12, (__u8 )0, (__u8 )129, (__u8 )6,
2762 (__u8 )149, (__u8 )2, (__u8 )129, (__u8 )3,
2763 (__u8 )192, (__u8 )192, (__u8 )5, (__u8 )12,
2764 (__u8 )9, (__u8 )1, (__u8 )161, (__u8 )1,
2765 (__u8 )133, (__u8 )13, (__u8 )149, (__u8 )1,
2766 (__u8 )117, (__u8 )16, (__u8 )129, (__u8 )3,
2767 (__u8 )10, (__u8 )47, (__u8 )2, (__u8 )10,
2768 (__u8 )46, (__u8 )2, (__u8 )10, (__u8 )45,
2769 (__u8 )2, (__u8 )9, (__u8 )182, (__u8 )9,
2770 (__u8 )181, (__u8 )8, (__u8 )8, (__u8 )8,
2771 (__u8 )8, (__u8 )8, (__u8 )10, (__u8 )46,
2772 (__u8 )2, (__u8 )10, (__u8 )45, (__u8 )2,
2773 (__u8 )21, (__u8 )12, (__u8 )37, (__u8 )23,
2774 (__u8 )117, (__u8 )5, (__u8 )128, (__u8 )117,
2775 (__u8 )3, (__u8 )129, (__u8 )3, (__u8 )117,
2776 (__u8 )32, (__u8 )129, (__u8 )3, (__u8 )192,
2777 (__u8 )9, (__u8 )1, (__u8 )161, (__u8 )1,
2778 (__u8 )133, (__u8 )12, (__u8 )117, (__u8 )1,
2779 (__u8 )9, (__u8 )233, (__u8 )9, (__u8 )234,
2780 (__u8 )9, (__u8 )226, (__u8 )20, (__u8 )37,
2781 (__u8 )1, (__u8 )149, (__u8 )3, (__u8 )129,
2782 (__u8 )6, (__u8 )149, (__u8 )53, (__u8 )129,
2783 (__u8 )3, (__u8 )192};
2784#line 399 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2785static __u8 media_tablet_14_1_inch_rdesc_fixed[198] =
2786#line 399
2787 { (__u8 )5, (__u8 )13, (__u8 )9, (__u8 )2,
2788 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )16,
2789 (__u8 )9, (__u8 )32, (__u8 )160, (__u8 )9,
2790 (__u8 )66, (__u8 )9, (__u8 )68, (__u8 )9,
2791 (__u8 )70, (__u8 )21, (__u8 )1, (__u8 )37,
2792 (__u8 )3, (__u8 )117, (__u8 )4, (__u8 )149,
2793 (__u8 )1, (__u8 )128, (__u8 )117, (__u8 )1,
2794 (__u8 )9, (__u8 )50, (__u8 )20, (__u8 )37,
2795 (__u8 )1, (__u8 )149, (__u8 )1, (__u8 )129,
2796 (__u8 )2, (__u8 )149, (__u8 )3, (__u8 )129,
2797 (__u8 )3, (__u8 )117, (__u8 )16, (__u8 )149,
2798 (__u8 )1, (__u8 )20, (__u8 )164, (__u8 )5,
2799 (__u8 )1, (__u8 )101, (__u8 )19, (__u8 )85,
2800 (__u8 )253, (__u8 )52, (__u8 )9, (__u8 )48,
2801 (__u8 )70, (__u8 )224, (__u8 )46, (__u8 )38,
2802 (__u8 )255, (__u8 )63, (__u8 )129, (__u8 )2,
2803 (__u8 )9, (__u8 )49, (__u8 )70, (__u8 )82,
2804 (__u8 )28, (__u8 )38, (__u8 )255, (__u8 )63,
2805 (__u8 )129, (__u8 )2, (__u8 )180, (__u8 )9,
2806 (__u8 )48, (__u8 )38, (__u8 )255, (__u8 )3,
2807 (__u8 )129, (__u8 )2, (__u8 )192, (__u8 )192,
2808 (__u8 )5, (__u8 )1, (__u8 )9, (__u8 )2,
2809 (__u8 )161, (__u8 )1, (__u8 )133, (__u8 )1,
2810 (__u8 )9, (__u8 )1, (__u8 )160, (__u8 )117,
2811 (__u8 )8, (__u8 )149, (__u8 )3, (__u8 )129,
2812 (__u8 )3, (__u8 )149, (__u8 )2, (__u8 )21,
2813 (__u8 )255, (__u8 )37, (__u8 )1, (__u8 )9,
2814 (__u8 )56, (__u8 )11, (__u8 )56, (__u8 )2,
2815 (__u8 )12, (__u8 )0, (__u8 )129, (__u8 )6,
2816 (__u8 )192, (__u8 )192, (__u8 )5, (__u8 )12,
2817 (__u8 )9, (__u8 )1, (__u8 )161, (__u8 )1,
2818 (__u8 )133, (__u8 )13, (__u8 )149, (__u8 )1,
2819 (__u8 )117, (__u8 )16, (__u8 )129, (__u8 )3,
2820 (__u8 )10, (__u8 )47, (__u8 )2, (__u8 )10,
2821 (__u8 )46, (__u8 )2, (__u8 )10, (__u8 )45,
2822 (__u8 )2, (__u8 )9, (__u8 )182, (__u8 )9,
2823 (__u8 )181, (__u8 )8, (__u8 )8, (__u8 )8,
2824 (__u8 )8, (__u8 )8, (__u8 )10, (__u8 )46,
2825 (__u8 )2, (__u8 )10, (__u8 )45, (__u8 )2,
2826 (__u8 )21, (__u8 )12, (__u8 )37, (__u8 )23,
2827 (__u8 )117, (__u8 )5, (__u8 )128, (__u8 )117,
2828 (__u8 )3, (__u8 )129, (__u8 )3, (__u8 )117,
2829 (__u8 )32, (__u8 )129, (__u8 )3, (__u8 )192,
2830 (__u8 )9, (__u8 )1, (__u8 )161, (__u8 )1,
2831 (__u8 )133, (__u8 )12, (__u8 )117, (__u8 )1,
2832 (__u8 )9, (__u8 )233, (__u8 )9, (__u8 )234,
2833 (__u8 )9, (__u8 )226, (__u8 )20, (__u8 )37,
2834 (__u8 )1, (__u8 )149, (__u8 )3, (__u8 )129,
2835 (__u8 )6, (__u8 )117, (__u8 )5, (__u8 )129,
2836 (__u8 )3, (__u8 )192};
2837#line 511 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2838static int waltop_probe(struct hid_device *hdev , struct hid_device_id const *id )
2839{ int ret ;
2840 struct waltop_state *s ;
2841 void *tmp ;
2842 void *__cil_tmp6 ;
2843 unsigned long __cil_tmp7 ;
2844 unsigned long __cil_tmp8 ;
2845 unsigned long __cil_tmp9 ;
2846 unsigned long __cil_tmp10 ;
2847 struct device *__cil_tmp11 ;
2848 struct device const *__cil_tmp12 ;
2849 unsigned long __cil_tmp13 ;
2850 unsigned long __cil_tmp14 ;
2851 void *__cil_tmp15 ;
2852 unsigned long __cil_tmp16 ;
2853 unsigned long __cil_tmp17 ;
2854 struct device *__cil_tmp18 ;
2855 struct device const *__cil_tmp19 ;
2856 unsigned long __cil_tmp20 ;
2857 unsigned long __cil_tmp21 ;
2858 struct device *__cil_tmp22 ;
2859 struct device const *__cil_tmp23 ;
2860 void const *__cil_tmp24 ;
2861
2862 {
2863 {
2864#line 517
2865 tmp = kzalloc(2UL, 208U);
2866#line 517
2867 s = (struct waltop_state *)tmp;
2868 }
2869 {
2870#line 518
2871 __cil_tmp6 = (void *)0;
2872#line 518
2873 __cil_tmp7 = (unsigned long )__cil_tmp6;
2874#line 518
2875 __cil_tmp8 = (unsigned long )s;
2876#line 518
2877 if (__cil_tmp8 == __cil_tmp7) {
2878 {
2879#line 519
2880 __cil_tmp9 = (unsigned long )hdev;
2881#line 519
2882 __cil_tmp10 = __cil_tmp9 + 6328;
2883#line 519
2884 __cil_tmp11 = (struct device *)__cil_tmp10;
2885#line 519
2886 __cil_tmp12 = (struct device const *)__cil_tmp11;
2887#line 519
2888 dev_err(__cil_tmp12, "can\'t allocate device state\n");
2889#line 520
2890 ret = -12;
2891 }
2892#line 521
2893 goto err;
2894 } else {
2895
2896 }
2897 }
2898 {
2899#line 524
2900 *((u8 *)s) = (u8 )0;
2901#line 525
2902 __cil_tmp13 = (unsigned long )s;
2903#line 525
2904 __cil_tmp14 = __cil_tmp13 + 1;
2905#line 525
2906 *((u8 *)__cil_tmp14) = (u8 )0;
2907#line 527
2908 __cil_tmp15 = (void *)s;
2909#line 527
2910 hid_set_drvdata(hdev, __cil_tmp15);
2911#line 529
2912 ret = (int )hid_parse(hdev);
2913 }
2914#line 530
2915 if (ret) {
2916 {
2917#line 531
2918 __cil_tmp16 = (unsigned long )hdev;
2919#line 531
2920 __cil_tmp17 = __cil_tmp16 + 6328;
2921#line 531
2922 __cil_tmp18 = (struct device *)__cil_tmp17;
2923#line 531
2924 __cil_tmp19 = (struct device const *)__cil_tmp18;
2925#line 531
2926 dev_err(__cil_tmp19, "parse failed\n");
2927 }
2928#line 532
2929 goto err;
2930 } else {
2931
2932 }
2933 {
2934#line 535
2935 ret = (int )hid_hw_start(hdev, 45U);
2936 }
2937#line 536
2938 if (ret) {
2939 {
2940#line 537
2941 __cil_tmp20 = (unsigned long )hdev;
2942#line 537
2943 __cil_tmp21 = __cil_tmp20 + 6328;
2944#line 537
2945 __cil_tmp22 = (struct device *)__cil_tmp21;
2946#line 537
2947 __cil_tmp23 = (struct device const *)__cil_tmp22;
2948#line 537
2949 dev_err(__cil_tmp23, "hw start failed\n");
2950 }
2951#line 538
2952 goto err;
2953 } else {
2954
2955 }
2956#line 541
2957 return (0);
2958 err:
2959 {
2960#line 543
2961 __cil_tmp24 = (void const *)s;
2962#line 543
2963 kfree(__cil_tmp24);
2964 }
2965#line 544
2966 return (ret);
2967}
2968}
2969#line 547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
2970static __u8 *waltop_report_fixup(struct hid_device *hdev , __u8 *rdesc , unsigned int *rsize )
2971{ unsigned long __cil_tmp4 ;
2972 unsigned long __cil_tmp5 ;
2973 __u32 __cil_tmp6 ;
2974 unsigned int __cil_tmp7 ;
2975 unsigned long __cil_tmp8 ;
2976 unsigned long __cil_tmp9 ;
2977 unsigned int __cil_tmp10 ;
2978 unsigned long __cil_tmp11 ;
2979 unsigned long __cil_tmp12 ;
2980 unsigned int __cil_tmp13 ;
2981 unsigned long __cil_tmp14 ;
2982 unsigned long __cil_tmp15 ;
2983 unsigned int __cil_tmp16 ;
2984 unsigned long __cil_tmp17 ;
2985 unsigned long __cil_tmp18 ;
2986 unsigned int __cil_tmp19 ;
2987 unsigned long __cil_tmp20 ;
2988 unsigned long __cil_tmp21 ;
2989 unsigned int __cil_tmp22 ;
2990 unsigned long __cil_tmp23 ;
2991 unsigned long __cil_tmp24 ;
2992
2993 {
2994 {
2995#line 550
2996 __cil_tmp4 = (unsigned long )hdev;
2997#line 550
2998 __cil_tmp5 = __cil_tmp4 + 44;
2999#line 550
3000 __cil_tmp6 = *((__u32 *)__cil_tmp5);
3001#line 551
3002 if ((int )__cil_tmp6 == 50) {
3003#line 551
3004 goto case_50;
3005 } else
3006#line 557
3007 if ((int )__cil_tmp6 == 52) {
3008#line 557
3009 goto case_52;
3010 } else
3011#line 563
3012 if ((int )__cil_tmp6 == 55) {
3013#line 563
3014 goto case_55;
3015 } else
3016#line 569
3017 if ((int )__cil_tmp6 == 56) {
3018#line 569
3019 goto case_56;
3020 } else
3021#line 575
3022 if ((int )__cil_tmp6 == 1281) {
3023#line 575
3024 goto case_1281;
3025 } else
3026#line 581
3027 if ((int )__cil_tmp6 == 1280) {
3028#line 581
3029 goto case_1280;
3030 } else
3031#line 550
3032 if (0) {
3033 case_50:
3034 {
3035#line 552
3036 __cil_tmp7 = *rsize;
3037#line 552
3038 if (__cil_tmp7 == 222U) {
3039#line 553
3040 __cil_tmp8 = 0 * 1UL;
3041#line 553
3042 __cil_tmp9 = (unsigned long )(slim_tablet_5_8_inch_rdesc_fixed) + __cil_tmp8;
3043#line 553
3044 rdesc = (__u8 *)__cil_tmp9;
3045#line 554
3046 *rsize = (unsigned int )84UL;
3047 } else {
3048
3049 }
3050 }
3051#line 556
3052 goto switch_break;
3053 case_52:
3054 {
3055#line 558
3056 __cil_tmp10 = *rsize;
3057#line 558
3058 if (__cil_tmp10 == 269U) {
3059#line 559
3060 __cil_tmp11 = 0 * 1UL;
3061#line 559
3062 __cil_tmp12 = (unsigned long )(slim_tablet_12_1_inch_rdesc_fixed) + __cil_tmp11;
3063#line 559
3064 rdesc = (__u8 *)__cil_tmp12;
3065#line 560
3066 *rsize = (unsigned int )84UL;
3067 } else {
3068
3069 }
3070 }
3071#line 562
3072 goto switch_break;
3073 case_55:
3074 {
3075#line 564
3076 __cil_tmp13 = *rsize;
3077#line 564
3078 if (__cil_tmp13 == 241U) {
3079#line 565
3080 __cil_tmp14 = 0 * 1UL;
3081#line 565
3082 __cil_tmp15 = (unsigned long )(q_pad_rdesc_fixed) + __cil_tmp14;
3083#line 565
3084 rdesc = (__u8 *)__cil_tmp15;
3085#line 566
3086 *rsize = (unsigned int )84UL;
3087 } else {
3088
3089 }
3090 }
3091#line 568
3092 goto switch_break;
3093 case_56:
3094 {
3095#line 570
3096 __cil_tmp16 = *rsize;
3097#line 570
3098 if (__cil_tmp16 == 241U) {
3099#line 571
3100 __cil_tmp17 = 0 * 1UL;
3101#line 571
3102 __cil_tmp18 = (unsigned long )(pid_0038_rdesc_fixed) + __cil_tmp17;
3103#line 571
3104 rdesc = (__u8 *)__cil_tmp18;
3105#line 572
3106 *rsize = (unsigned int )84UL;
3107 } else {
3108
3109 }
3110 }
3111#line 574
3112 goto switch_break;
3113 case_1281:
3114 {
3115#line 576
3116 __cil_tmp19 = *rsize;
3117#line 576
3118 if (__cil_tmp19 == 300U) {
3119#line 577
3120 __cil_tmp20 = 0 * 1UL;
3121#line 577
3122 __cil_tmp21 = (unsigned long )(media_tablet_10_6_inch_rdesc_fixed) + __cil_tmp20;
3123#line 577
3124 rdesc = (__u8 *)__cil_tmp21;
3125#line 578
3126 *rsize = (unsigned int )202UL;
3127 } else {
3128
3129 }
3130 }
3131#line 580
3132 goto switch_break;
3133 case_1280:
3134 {
3135#line 582
3136 __cil_tmp22 = *rsize;
3137#line 582
3138 if (__cil_tmp22 == 309U) {
3139#line 583
3140 __cil_tmp23 = 0 * 1UL;
3141#line 583
3142 __cil_tmp24 = (unsigned long )(media_tablet_14_1_inch_rdesc_fixed) + __cil_tmp23;
3143#line 583
3144 rdesc = (__u8 *)__cil_tmp24;
3145#line 584
3146 *rsize = (unsigned int )198UL;
3147 } else {
3148
3149 }
3150 }
3151#line 586
3152 goto switch_break;
3153 } else {
3154 switch_break: ;
3155 }
3156 }
3157#line 588
3158 return (rdesc);
3159}
3160}
3161#line 591 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3162static int waltop_raw_event(struct hid_device *hdev , struct hid_report *report ,
3163 u8 *data , int size )
3164{ struct waltop_state *s ;
3165 void *tmp ;
3166 unsigned long __cil_tmp7 ;
3167 unsigned long __cil_tmp8 ;
3168 __u32 __cil_tmp9 ;
3169 unsigned long __cil_tmp10 ;
3170 unsigned long __cil_tmp11 ;
3171 unsigned int __cil_tmp12 ;
3172 unsigned long __cil_tmp13 ;
3173 unsigned long __cil_tmp14 ;
3174 unsigned int __cil_tmp15 ;
3175 u8 *__cil_tmp16 ;
3176 u8 __cil_tmp17 ;
3177 int __cil_tmp18 ;
3178 int __cil_tmp19 ;
3179 u8 *__cil_tmp20 ;
3180 u8 *__cil_tmp21 ;
3181 unsigned long __cil_tmp22 ;
3182 unsigned long __cil_tmp23 ;
3183 u8 *__cil_tmp24 ;
3184 unsigned long __cil_tmp25 ;
3185 unsigned long __cil_tmp26 ;
3186 u8 *__cil_tmp27 ;
3187
3188 {
3189 {
3190#line 595
3191 __cil_tmp7 = (unsigned long )hdev;
3192#line 595
3193 __cil_tmp8 = __cil_tmp7 + 44;
3194#line 595
3195 __cil_tmp9 = *((__u32 *)__cil_tmp8);
3196#line 595
3197 if (__cil_tmp9 == 56U) {
3198 {
3199#line 595
3200 __cil_tmp10 = (unsigned long )report;
3201#line 595
3202 __cil_tmp11 = __cil_tmp10 + 20;
3203#line 595
3204 __cil_tmp12 = *((unsigned int *)__cil_tmp11);
3205#line 595
3206 if (__cil_tmp12 == 0U) {
3207 {
3208#line 595
3209 __cil_tmp13 = (unsigned long )report;
3210#line 595
3211 __cil_tmp14 = __cil_tmp13 + 16;
3212#line 595
3213 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
3214#line 595
3215 if (__cil_tmp15 == 16U) {
3216#line 595
3217 if (size == 8) {
3218 {
3219#line 599
3220 tmp = hid_get_drvdata(hdev);
3221#line 599
3222 s = (struct waltop_state *)tmp;
3223 }
3224 {
3225#line 607
3226 __cil_tmp16 = data + 1;
3227#line 607
3228 __cil_tmp17 = *__cil_tmp16;
3229#line 607
3230 __cil_tmp18 = (int )__cil_tmp17;
3231#line 607
3232 __cil_tmp19 = __cil_tmp18 & 15;
3233#line 607
3234 if (__cil_tmp19 > 1) {
3235#line 609
3236 __cil_tmp20 = data + 6;
3237#line 609
3238 *__cil_tmp20 = *((u8 *)s);
3239#line 610
3240 __cil_tmp21 = data + 7;
3241#line 610
3242 __cil_tmp22 = (unsigned long )s;
3243#line 610
3244 __cil_tmp23 = __cil_tmp22 + 1;
3245#line 610
3246 *__cil_tmp21 = *((u8 *)__cil_tmp23);
3247 } else {
3248#line 613
3249 __cil_tmp24 = data + 6;
3250#line 613
3251 *((u8 *)s) = *__cil_tmp24;
3252#line 614
3253 __cil_tmp25 = (unsigned long )s;
3254#line 614
3255 __cil_tmp26 = __cil_tmp25 + 1;
3256#line 614
3257 __cil_tmp27 = data + 7;
3258#line 614
3259 *((u8 *)__cil_tmp26) = *__cil_tmp27;
3260 }
3261 }
3262 } else {
3263
3264 }
3265 } else {
3266
3267 }
3268 }
3269 } else {
3270
3271 }
3272 }
3273 } else {
3274
3275 }
3276 }
3277#line 618
3278 return (0);
3279}
3280}
3281#line 621 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3282static void waltop_remove(struct hid_device *hdev )
3283{ struct waltop_state *s ;
3284 void *tmp ;
3285 void const *__cil_tmp4 ;
3286
3287 {
3288 {
3289#line 623
3290 tmp = hid_get_drvdata(hdev);
3291#line 623
3292 s = (struct waltop_state *)tmp;
3293#line 625
3294 hid_hw_stop(hdev);
3295#line 626
3296 __cil_tmp4 = (void const *)s;
3297#line 626
3298 kfree(__cil_tmp4);
3299 }
3300#line 627
3301 return;
3302}
3303}
3304#line 629 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3305static struct hid_device_id const waltop_devices[6] = { {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )50, 0UL},
3306 {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )52, 0UL},
3307 {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )55, 0UL},
3308 {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )56, 0UL},
3309 {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )1281, 0UL},
3310 {(__u16 )3, (unsigned short)0, (__u32 )5935, (__u32 )1280, 0UL}};
3311#line 644
3312extern struct hid_device_id const __mod_hid_device_table __attribute__((__unused__,
3313__alias__("waltop_devices"))) ;
3314#line 646 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3315static struct hid_driver waltop_driver =
3316#line 646
3317 {(char *)"waltop", waltop_devices, {(struct list_head *)0, (struct list_head *)0},
3318 {{{{{0U}}, 0U, 0U, (void *)0}}}, & waltop_probe, & waltop_remove, (struct hid_report_id const *)0,
3319 & waltop_raw_event, (struct hid_usage_id const *)0, (int (*)(struct hid_device *hdev ,
3320 struct hid_field *field ,
3321 struct hid_usage *usage ,
3322 __s32 value ))0,
3323 & waltop_report_fixup, (int (*)(struct hid_device *hdev , struct hid_input *hidinput ,
3324 struct hid_field *field , struct hid_usage *usage ,
3325 unsigned long **bit , int *max ))0, (int (*)(struct hid_device *hdev ,
3326 struct hid_input *hidinput ,
3327 struct hid_field *field ,
3328 struct hid_usage *usage ,
3329 unsigned long **bit ,
3330 int *max ))0,
3331 (void (*)(struct hid_device *hdev , struct hid_field *field , struct hid_usage *usage ))0,
3332 (int (*)(struct hid_device *hdev , pm_message_t message ))0, (int (*)(struct hid_device *hdev ))0,
3333 (int (*)(struct hid_device *hdev ))0, {(char const *)0, (struct bus_type *)0,
3334 (struct module *)0, (char const *)0,
3335 (_Bool)0, (struct of_device_id const *)0,
3336 (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
3337 (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
3338 pm_message_t state ))0,
3339 (int (*)(struct device *dev ))0, (struct attribute_group const **)0,
3340 (struct dev_pm_ops const *)0, (struct driver_private *)0}};
3341#line 655
3342static int waltop_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
3343#line 655 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3344static int waltop_init(void)
3345{ int tmp ;
3346
3347 {
3348 {
3349#line 657
3350 tmp = (int )__hid_register_driver(& waltop_driver, & __this_module, "hid_waltop");
3351 }
3352#line 657
3353 return (tmp);
3354}
3355}
3356#line 660
3357static void waltop_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
3358#line 660 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3359static void waltop_exit(void)
3360{
3361
3362 {
3363 {
3364#line 662
3365 hid_unregister_driver(& waltop_driver);
3366 }
3367#line 663
3368 return;
3369}
3370}
3371#line 665 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3372int init_module(void)
3373{ int tmp ;
3374
3375 {
3376 {
3377#line 665
3378 tmp = waltop_init();
3379 }
3380#line 665
3381 return (tmp);
3382}
3383}
3384#line 666 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3385void cleanup_module(void)
3386{
3387
3388 {
3389 {
3390#line 666
3391 waltop_exit();
3392 }
3393#line 666
3394 return;
3395}
3396}
3397#line 667 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3398static char const __mod_license667[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
3399__aligned__(1))) =
3400#line 667
3401 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
3402 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
3403 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
3404#line 685
3405void ldv_check_final_state(void) ;
3406#line 688
3407extern void ldv_check_return_value(int res ) ;
3408#line 691
3409extern void ldv_initialize(void) ;
3410#line 694
3411extern int __VERIFIER_nondet_int(void) ;
3412#line 697 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3413int LDV_IN_INTERRUPT ;
3414#line 721 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3415static int res_waltop_probe_0 ;
3416#line 700 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3417void main(void)
3418{ struct hid_device *var_group1 ;
3419 struct hid_device_id const *var_waltop_probe_0_p1 ;
3420 __u8 *var_waltop_report_fixup_1_p1 ;
3421 unsigned int *var_waltop_report_fixup_1_p2 ;
3422 struct hid_report *var_group2 ;
3423 u8 *var_waltop_raw_event_2_p2 ;
3424 int var_waltop_raw_event_2_p3 ;
3425 int tmp ;
3426 int ldv_s_waltop_driver_hid_driver ;
3427 int tmp___0 ;
3428 int tmp___1 ;
3429 int __cil_tmp12 ;
3430
3431 {
3432 {
3433#line 766
3434 LDV_IN_INTERRUPT = 1;
3435#line 775
3436 ldv_initialize();
3437#line 788
3438 tmp = waltop_init();
3439 }
3440#line 788
3441 if (tmp) {
3442#line 789
3443 goto ldv_final;
3444 } else {
3445
3446 }
3447#line 790
3448 ldv_s_waltop_driver_hid_driver = 0;
3449 {
3450#line 794
3451 while (1) {
3452 while_continue: ;
3453 {
3454#line 794
3455 tmp___1 = __VERIFIER_nondet_int();
3456 }
3457#line 794
3458 if (tmp___1) {
3459
3460 } else {
3461 {
3462#line 794
3463 __cil_tmp12 = ldv_s_waltop_driver_hid_driver == 0;
3464#line 794
3465 if (! __cil_tmp12) {
3466
3467 } else {
3468#line 794
3469 goto while_break;
3470 }
3471 }
3472 }
3473 {
3474#line 798
3475 tmp___0 = __VERIFIER_nondet_int();
3476 }
3477#line 800
3478 if (tmp___0 == 0) {
3479#line 800
3480 goto case_0;
3481 } else
3482#line 826
3483 if (tmp___0 == 1) {
3484#line 826
3485 goto case_1;
3486 } else
3487#line 849
3488 if (tmp___0 == 2) {
3489#line 849
3490 goto case_2;
3491 } else
3492#line 872
3493 if (tmp___0 == 3) {
3494#line 872
3495 goto case_3;
3496 } else {
3497 {
3498#line 895
3499 goto switch_default;
3500#line 798
3501 if (0) {
3502 case_0:
3503#line 803
3504 if (ldv_s_waltop_driver_hid_driver == 0) {
3505 {
3506#line 815
3507 res_waltop_probe_0 = waltop_probe(var_group1, var_waltop_probe_0_p1);
3508#line 816
3509 ldv_check_return_value(res_waltop_probe_0);
3510 }
3511#line 817
3512 if (res_waltop_probe_0) {
3513#line 818
3514 goto ldv_module_exit;
3515 } else {
3516
3517 }
3518#line 819
3519 ldv_s_waltop_driver_hid_driver = 0;
3520 } else {
3521
3522 }
3523#line 825
3524 goto switch_break;
3525 case_1:
3526 {
3527#line 841
3528 waltop_report_fixup(var_group1, var_waltop_report_fixup_1_p1, var_waltop_report_fixup_1_p2);
3529 }
3530#line 848
3531 goto switch_break;
3532 case_2:
3533 {
3534#line 864
3535 waltop_raw_event(var_group1, var_group2, var_waltop_raw_event_2_p2, var_waltop_raw_event_2_p3);
3536 }
3537#line 871
3538 goto switch_break;
3539 case_3:
3540 {
3541#line 887
3542 waltop_remove(var_group1);
3543 }
3544#line 894
3545 goto switch_break;
3546 switch_default:
3547#line 895
3548 goto switch_break;
3549 } else {
3550 switch_break: ;
3551 }
3552 }
3553 }
3554 }
3555 while_break: ;
3556 }
3557 ldv_module_exit:
3558 {
3559#line 914
3560 waltop_exit();
3561 }
3562 ldv_final:
3563 {
3564#line 917
3565 ldv_check_final_state();
3566 }
3567#line 920
3568 return;
3569}
3570}
3571#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
3572void ldv_blast_assert(void)
3573{
3574
3575 {
3576 ERROR:
3577#line 6
3578 goto ERROR;
3579}
3580}
3581#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
3582extern int __VERIFIER_nondet_int(void) ;
3583#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3584int ldv_mutex = 1;
3585#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3586int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
3587{ int nondetermined ;
3588
3589 {
3590#line 29
3591 if (ldv_mutex == 1) {
3592
3593 } else {
3594 {
3595#line 29
3596 ldv_blast_assert();
3597 }
3598 }
3599 {
3600#line 32
3601 nondetermined = __VERIFIER_nondet_int();
3602 }
3603#line 35
3604 if (nondetermined) {
3605#line 38
3606 ldv_mutex = 2;
3607#line 40
3608 return (0);
3609 } else {
3610#line 45
3611 return (-4);
3612 }
3613}
3614}
3615#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3616int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
3617{ int nondetermined ;
3618
3619 {
3620#line 57
3621 if (ldv_mutex == 1) {
3622
3623 } else {
3624 {
3625#line 57
3626 ldv_blast_assert();
3627 }
3628 }
3629 {
3630#line 60
3631 nondetermined = __VERIFIER_nondet_int();
3632 }
3633#line 63
3634 if (nondetermined) {
3635#line 66
3636 ldv_mutex = 2;
3637#line 68
3638 return (0);
3639 } else {
3640#line 73
3641 return (-4);
3642 }
3643}
3644}
3645#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3646int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
3647{ int atomic_value_after_dec ;
3648
3649 {
3650#line 83
3651 if (ldv_mutex == 1) {
3652
3653 } else {
3654 {
3655#line 83
3656 ldv_blast_assert();
3657 }
3658 }
3659 {
3660#line 86
3661 atomic_value_after_dec = __VERIFIER_nondet_int();
3662 }
3663#line 89
3664 if (atomic_value_after_dec == 0) {
3665#line 92
3666 ldv_mutex = 2;
3667#line 94
3668 return (1);
3669 } else {
3670
3671 }
3672#line 98
3673 return (0);
3674}
3675}
3676#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3677void mutex_lock(struct mutex *lock )
3678{
3679
3680 {
3681#line 108
3682 if (ldv_mutex == 1) {
3683
3684 } else {
3685 {
3686#line 108
3687 ldv_blast_assert();
3688 }
3689 }
3690#line 110
3691 ldv_mutex = 2;
3692#line 111
3693 return;
3694}
3695}
3696#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3697int mutex_trylock(struct mutex *lock )
3698{ int nondetermined ;
3699
3700 {
3701#line 121
3702 if (ldv_mutex == 1) {
3703
3704 } else {
3705 {
3706#line 121
3707 ldv_blast_assert();
3708 }
3709 }
3710 {
3711#line 124
3712 nondetermined = __VERIFIER_nondet_int();
3713 }
3714#line 127
3715 if (nondetermined) {
3716#line 130
3717 ldv_mutex = 2;
3718#line 132
3719 return (1);
3720 } else {
3721#line 137
3722 return (0);
3723 }
3724}
3725}
3726#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3727void mutex_unlock(struct mutex *lock )
3728{
3729
3730 {
3731#line 147
3732 if (ldv_mutex == 2) {
3733
3734 } else {
3735 {
3736#line 147
3737 ldv_blast_assert();
3738 }
3739 }
3740#line 149
3741 ldv_mutex = 1;
3742#line 150
3743 return;
3744}
3745}
3746#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3747void ldv_check_final_state(void)
3748{
3749
3750 {
3751#line 156
3752 if (ldv_mutex == 1) {
3753
3754 } else {
3755 {
3756#line 156
3757 ldv_blast_assert();
3758 }
3759 }
3760#line 157
3761 return;
3762}
3763}
3764#line 929 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/236/dscv_tempdir/dscv/ri/32_1/drivers/hid/hid-waltop.c.common.c"
3765long s__builtin_expect(long val , long res )
3766{
3767
3768 {
3769#line 930
3770 return (val);
3771}
3772}