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 206 "include/linux/types.h"
77typedef u64 phys_addr_t;
78#line 211 "include/linux/types.h"
79typedef phys_addr_t resource_size_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 46 "include/linux/dynamic_debug.h"
120struct device;
121#line 46
122struct device;
123#line 57
124struct completion;
125#line 57
126struct completion;
127#line 348 "include/linux/kernel.h"
128struct pid;
129#line 348
130struct pid;
131#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
132struct timespec;
133#line 112
134struct timespec;
135#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
136struct page;
137#line 58
138struct page;
139#line 26 "include/asm-generic/getorder.h"
140struct task_struct;
141#line 26
142struct task_struct;
143#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
144struct file;
145#line 290
146struct file;
147#line 305
148struct seq_file;
149#line 305
150struct seq_file;
151#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
152struct arch_spinlock;
153#line 327
154struct arch_spinlock;
155#line 306 "include/linux/bitmap.h"
156struct bug_entry {
157 int bug_addr_disp ;
158 int file_disp ;
159 unsigned short line ;
160 unsigned short flags ;
161};
162#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
163struct static_key;
164#line 234
165struct static_key;
166#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
167struct kmem_cache;
168#line 23 "include/asm-generic/atomic-long.h"
169typedef atomic64_t atomic_long_t;
170#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
171typedef u16 __ticket_t;
172#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
173typedef u32 __ticketpair_t;
174#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
175struct __raw_tickets {
176 __ticket_t head ;
177 __ticket_t tail ;
178};
179#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
180union __anonunion_ldv_5907_29 {
181 __ticketpair_t head_tail ;
182 struct __raw_tickets tickets ;
183};
184#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
185struct arch_spinlock {
186 union __anonunion_ldv_5907_29 ldv_5907 ;
187};
188#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
189typedef struct arch_spinlock arch_spinlock_t;
190#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
191struct __anonstruct_ldv_5914_31 {
192 u32 read ;
193 s32 write ;
194};
195#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
196union __anonunion_arch_rwlock_t_30 {
197 s64 lock ;
198 struct __anonstruct_ldv_5914_31 ldv_5914 ;
199};
200#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
201typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
202#line 34
203struct lockdep_map;
204#line 34
205struct lockdep_map;
206#line 55 "include/linux/debug_locks.h"
207struct stack_trace {
208 unsigned int nr_entries ;
209 unsigned int max_entries ;
210 unsigned long *entries ;
211 int skip ;
212};
213#line 26 "include/linux/stacktrace.h"
214struct lockdep_subclass_key {
215 char __one_byte ;
216};
217#line 53 "include/linux/lockdep.h"
218struct lock_class_key {
219 struct lockdep_subclass_key subkeys[8U] ;
220};
221#line 59 "include/linux/lockdep.h"
222struct lock_class {
223 struct list_head hash_entry ;
224 struct list_head lock_entry ;
225 struct lockdep_subclass_key *key ;
226 unsigned int subclass ;
227 unsigned int dep_gen_id ;
228 unsigned long usage_mask ;
229 struct stack_trace usage_traces[13U] ;
230 struct list_head locks_after ;
231 struct list_head locks_before ;
232 unsigned int version ;
233 unsigned long ops ;
234 char const *name ;
235 int name_version ;
236 unsigned long contention_point[4U] ;
237 unsigned long contending_point[4U] ;
238};
239#line 144 "include/linux/lockdep.h"
240struct lockdep_map {
241 struct lock_class_key *key ;
242 struct lock_class *class_cache[2U] ;
243 char const *name ;
244 int cpu ;
245 unsigned long ip ;
246};
247#line 556 "include/linux/lockdep.h"
248struct raw_spinlock {
249 arch_spinlock_t raw_lock ;
250 unsigned int magic ;
251 unsigned int owner_cpu ;
252 void *owner ;
253 struct lockdep_map dep_map ;
254};
255#line 32 "include/linux/spinlock_types.h"
256typedef struct raw_spinlock raw_spinlock_t;
257#line 33 "include/linux/spinlock_types.h"
258struct __anonstruct_ldv_6122_33 {
259 u8 __padding[24U] ;
260 struct lockdep_map dep_map ;
261};
262#line 33 "include/linux/spinlock_types.h"
263union __anonunion_ldv_6123_32 {
264 struct raw_spinlock rlock ;
265 struct __anonstruct_ldv_6122_33 ldv_6122 ;
266};
267#line 33 "include/linux/spinlock_types.h"
268struct spinlock {
269 union __anonunion_ldv_6123_32 ldv_6123 ;
270};
271#line 76 "include/linux/spinlock_types.h"
272typedef struct spinlock spinlock_t;
273#line 23 "include/linux/rwlock_types.h"
274struct __anonstruct_rwlock_t_34 {
275 arch_rwlock_t raw_lock ;
276 unsigned int magic ;
277 unsigned int owner_cpu ;
278 void *owner ;
279 struct lockdep_map dep_map ;
280};
281#line 23 "include/linux/rwlock_types.h"
282typedef struct __anonstruct_rwlock_t_34 rwlock_t;
283#line 110 "include/linux/seqlock.h"
284struct seqcount {
285 unsigned int sequence ;
286};
287#line 121 "include/linux/seqlock.h"
288typedef struct seqcount seqcount_t;
289#line 254 "include/linux/seqlock.h"
290struct timespec {
291 __kernel_time_t tv_sec ;
292 long tv_nsec ;
293};
294#line 286 "include/linux/time.h"
295struct kstat {
296 u64 ino ;
297 dev_t dev ;
298 umode_t mode ;
299 unsigned int nlink ;
300 uid_t uid ;
301 gid_t gid ;
302 dev_t rdev ;
303 loff_t size ;
304 struct timespec atime ;
305 struct timespec mtime ;
306 struct timespec ctime ;
307 unsigned long blksize ;
308 unsigned long long blocks ;
309};
310#line 48 "include/linux/wait.h"
311struct __wait_queue_head {
312 spinlock_t lock ;
313 struct list_head task_list ;
314};
315#line 53 "include/linux/wait.h"
316typedef struct __wait_queue_head wait_queue_head_t;
317#line 670 "include/linux/mmzone.h"
318struct mutex {
319 atomic_t count ;
320 spinlock_t wait_lock ;
321 struct list_head wait_list ;
322 struct task_struct *owner ;
323 char const *name ;
324 void *magic ;
325 struct lockdep_map dep_map ;
326};
327#line 171 "include/linux/mutex.h"
328struct rw_semaphore;
329#line 171
330struct rw_semaphore;
331#line 172 "include/linux/mutex.h"
332struct rw_semaphore {
333 long count ;
334 raw_spinlock_t wait_lock ;
335 struct list_head wait_list ;
336 struct lockdep_map dep_map ;
337};
338#line 128 "include/linux/rwsem.h"
339struct completion {
340 unsigned int done ;
341 wait_queue_head_t wait ;
342};
343#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
344struct resource {
345 resource_size_t start ;
346 resource_size_t end ;
347 char const *name ;
348 unsigned long flags ;
349 struct resource *parent ;
350 struct resource *sibling ;
351 struct resource *child ;
352};
353#line 312 "include/linux/jiffies.h"
354union ktime {
355 s64 tv64 ;
356};
357#line 59 "include/linux/ktime.h"
358typedef union ktime ktime_t;
359#line 341
360struct tvec_base;
361#line 341
362struct tvec_base;
363#line 342 "include/linux/ktime.h"
364struct timer_list {
365 struct list_head entry ;
366 unsigned long expires ;
367 struct tvec_base *base ;
368 void (*function)(unsigned long ) ;
369 unsigned long data ;
370 int slack ;
371 int start_pid ;
372 void *start_site ;
373 char start_comm[16U] ;
374 struct lockdep_map lockdep_map ;
375};
376#line 302 "include/linux/timer.h"
377struct work_struct;
378#line 302
379struct work_struct;
380#line 45 "include/linux/workqueue.h"
381struct work_struct {
382 atomic_long_t data ;
383 struct list_head entry ;
384 void (*func)(struct work_struct * ) ;
385 struct lockdep_map lockdep_map ;
386};
387#line 46 "include/linux/pm.h"
388struct pm_message {
389 int event ;
390};
391#line 52 "include/linux/pm.h"
392typedef struct pm_message pm_message_t;
393#line 53 "include/linux/pm.h"
394struct dev_pm_ops {
395 int (*prepare)(struct device * ) ;
396 void (*complete)(struct device * ) ;
397 int (*suspend)(struct device * ) ;
398 int (*resume)(struct device * ) ;
399 int (*freeze)(struct device * ) ;
400 int (*thaw)(struct device * ) ;
401 int (*poweroff)(struct device * ) ;
402 int (*restore)(struct device * ) ;
403 int (*suspend_late)(struct device * ) ;
404 int (*resume_early)(struct device * ) ;
405 int (*freeze_late)(struct device * ) ;
406 int (*thaw_early)(struct device * ) ;
407 int (*poweroff_late)(struct device * ) ;
408 int (*restore_early)(struct device * ) ;
409 int (*suspend_noirq)(struct device * ) ;
410 int (*resume_noirq)(struct device * ) ;
411 int (*freeze_noirq)(struct device * ) ;
412 int (*thaw_noirq)(struct device * ) ;
413 int (*poweroff_noirq)(struct device * ) ;
414 int (*restore_noirq)(struct device * ) ;
415 int (*runtime_suspend)(struct device * ) ;
416 int (*runtime_resume)(struct device * ) ;
417 int (*runtime_idle)(struct device * ) ;
418};
419#line 289
420enum rpm_status {
421 RPM_ACTIVE = 0,
422 RPM_RESUMING = 1,
423 RPM_SUSPENDED = 2,
424 RPM_SUSPENDING = 3
425} ;
426#line 296
427enum rpm_request {
428 RPM_REQ_NONE = 0,
429 RPM_REQ_IDLE = 1,
430 RPM_REQ_SUSPEND = 2,
431 RPM_REQ_AUTOSUSPEND = 3,
432 RPM_REQ_RESUME = 4
433} ;
434#line 304
435struct wakeup_source;
436#line 304
437struct wakeup_source;
438#line 494 "include/linux/pm.h"
439struct pm_subsys_data {
440 spinlock_t lock ;
441 unsigned int refcount ;
442};
443#line 499
444struct dev_pm_qos_request;
445#line 499
446struct pm_qos_constraints;
447#line 499 "include/linux/pm.h"
448struct dev_pm_info {
449 pm_message_t power_state ;
450 unsigned char can_wakeup : 1 ;
451 unsigned char async_suspend : 1 ;
452 bool is_prepared ;
453 bool is_suspended ;
454 bool ignore_children ;
455 spinlock_t lock ;
456 struct list_head entry ;
457 struct completion completion ;
458 struct wakeup_source *wakeup ;
459 bool wakeup_path ;
460 struct timer_list suspend_timer ;
461 unsigned long timer_expires ;
462 struct work_struct work ;
463 wait_queue_head_t wait_queue ;
464 atomic_t usage_count ;
465 atomic_t child_count ;
466 unsigned char disable_depth : 3 ;
467 unsigned char idle_notification : 1 ;
468 unsigned char request_pending : 1 ;
469 unsigned char deferred_resume : 1 ;
470 unsigned char run_wake : 1 ;
471 unsigned char runtime_auto : 1 ;
472 unsigned char no_callbacks : 1 ;
473 unsigned char irq_safe : 1 ;
474 unsigned char use_autosuspend : 1 ;
475 unsigned char timer_autosuspends : 1 ;
476 enum rpm_request request ;
477 enum rpm_status runtime_status ;
478 int runtime_error ;
479 int autosuspend_delay ;
480 unsigned long last_busy ;
481 unsigned long active_jiffies ;
482 unsigned long suspended_jiffies ;
483 unsigned long accounting_timestamp ;
484 ktime_t suspend_time ;
485 s64 max_time_suspended_ns ;
486 struct dev_pm_qos_request *pq_req ;
487 struct pm_subsys_data *subsys_data ;
488 struct pm_qos_constraints *constraints ;
489};
490#line 558 "include/linux/pm.h"
491struct dev_pm_domain {
492 struct dev_pm_ops ops ;
493};
494#line 18 "include/asm-generic/pci_iomap.h"
495struct vm_area_struct;
496#line 18
497struct vm_area_struct;
498#line 37 "include/linux/kmod.h"
499struct cred;
500#line 37
501struct cred;
502#line 18 "include/linux/elf.h"
503typedef __u64 Elf64_Addr;
504#line 19 "include/linux/elf.h"
505typedef __u16 Elf64_Half;
506#line 23 "include/linux/elf.h"
507typedef __u32 Elf64_Word;
508#line 24 "include/linux/elf.h"
509typedef __u64 Elf64_Xword;
510#line 193 "include/linux/elf.h"
511struct elf64_sym {
512 Elf64_Word st_name ;
513 unsigned char st_info ;
514 unsigned char st_other ;
515 Elf64_Half st_shndx ;
516 Elf64_Addr st_value ;
517 Elf64_Xword st_size ;
518};
519#line 201 "include/linux/elf.h"
520typedef struct elf64_sym Elf64_Sym;
521#line 445
522struct sock;
523#line 445
524struct sock;
525#line 446
526struct kobject;
527#line 446
528struct kobject;
529#line 447
530enum kobj_ns_type {
531 KOBJ_NS_TYPE_NONE = 0,
532 KOBJ_NS_TYPE_NET = 1,
533 KOBJ_NS_TYPES = 2
534} ;
535#line 453 "include/linux/elf.h"
536struct kobj_ns_type_operations {
537 enum kobj_ns_type type ;
538 void *(*grab_current_ns)(void) ;
539 void const *(*netlink_ns)(struct sock * ) ;
540 void const *(*initial_ns)(void) ;
541 void (*drop_ns)(void * ) ;
542};
543#line 57 "include/linux/kobject_ns.h"
544struct attribute {
545 char const *name ;
546 umode_t mode ;
547 struct lock_class_key *key ;
548 struct lock_class_key skey ;
549};
550#line 33 "include/linux/sysfs.h"
551struct attribute_group {
552 char const *name ;
553 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
554 struct attribute **attrs ;
555};
556#line 62 "include/linux/sysfs.h"
557struct bin_attribute {
558 struct attribute attr ;
559 size_t size ;
560 void *private ;
561 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
562 loff_t , size_t ) ;
563 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
564 loff_t , size_t ) ;
565 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
566};
567#line 98 "include/linux/sysfs.h"
568struct sysfs_ops {
569 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
570 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
571 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
572};
573#line 117
574struct sysfs_dirent;
575#line 117
576struct sysfs_dirent;
577#line 182 "include/linux/sysfs.h"
578struct kref {
579 atomic_t refcount ;
580};
581#line 49 "include/linux/kobject.h"
582struct kset;
583#line 49
584struct kobj_type;
585#line 49 "include/linux/kobject.h"
586struct kobject {
587 char const *name ;
588 struct list_head entry ;
589 struct kobject *parent ;
590 struct kset *kset ;
591 struct kobj_type *ktype ;
592 struct sysfs_dirent *sd ;
593 struct kref kref ;
594 unsigned char state_initialized : 1 ;
595 unsigned char state_in_sysfs : 1 ;
596 unsigned char state_add_uevent_sent : 1 ;
597 unsigned char state_remove_uevent_sent : 1 ;
598 unsigned char uevent_suppress : 1 ;
599};
600#line 107 "include/linux/kobject.h"
601struct kobj_type {
602 void (*release)(struct kobject * ) ;
603 struct sysfs_ops const *sysfs_ops ;
604 struct attribute **default_attrs ;
605 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
606 void const *(*namespace)(struct kobject * ) ;
607};
608#line 115 "include/linux/kobject.h"
609struct kobj_uevent_env {
610 char *envp[32U] ;
611 int envp_idx ;
612 char buf[2048U] ;
613 int buflen ;
614};
615#line 122 "include/linux/kobject.h"
616struct kset_uevent_ops {
617 int (* const filter)(struct kset * , struct kobject * ) ;
618 char const *(* const name)(struct kset * , struct kobject * ) ;
619 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
620};
621#line 139 "include/linux/kobject.h"
622struct kset {
623 struct list_head list ;
624 spinlock_t list_lock ;
625 struct kobject kobj ;
626 struct kset_uevent_ops const *uevent_ops ;
627};
628#line 215
629struct kernel_param;
630#line 215
631struct kernel_param;
632#line 216 "include/linux/kobject.h"
633struct kernel_param_ops {
634 int (*set)(char const * , struct kernel_param const * ) ;
635 int (*get)(char * , struct kernel_param const * ) ;
636 void (*free)(void * ) ;
637};
638#line 49 "include/linux/moduleparam.h"
639struct kparam_string;
640#line 49
641struct kparam_array;
642#line 49 "include/linux/moduleparam.h"
643union __anonunion_ldv_13363_134 {
644 void *arg ;
645 struct kparam_string const *str ;
646 struct kparam_array const *arr ;
647};
648#line 49 "include/linux/moduleparam.h"
649struct kernel_param {
650 char const *name ;
651 struct kernel_param_ops const *ops ;
652 u16 perm ;
653 s16 level ;
654 union __anonunion_ldv_13363_134 ldv_13363 ;
655};
656#line 61 "include/linux/moduleparam.h"
657struct kparam_string {
658 unsigned int maxlen ;
659 char *string ;
660};
661#line 67 "include/linux/moduleparam.h"
662struct kparam_array {
663 unsigned int max ;
664 unsigned int elemsize ;
665 unsigned int *num ;
666 struct kernel_param_ops const *ops ;
667 void *elem ;
668};
669#line 458 "include/linux/moduleparam.h"
670struct static_key {
671 atomic_t enabled ;
672};
673#line 225 "include/linux/jump_label.h"
674struct tracepoint;
675#line 225
676struct tracepoint;
677#line 226 "include/linux/jump_label.h"
678struct tracepoint_func {
679 void *func ;
680 void *data ;
681};
682#line 29 "include/linux/tracepoint.h"
683struct tracepoint {
684 char const *name ;
685 struct static_key key ;
686 void (*regfunc)(void) ;
687 void (*unregfunc)(void) ;
688 struct tracepoint_func *funcs ;
689};
690#line 86 "include/linux/tracepoint.h"
691struct kernel_symbol {
692 unsigned long value ;
693 char const *name ;
694};
695#line 27 "include/linux/export.h"
696struct mod_arch_specific {
697
698};
699#line 34 "include/linux/module.h"
700struct module_param_attrs;
701#line 34 "include/linux/module.h"
702struct module_kobject {
703 struct kobject kobj ;
704 struct module *mod ;
705 struct kobject *drivers_dir ;
706 struct module_param_attrs *mp ;
707};
708#line 43 "include/linux/module.h"
709struct module_attribute {
710 struct attribute attr ;
711 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
712 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
713 size_t ) ;
714 void (*setup)(struct module * , char const * ) ;
715 int (*test)(struct module * ) ;
716 void (*free)(struct module * ) ;
717};
718#line 69
719struct exception_table_entry;
720#line 69
721struct exception_table_entry;
722#line 198
723enum module_state {
724 MODULE_STATE_LIVE = 0,
725 MODULE_STATE_COMING = 1,
726 MODULE_STATE_GOING = 2
727} ;
728#line 204 "include/linux/module.h"
729struct module_ref {
730 unsigned long incs ;
731 unsigned long decs ;
732};
733#line 219
734struct module_sect_attrs;
735#line 219
736struct module_notes_attrs;
737#line 219
738struct ftrace_event_call;
739#line 219 "include/linux/module.h"
740struct module {
741 enum module_state state ;
742 struct list_head list ;
743 char name[56U] ;
744 struct module_kobject mkobj ;
745 struct module_attribute *modinfo_attrs ;
746 char const *version ;
747 char const *srcversion ;
748 struct kobject *holders_dir ;
749 struct kernel_symbol const *syms ;
750 unsigned long const *crcs ;
751 unsigned int num_syms ;
752 struct kernel_param *kp ;
753 unsigned int num_kp ;
754 unsigned int num_gpl_syms ;
755 struct kernel_symbol const *gpl_syms ;
756 unsigned long const *gpl_crcs ;
757 struct kernel_symbol const *unused_syms ;
758 unsigned long const *unused_crcs ;
759 unsigned int num_unused_syms ;
760 unsigned int num_unused_gpl_syms ;
761 struct kernel_symbol const *unused_gpl_syms ;
762 unsigned long const *unused_gpl_crcs ;
763 struct kernel_symbol const *gpl_future_syms ;
764 unsigned long const *gpl_future_crcs ;
765 unsigned int num_gpl_future_syms ;
766 unsigned int num_exentries ;
767 struct exception_table_entry *extable ;
768 int (*init)(void) ;
769 void *module_init ;
770 void *module_core ;
771 unsigned int init_size ;
772 unsigned int core_size ;
773 unsigned int init_text_size ;
774 unsigned int core_text_size ;
775 unsigned int init_ro_size ;
776 unsigned int core_ro_size ;
777 struct mod_arch_specific arch ;
778 unsigned int taints ;
779 unsigned int num_bugs ;
780 struct list_head bug_list ;
781 struct bug_entry *bug_table ;
782 Elf64_Sym *symtab ;
783 Elf64_Sym *core_symtab ;
784 unsigned int num_symtab ;
785 unsigned int core_num_syms ;
786 char *strtab ;
787 char *core_strtab ;
788 struct module_sect_attrs *sect_attrs ;
789 struct module_notes_attrs *notes_attrs ;
790 char *args ;
791 void *percpu ;
792 unsigned int percpu_size ;
793 unsigned int num_tracepoints ;
794 struct tracepoint * const *tracepoints_ptrs ;
795 unsigned int num_trace_bprintk_fmt ;
796 char const **trace_bprintk_fmt_start ;
797 struct ftrace_event_call **trace_events ;
798 unsigned int num_trace_events ;
799 struct list_head source_list ;
800 struct list_head target_list ;
801 struct task_struct *waiter ;
802 void (*exit)(void) ;
803 struct module_ref *refptr ;
804 ctor_fn_t (**ctors)(void) ;
805 unsigned int num_ctors ;
806};
807#line 88 "include/linux/kmemleak.h"
808struct kmem_cache_cpu {
809 void **freelist ;
810 unsigned long tid ;
811 struct page *page ;
812 struct page *partial ;
813 int node ;
814 unsigned int stat[26U] ;
815};
816#line 55 "include/linux/slub_def.h"
817struct kmem_cache_node {
818 spinlock_t list_lock ;
819 unsigned long nr_partial ;
820 struct list_head partial ;
821 atomic_long_t nr_slabs ;
822 atomic_long_t total_objects ;
823 struct list_head full ;
824};
825#line 66 "include/linux/slub_def.h"
826struct kmem_cache_order_objects {
827 unsigned long x ;
828};
829#line 76 "include/linux/slub_def.h"
830struct kmem_cache {
831 struct kmem_cache_cpu *cpu_slab ;
832 unsigned long flags ;
833 unsigned long min_partial ;
834 int size ;
835 int objsize ;
836 int offset ;
837 int cpu_partial ;
838 struct kmem_cache_order_objects oo ;
839 struct kmem_cache_order_objects max ;
840 struct kmem_cache_order_objects min ;
841 gfp_t allocflags ;
842 int refcount ;
843 void (*ctor)(void * ) ;
844 int inuse ;
845 int align ;
846 int reserved ;
847 char const *name ;
848 struct list_head list ;
849 struct kobject kobj ;
850 int remote_node_defrag_ratio ;
851 struct kmem_cache_node *node[1024U] ;
852};
853#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
854struct klist_node;
855#line 15
856struct klist_node;
857#line 37 "include/linux/klist.h"
858struct klist_node {
859 void *n_klist ;
860 struct list_head n_node ;
861 struct kref n_ref ;
862};
863#line 67
864struct dma_map_ops;
865#line 67 "include/linux/klist.h"
866struct dev_archdata {
867 void *acpi_handle ;
868 struct dma_map_ops *dma_ops ;
869 void *iommu ;
870};
871#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
872struct pdev_archdata {
873
874};
875#line 17
876struct device_private;
877#line 17
878struct device_private;
879#line 18
880struct device_driver;
881#line 18
882struct device_driver;
883#line 19
884struct driver_private;
885#line 19
886struct driver_private;
887#line 20
888struct class;
889#line 20
890struct class;
891#line 21
892struct subsys_private;
893#line 21
894struct subsys_private;
895#line 22
896struct bus_type;
897#line 22
898struct bus_type;
899#line 23
900struct device_node;
901#line 23
902struct device_node;
903#line 24
904struct iommu_ops;
905#line 24
906struct iommu_ops;
907#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
908struct bus_attribute {
909 struct attribute attr ;
910 ssize_t (*show)(struct bus_type * , char * ) ;
911 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
912};
913#line 51 "include/linux/device.h"
914struct device_attribute;
915#line 51
916struct driver_attribute;
917#line 51 "include/linux/device.h"
918struct bus_type {
919 char const *name ;
920 char const *dev_name ;
921 struct device *dev_root ;
922 struct bus_attribute *bus_attrs ;
923 struct device_attribute *dev_attrs ;
924 struct driver_attribute *drv_attrs ;
925 int (*match)(struct device * , struct device_driver * ) ;
926 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
927 int (*probe)(struct device * ) ;
928 int (*remove)(struct device * ) ;
929 void (*shutdown)(struct device * ) ;
930 int (*suspend)(struct device * , pm_message_t ) ;
931 int (*resume)(struct device * ) ;
932 struct dev_pm_ops const *pm ;
933 struct iommu_ops *iommu_ops ;
934 struct subsys_private *p ;
935};
936#line 125
937struct device_type;
938#line 182
939struct of_device_id;
940#line 182 "include/linux/device.h"
941struct device_driver {
942 char const *name ;
943 struct bus_type *bus ;
944 struct module *owner ;
945 char const *mod_name ;
946 bool suppress_bind_attrs ;
947 struct of_device_id const *of_match_table ;
948 int (*probe)(struct device * ) ;
949 int (*remove)(struct device * ) ;
950 void (*shutdown)(struct device * ) ;
951 int (*suspend)(struct device * , pm_message_t ) ;
952 int (*resume)(struct device * ) ;
953 struct attribute_group const **groups ;
954 struct dev_pm_ops const *pm ;
955 struct driver_private *p ;
956};
957#line 245 "include/linux/device.h"
958struct driver_attribute {
959 struct attribute attr ;
960 ssize_t (*show)(struct device_driver * , char * ) ;
961 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
962};
963#line 299
964struct class_attribute;
965#line 299 "include/linux/device.h"
966struct class {
967 char const *name ;
968 struct module *owner ;
969 struct class_attribute *class_attrs ;
970 struct device_attribute *dev_attrs ;
971 struct bin_attribute *dev_bin_attrs ;
972 struct kobject *dev_kobj ;
973 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
974 char *(*devnode)(struct device * , umode_t * ) ;
975 void (*class_release)(struct class * ) ;
976 void (*dev_release)(struct device * ) ;
977 int (*suspend)(struct device * , pm_message_t ) ;
978 int (*resume)(struct device * ) ;
979 struct kobj_ns_type_operations const *ns_type ;
980 void const *(*namespace)(struct device * ) ;
981 struct dev_pm_ops const *pm ;
982 struct subsys_private *p ;
983};
984#line 394 "include/linux/device.h"
985struct class_attribute {
986 struct attribute attr ;
987 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
988 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
989 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
990};
991#line 447 "include/linux/device.h"
992struct device_type {
993 char const *name ;
994 struct attribute_group const **groups ;
995 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
996 char *(*devnode)(struct device * , umode_t * ) ;
997 void (*release)(struct device * ) ;
998 struct dev_pm_ops const *pm ;
999};
1000#line 474 "include/linux/device.h"
1001struct device_attribute {
1002 struct attribute attr ;
1003 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1004 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1005 size_t ) ;
1006};
1007#line 557 "include/linux/device.h"
1008struct device_dma_parameters {
1009 unsigned int max_segment_size ;
1010 unsigned long segment_boundary_mask ;
1011};
1012#line 567
1013struct dma_coherent_mem;
1014#line 567 "include/linux/device.h"
1015struct device {
1016 struct device *parent ;
1017 struct device_private *p ;
1018 struct kobject kobj ;
1019 char const *init_name ;
1020 struct device_type const *type ;
1021 struct mutex mutex ;
1022 struct bus_type *bus ;
1023 struct device_driver *driver ;
1024 void *platform_data ;
1025 struct dev_pm_info power ;
1026 struct dev_pm_domain *pm_domain ;
1027 int numa_node ;
1028 u64 *dma_mask ;
1029 u64 coherent_dma_mask ;
1030 struct device_dma_parameters *dma_parms ;
1031 struct list_head dma_pools ;
1032 struct dma_coherent_mem *dma_mem ;
1033 struct dev_archdata archdata ;
1034 struct device_node *of_node ;
1035 dev_t devt ;
1036 u32 id ;
1037 spinlock_t devres_lock ;
1038 struct list_head devres_head ;
1039 struct klist_node knode_class ;
1040 struct class *class ;
1041 struct attribute_group const **groups ;
1042 void (*release)(struct device * ) ;
1043};
1044#line 681 "include/linux/device.h"
1045struct wakeup_source {
1046 char const *name ;
1047 struct list_head entry ;
1048 spinlock_t lock ;
1049 struct timer_list timer ;
1050 unsigned long timer_expires ;
1051 ktime_t total_time ;
1052 ktime_t max_time ;
1053 ktime_t last_time ;
1054 unsigned long event_count ;
1055 unsigned long active_count ;
1056 unsigned long relax_count ;
1057 unsigned long hit_count ;
1058 unsigned char active : 1 ;
1059};
1060#line 12 "include/linux/mod_devicetable.h"
1061typedef unsigned long kernel_ulong_t;
1062#line 215 "include/linux/mod_devicetable.h"
1063struct of_device_id {
1064 char name[32U] ;
1065 char type[32U] ;
1066 char compatible[128U] ;
1067 void *data ;
1068};
1069#line 269 "include/linux/mod_devicetable.h"
1070struct input_device_id {
1071 kernel_ulong_t flags ;
1072 __u16 bustype ;
1073 __u16 vendor ;
1074 __u16 product ;
1075 __u16 version ;
1076 kernel_ulong_t evbit[1U] ;
1077 kernel_ulong_t keybit[12U] ;
1078 kernel_ulong_t relbit[1U] ;
1079 kernel_ulong_t absbit[1U] ;
1080 kernel_ulong_t mscbit[1U] ;
1081 kernel_ulong_t ledbit[1U] ;
1082 kernel_ulong_t sndbit[1U] ;
1083 kernel_ulong_t ffbit[2U] ;
1084 kernel_ulong_t swbit[1U] ;
1085 kernel_ulong_t driver_info ;
1086};
1087#line 492 "include/linux/mod_devicetable.h"
1088struct platform_device_id {
1089 char name[20U] ;
1090 kernel_ulong_t driver_data ;
1091};
1092#line 584
1093struct mfd_cell;
1094#line 584
1095struct mfd_cell;
1096#line 585 "include/linux/mod_devicetable.h"
1097struct platform_device {
1098 char const *name ;
1099 int id ;
1100 struct device dev ;
1101 u32 num_resources ;
1102 struct resource *resource ;
1103 struct platform_device_id const *id_entry ;
1104 struct mfd_cell *mfd_cell ;
1105 struct pdev_archdata archdata ;
1106};
1107#line 32 "include/linux/input.h"
1108struct input_id {
1109 __u16 bustype ;
1110 __u16 vendor ;
1111 __u16 product ;
1112 __u16 version ;
1113};
1114#line 49 "include/linux/input.h"
1115struct input_absinfo {
1116 __s32 value ;
1117 __s32 minimum ;
1118 __s32 maximum ;
1119 __s32 fuzz ;
1120 __s32 flat ;
1121 __s32 resolution ;
1122};
1123#line 77 "include/linux/input.h"
1124struct input_keymap_entry {
1125 __u8 flags ;
1126 __u8 len ;
1127 __u16 index ;
1128 __u32 keycode ;
1129 __u8 scancode[32U] ;
1130};
1131#line 101 "include/linux/input.h"
1132struct ff_replay {
1133 __u16 length ;
1134 __u16 delay ;
1135};
1136#line 961 "include/linux/input.h"
1137struct ff_trigger {
1138 __u16 button ;
1139 __u16 interval ;
1140};
1141#line 971 "include/linux/input.h"
1142struct ff_envelope {
1143 __u16 attack_length ;
1144 __u16 attack_level ;
1145 __u16 fade_length ;
1146 __u16 fade_level ;
1147};
1148#line 990 "include/linux/input.h"
1149struct ff_constant_effect {
1150 __s16 level ;
1151 struct ff_envelope envelope ;
1152};
1153#line 1000 "include/linux/input.h"
1154struct ff_ramp_effect {
1155 __s16 start_level ;
1156 __s16 end_level ;
1157 struct ff_envelope envelope ;
1158};
1159#line 1012 "include/linux/input.h"
1160struct ff_condition_effect {
1161 __u16 right_saturation ;
1162 __u16 left_saturation ;
1163 __s16 right_coeff ;
1164 __s16 left_coeff ;
1165 __u16 deadband ;
1166 __s16 center ;
1167};
1168#line 1033 "include/linux/input.h"
1169struct ff_periodic_effect {
1170 __u16 waveform ;
1171 __u16 period ;
1172 __s16 magnitude ;
1173 __s16 offset ;
1174 __u16 phase ;
1175 struct ff_envelope envelope ;
1176 __u32 custom_len ;
1177 __s16 *custom_data ;
1178};
1179#line 1064 "include/linux/input.h"
1180struct ff_rumble_effect {
1181 __u16 strong_magnitude ;
1182 __u16 weak_magnitude ;
1183};
1184#line 1077 "include/linux/input.h"
1185union __anonunion_u_136 {
1186 struct ff_constant_effect constant ;
1187 struct ff_ramp_effect ramp ;
1188 struct ff_periodic_effect periodic ;
1189 struct ff_condition_effect condition[2U] ;
1190 struct ff_rumble_effect rumble ;
1191};
1192#line 1077 "include/linux/input.h"
1193struct ff_effect {
1194 __u16 type ;
1195 __s16 id ;
1196 __u16 direction ;
1197 struct ff_trigger trigger ;
1198 struct ff_replay replay ;
1199 union __anonunion_u_136 u ;
1200};
1201#line 1119
1202struct block_device;
1203#line 1119
1204struct block_device;
1205#line 93 "include/linux/bit_spinlock.h"
1206struct hlist_bl_node;
1207#line 93 "include/linux/bit_spinlock.h"
1208struct hlist_bl_head {
1209 struct hlist_bl_node *first ;
1210};
1211#line 36 "include/linux/list_bl.h"
1212struct hlist_bl_node {
1213 struct hlist_bl_node *next ;
1214 struct hlist_bl_node **pprev ;
1215};
1216#line 114 "include/linux/rculist_bl.h"
1217struct nameidata;
1218#line 114
1219struct nameidata;
1220#line 115
1221struct path;
1222#line 115
1223struct path;
1224#line 116
1225struct vfsmount;
1226#line 116
1227struct vfsmount;
1228#line 117 "include/linux/rculist_bl.h"
1229struct qstr {
1230 unsigned int hash ;
1231 unsigned int len ;
1232 unsigned char const *name ;
1233};
1234#line 72 "include/linux/dcache.h"
1235struct inode;
1236#line 72
1237struct dentry_operations;
1238#line 72
1239struct super_block;
1240#line 72 "include/linux/dcache.h"
1241union __anonunion_d_u_137 {
1242 struct list_head d_child ;
1243 struct rcu_head d_rcu ;
1244};
1245#line 72 "include/linux/dcache.h"
1246struct dentry {
1247 unsigned int d_flags ;
1248 seqcount_t d_seq ;
1249 struct hlist_bl_node d_hash ;
1250 struct dentry *d_parent ;
1251 struct qstr d_name ;
1252 struct inode *d_inode ;
1253 unsigned char d_iname[32U] ;
1254 unsigned int d_count ;
1255 spinlock_t d_lock ;
1256 struct dentry_operations const *d_op ;
1257 struct super_block *d_sb ;
1258 unsigned long d_time ;
1259 void *d_fsdata ;
1260 struct list_head d_lru ;
1261 union __anonunion_d_u_137 d_u ;
1262 struct list_head d_subdirs ;
1263 struct list_head d_alias ;
1264};
1265#line 123 "include/linux/dcache.h"
1266struct dentry_operations {
1267 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1268 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1269 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1270 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1271 int (*d_delete)(struct dentry const * ) ;
1272 void (*d_release)(struct dentry * ) ;
1273 void (*d_prune)(struct dentry * ) ;
1274 void (*d_iput)(struct dentry * , struct inode * ) ;
1275 char *(*d_dname)(struct dentry * , char * , int ) ;
1276 struct vfsmount *(*d_automount)(struct path * ) ;
1277 int (*d_manage)(struct dentry * , bool ) ;
1278};
1279#line 402 "include/linux/dcache.h"
1280struct path {
1281 struct vfsmount *mnt ;
1282 struct dentry *dentry ;
1283};
1284#line 58 "include/linux/radix-tree.h"
1285struct radix_tree_node;
1286#line 58 "include/linux/radix-tree.h"
1287struct radix_tree_root {
1288 unsigned int height ;
1289 gfp_t gfp_mask ;
1290 struct radix_tree_node *rnode ;
1291};
1292#line 377
1293struct prio_tree_node;
1294#line 19 "include/linux/prio_tree.h"
1295struct prio_tree_node {
1296 struct prio_tree_node *left ;
1297 struct prio_tree_node *right ;
1298 struct prio_tree_node *parent ;
1299 unsigned long start ;
1300 unsigned long last ;
1301};
1302#line 27 "include/linux/prio_tree.h"
1303struct prio_tree_root {
1304 struct prio_tree_node *prio_tree_node ;
1305 unsigned short index_bits ;
1306 unsigned short raw ;
1307};
1308#line 111
1309enum pid_type {
1310 PIDTYPE_PID = 0,
1311 PIDTYPE_PGID = 1,
1312 PIDTYPE_SID = 2,
1313 PIDTYPE_MAX = 3
1314} ;
1315#line 118
1316struct pid_namespace;
1317#line 118 "include/linux/prio_tree.h"
1318struct upid {
1319 int nr ;
1320 struct pid_namespace *ns ;
1321 struct hlist_node pid_chain ;
1322};
1323#line 56 "include/linux/pid.h"
1324struct pid {
1325 atomic_t count ;
1326 unsigned int level ;
1327 struct hlist_head tasks[3U] ;
1328 struct rcu_head rcu ;
1329 struct upid numbers[1U] ;
1330};
1331#line 45 "include/linux/semaphore.h"
1332struct fiemap_extent {
1333 __u64 fe_logical ;
1334 __u64 fe_physical ;
1335 __u64 fe_length ;
1336 __u64 fe_reserved64[2U] ;
1337 __u32 fe_flags ;
1338 __u32 fe_reserved[3U] ;
1339};
1340#line 38 "include/linux/fiemap.h"
1341struct shrink_control {
1342 gfp_t gfp_mask ;
1343 unsigned long nr_to_scan ;
1344};
1345#line 14 "include/linux/shrinker.h"
1346struct shrinker {
1347 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1348 int seeks ;
1349 long batch ;
1350 struct list_head list ;
1351 atomic_long_t nr_in_batch ;
1352};
1353#line 43
1354enum migrate_mode {
1355 MIGRATE_ASYNC = 0,
1356 MIGRATE_SYNC_LIGHT = 1,
1357 MIGRATE_SYNC = 2
1358} ;
1359#line 49
1360struct export_operations;
1361#line 49
1362struct export_operations;
1363#line 51
1364struct iovec;
1365#line 51
1366struct iovec;
1367#line 52
1368struct kiocb;
1369#line 52
1370struct kiocb;
1371#line 53
1372struct pipe_inode_info;
1373#line 53
1374struct pipe_inode_info;
1375#line 54
1376struct poll_table_struct;
1377#line 54
1378struct poll_table_struct;
1379#line 55
1380struct kstatfs;
1381#line 55
1382struct kstatfs;
1383#line 435 "include/linux/fs.h"
1384struct iattr {
1385 unsigned int ia_valid ;
1386 umode_t ia_mode ;
1387 uid_t ia_uid ;
1388 gid_t ia_gid ;
1389 loff_t ia_size ;
1390 struct timespec ia_atime ;
1391 struct timespec ia_mtime ;
1392 struct timespec ia_ctime ;
1393 struct file *ia_file ;
1394};
1395#line 119 "include/linux/quota.h"
1396struct if_dqinfo {
1397 __u64 dqi_bgrace ;
1398 __u64 dqi_igrace ;
1399 __u32 dqi_flags ;
1400 __u32 dqi_valid ;
1401};
1402#line 176 "include/linux/percpu_counter.h"
1403struct fs_disk_quota {
1404 __s8 d_version ;
1405 __s8 d_flags ;
1406 __u16 d_fieldmask ;
1407 __u32 d_id ;
1408 __u64 d_blk_hardlimit ;
1409 __u64 d_blk_softlimit ;
1410 __u64 d_ino_hardlimit ;
1411 __u64 d_ino_softlimit ;
1412 __u64 d_bcount ;
1413 __u64 d_icount ;
1414 __s32 d_itimer ;
1415 __s32 d_btimer ;
1416 __u16 d_iwarns ;
1417 __u16 d_bwarns ;
1418 __s32 d_padding2 ;
1419 __u64 d_rtb_hardlimit ;
1420 __u64 d_rtb_softlimit ;
1421 __u64 d_rtbcount ;
1422 __s32 d_rtbtimer ;
1423 __u16 d_rtbwarns ;
1424 __s16 d_padding3 ;
1425 char d_padding4[8U] ;
1426};
1427#line 75 "include/linux/dqblk_xfs.h"
1428struct fs_qfilestat {
1429 __u64 qfs_ino ;
1430 __u64 qfs_nblks ;
1431 __u32 qfs_nextents ;
1432};
1433#line 150 "include/linux/dqblk_xfs.h"
1434typedef struct fs_qfilestat fs_qfilestat_t;
1435#line 151 "include/linux/dqblk_xfs.h"
1436struct fs_quota_stat {
1437 __s8 qs_version ;
1438 __u16 qs_flags ;
1439 __s8 qs_pad ;
1440 fs_qfilestat_t qs_uquota ;
1441 fs_qfilestat_t qs_gquota ;
1442 __u32 qs_incoredqs ;
1443 __s32 qs_btimelimit ;
1444 __s32 qs_itimelimit ;
1445 __s32 qs_rtbtimelimit ;
1446 __u16 qs_bwarnlimit ;
1447 __u16 qs_iwarnlimit ;
1448};
1449#line 165
1450struct dquot;
1451#line 165
1452struct dquot;
1453#line 185 "include/linux/quota.h"
1454typedef __kernel_uid32_t qid_t;
1455#line 186 "include/linux/quota.h"
1456typedef long long qsize_t;
1457#line 189 "include/linux/quota.h"
1458struct mem_dqblk {
1459 qsize_t dqb_bhardlimit ;
1460 qsize_t dqb_bsoftlimit ;
1461 qsize_t dqb_curspace ;
1462 qsize_t dqb_rsvspace ;
1463 qsize_t dqb_ihardlimit ;
1464 qsize_t dqb_isoftlimit ;
1465 qsize_t dqb_curinodes ;
1466 time_t dqb_btime ;
1467 time_t dqb_itime ;
1468};
1469#line 211
1470struct quota_format_type;
1471#line 211
1472struct quota_format_type;
1473#line 212 "include/linux/quota.h"
1474struct mem_dqinfo {
1475 struct quota_format_type *dqi_format ;
1476 int dqi_fmt_id ;
1477 struct list_head dqi_dirty_list ;
1478 unsigned long dqi_flags ;
1479 unsigned int dqi_bgrace ;
1480 unsigned int dqi_igrace ;
1481 qsize_t dqi_maxblimit ;
1482 qsize_t dqi_maxilimit ;
1483 void *dqi_priv ;
1484};
1485#line 275 "include/linux/quota.h"
1486struct dquot {
1487 struct hlist_node dq_hash ;
1488 struct list_head dq_inuse ;
1489 struct list_head dq_free ;
1490 struct list_head dq_dirty ;
1491 struct mutex dq_lock ;
1492 atomic_t dq_count ;
1493 wait_queue_head_t dq_wait_unused ;
1494 struct super_block *dq_sb ;
1495 unsigned int dq_id ;
1496 loff_t dq_off ;
1497 unsigned long dq_flags ;
1498 short dq_type ;
1499 struct mem_dqblk dq_dqb ;
1500};
1501#line 303 "include/linux/quota.h"
1502struct quota_format_ops {
1503 int (*check_quota_file)(struct super_block * , int ) ;
1504 int (*read_file_info)(struct super_block * , int ) ;
1505 int (*write_file_info)(struct super_block * , int ) ;
1506 int (*free_file_info)(struct super_block * , int ) ;
1507 int (*read_dqblk)(struct dquot * ) ;
1508 int (*commit_dqblk)(struct dquot * ) ;
1509 int (*release_dqblk)(struct dquot * ) ;
1510};
1511#line 314 "include/linux/quota.h"
1512struct dquot_operations {
1513 int (*write_dquot)(struct dquot * ) ;
1514 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1515 void (*destroy_dquot)(struct dquot * ) ;
1516 int (*acquire_dquot)(struct dquot * ) ;
1517 int (*release_dquot)(struct dquot * ) ;
1518 int (*mark_dirty)(struct dquot * ) ;
1519 int (*write_info)(struct super_block * , int ) ;
1520 qsize_t *(*get_reserved_space)(struct inode * ) ;
1521};
1522#line 328 "include/linux/quota.h"
1523struct quotactl_ops {
1524 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1525 int (*quota_on_meta)(struct super_block * , int , int ) ;
1526 int (*quota_off)(struct super_block * , int ) ;
1527 int (*quota_sync)(struct super_block * , int , int ) ;
1528 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1529 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1530 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1531 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1532 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1533 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1534};
1535#line 344 "include/linux/quota.h"
1536struct quota_format_type {
1537 int qf_fmt_id ;
1538 struct quota_format_ops const *qf_ops ;
1539 struct module *qf_owner ;
1540 struct quota_format_type *qf_next ;
1541};
1542#line 390 "include/linux/quota.h"
1543struct quota_info {
1544 unsigned int flags ;
1545 struct mutex dqio_mutex ;
1546 struct mutex dqonoff_mutex ;
1547 struct rw_semaphore dqptr_sem ;
1548 struct inode *files[2U] ;
1549 struct mem_dqinfo info[2U] ;
1550 struct quota_format_ops const *ops[2U] ;
1551};
1552#line 421
1553struct address_space;
1554#line 421
1555struct address_space;
1556#line 422
1557struct writeback_control;
1558#line 422
1559struct writeback_control;
1560#line 585 "include/linux/fs.h"
1561union __anonunion_arg_140 {
1562 char *buf ;
1563 void *data ;
1564};
1565#line 585 "include/linux/fs.h"
1566struct __anonstruct_read_descriptor_t_139 {
1567 size_t written ;
1568 size_t count ;
1569 union __anonunion_arg_140 arg ;
1570 int error ;
1571};
1572#line 585 "include/linux/fs.h"
1573typedef struct __anonstruct_read_descriptor_t_139 read_descriptor_t;
1574#line 588 "include/linux/fs.h"
1575struct address_space_operations {
1576 int (*writepage)(struct page * , struct writeback_control * ) ;
1577 int (*readpage)(struct file * , struct page * ) ;
1578 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1579 int (*set_page_dirty)(struct page * ) ;
1580 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1581 unsigned int ) ;
1582 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1583 unsigned int , struct page ** , void ** ) ;
1584 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1585 unsigned int , struct page * , void * ) ;
1586 sector_t (*bmap)(struct address_space * , sector_t ) ;
1587 void (*invalidatepage)(struct page * , unsigned long ) ;
1588 int (*releasepage)(struct page * , gfp_t ) ;
1589 void (*freepage)(struct page * ) ;
1590 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1591 unsigned long ) ;
1592 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1593 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1594 int (*launder_page)(struct page * ) ;
1595 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1596 int (*error_remove_page)(struct address_space * , struct page * ) ;
1597};
1598#line 642
1599struct backing_dev_info;
1600#line 642
1601struct backing_dev_info;
1602#line 643 "include/linux/fs.h"
1603struct address_space {
1604 struct inode *host ;
1605 struct radix_tree_root page_tree ;
1606 spinlock_t tree_lock ;
1607 unsigned int i_mmap_writable ;
1608 struct prio_tree_root i_mmap ;
1609 struct list_head i_mmap_nonlinear ;
1610 struct mutex i_mmap_mutex ;
1611 unsigned long nrpages ;
1612 unsigned long writeback_index ;
1613 struct address_space_operations const *a_ops ;
1614 unsigned long flags ;
1615 struct backing_dev_info *backing_dev_info ;
1616 spinlock_t private_lock ;
1617 struct list_head private_list ;
1618 struct address_space *assoc_mapping ;
1619};
1620#line 664
1621struct request_queue;
1622#line 664
1623struct request_queue;
1624#line 665
1625struct hd_struct;
1626#line 665
1627struct gendisk;
1628#line 665 "include/linux/fs.h"
1629struct block_device {
1630 dev_t bd_dev ;
1631 int bd_openers ;
1632 struct inode *bd_inode ;
1633 struct super_block *bd_super ;
1634 struct mutex bd_mutex ;
1635 struct list_head bd_inodes ;
1636 void *bd_claiming ;
1637 void *bd_holder ;
1638 int bd_holders ;
1639 bool bd_write_holder ;
1640 struct list_head bd_holder_disks ;
1641 struct block_device *bd_contains ;
1642 unsigned int bd_block_size ;
1643 struct hd_struct *bd_part ;
1644 unsigned int bd_part_count ;
1645 int bd_invalidated ;
1646 struct gendisk *bd_disk ;
1647 struct request_queue *bd_queue ;
1648 struct list_head bd_list ;
1649 unsigned long bd_private ;
1650 int bd_fsfreeze_count ;
1651 struct mutex bd_fsfreeze_mutex ;
1652};
1653#line 737
1654struct posix_acl;
1655#line 737
1656struct posix_acl;
1657#line 738
1658struct inode_operations;
1659#line 738 "include/linux/fs.h"
1660union __anonunion_ldv_16934_141 {
1661 unsigned int const i_nlink ;
1662 unsigned int __i_nlink ;
1663};
1664#line 738 "include/linux/fs.h"
1665union __anonunion_ldv_16953_142 {
1666 struct list_head i_dentry ;
1667 struct rcu_head i_rcu ;
1668};
1669#line 738
1670struct file_operations;
1671#line 738
1672struct file_lock;
1673#line 738
1674struct cdev;
1675#line 738 "include/linux/fs.h"
1676union __anonunion_ldv_16971_143 {
1677 struct pipe_inode_info *i_pipe ;
1678 struct block_device *i_bdev ;
1679 struct cdev *i_cdev ;
1680};
1681#line 738 "include/linux/fs.h"
1682struct inode {
1683 umode_t i_mode ;
1684 unsigned short i_opflags ;
1685 uid_t i_uid ;
1686 gid_t i_gid ;
1687 unsigned int i_flags ;
1688 struct posix_acl *i_acl ;
1689 struct posix_acl *i_default_acl ;
1690 struct inode_operations const *i_op ;
1691 struct super_block *i_sb ;
1692 struct address_space *i_mapping ;
1693 void *i_security ;
1694 unsigned long i_ino ;
1695 union __anonunion_ldv_16934_141 ldv_16934 ;
1696 dev_t i_rdev ;
1697 struct timespec i_atime ;
1698 struct timespec i_mtime ;
1699 struct timespec i_ctime ;
1700 spinlock_t i_lock ;
1701 unsigned short i_bytes ;
1702 blkcnt_t i_blocks ;
1703 loff_t i_size ;
1704 unsigned long i_state ;
1705 struct mutex i_mutex ;
1706 unsigned long dirtied_when ;
1707 struct hlist_node i_hash ;
1708 struct list_head i_wb_list ;
1709 struct list_head i_lru ;
1710 struct list_head i_sb_list ;
1711 union __anonunion_ldv_16953_142 ldv_16953 ;
1712 atomic_t i_count ;
1713 unsigned int i_blkbits ;
1714 u64 i_version ;
1715 atomic_t i_dio_count ;
1716 atomic_t i_writecount ;
1717 struct file_operations const *i_fop ;
1718 struct file_lock *i_flock ;
1719 struct address_space i_data ;
1720 struct dquot *i_dquot[2U] ;
1721 struct list_head i_devices ;
1722 union __anonunion_ldv_16971_143 ldv_16971 ;
1723 __u32 i_generation ;
1724 __u32 i_fsnotify_mask ;
1725 struct hlist_head i_fsnotify_marks ;
1726 atomic_t i_readcount ;
1727 void *i_private ;
1728};
1729#line 941 "include/linux/fs.h"
1730struct fown_struct {
1731 rwlock_t lock ;
1732 struct pid *pid ;
1733 enum pid_type pid_type ;
1734 uid_t uid ;
1735 uid_t euid ;
1736 int signum ;
1737};
1738#line 949 "include/linux/fs.h"
1739struct file_ra_state {
1740 unsigned long start ;
1741 unsigned int size ;
1742 unsigned int async_size ;
1743 unsigned int ra_pages ;
1744 unsigned int mmap_miss ;
1745 loff_t prev_pos ;
1746};
1747#line 972 "include/linux/fs.h"
1748union __anonunion_f_u_144 {
1749 struct list_head fu_list ;
1750 struct rcu_head fu_rcuhead ;
1751};
1752#line 972 "include/linux/fs.h"
1753struct file {
1754 union __anonunion_f_u_144 f_u ;
1755 struct path f_path ;
1756 struct file_operations const *f_op ;
1757 spinlock_t f_lock ;
1758 int f_sb_list_cpu ;
1759 atomic_long_t f_count ;
1760 unsigned int f_flags ;
1761 fmode_t f_mode ;
1762 loff_t f_pos ;
1763 struct fown_struct f_owner ;
1764 struct cred const *f_cred ;
1765 struct file_ra_state f_ra ;
1766 u64 f_version ;
1767 void *f_security ;
1768 void *private_data ;
1769 struct list_head f_ep_links ;
1770 struct list_head f_tfile_llink ;
1771 struct address_space *f_mapping ;
1772 unsigned long f_mnt_write_state ;
1773};
1774#line 1111
1775struct files_struct;
1776#line 1111 "include/linux/fs.h"
1777typedef struct files_struct *fl_owner_t;
1778#line 1112 "include/linux/fs.h"
1779struct file_lock_operations {
1780 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1781 void (*fl_release_private)(struct file_lock * ) ;
1782};
1783#line 1117 "include/linux/fs.h"
1784struct lock_manager_operations {
1785 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1786 void (*lm_notify)(struct file_lock * ) ;
1787 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1788 void (*lm_release_private)(struct file_lock * ) ;
1789 void (*lm_break)(struct file_lock * ) ;
1790 int (*lm_change)(struct file_lock ** , int ) ;
1791};
1792#line 1134
1793struct nlm_lockowner;
1794#line 1134
1795struct nlm_lockowner;
1796#line 1135 "include/linux/fs.h"
1797struct nfs_lock_info {
1798 u32 state ;
1799 struct nlm_lockowner *owner ;
1800 struct list_head list ;
1801};
1802#line 14 "include/linux/nfs_fs_i.h"
1803struct nfs4_lock_state;
1804#line 14
1805struct nfs4_lock_state;
1806#line 15 "include/linux/nfs_fs_i.h"
1807struct nfs4_lock_info {
1808 struct nfs4_lock_state *owner ;
1809};
1810#line 19
1811struct fasync_struct;
1812#line 19 "include/linux/nfs_fs_i.h"
1813struct __anonstruct_afs_146 {
1814 struct list_head link ;
1815 int state ;
1816};
1817#line 19 "include/linux/nfs_fs_i.h"
1818union __anonunion_fl_u_145 {
1819 struct nfs_lock_info nfs_fl ;
1820 struct nfs4_lock_info nfs4_fl ;
1821 struct __anonstruct_afs_146 afs ;
1822};
1823#line 19 "include/linux/nfs_fs_i.h"
1824struct file_lock {
1825 struct file_lock *fl_next ;
1826 struct list_head fl_link ;
1827 struct list_head fl_block ;
1828 fl_owner_t fl_owner ;
1829 unsigned int fl_flags ;
1830 unsigned char fl_type ;
1831 unsigned int fl_pid ;
1832 struct pid *fl_nspid ;
1833 wait_queue_head_t fl_wait ;
1834 struct file *fl_file ;
1835 loff_t fl_start ;
1836 loff_t fl_end ;
1837 struct fasync_struct *fl_fasync ;
1838 unsigned long fl_break_time ;
1839 unsigned long fl_downgrade_time ;
1840 struct file_lock_operations const *fl_ops ;
1841 struct lock_manager_operations const *fl_lmops ;
1842 union __anonunion_fl_u_145 fl_u ;
1843};
1844#line 1221 "include/linux/fs.h"
1845struct fasync_struct {
1846 spinlock_t fa_lock ;
1847 int magic ;
1848 int fa_fd ;
1849 struct fasync_struct *fa_next ;
1850 struct file *fa_file ;
1851 struct rcu_head fa_rcu ;
1852};
1853#line 1417
1854struct file_system_type;
1855#line 1417
1856struct super_operations;
1857#line 1417
1858struct xattr_handler;
1859#line 1417
1860struct mtd_info;
1861#line 1417 "include/linux/fs.h"
1862struct super_block {
1863 struct list_head s_list ;
1864 dev_t s_dev ;
1865 unsigned char s_dirt ;
1866 unsigned char s_blocksize_bits ;
1867 unsigned long s_blocksize ;
1868 loff_t s_maxbytes ;
1869 struct file_system_type *s_type ;
1870 struct super_operations const *s_op ;
1871 struct dquot_operations const *dq_op ;
1872 struct quotactl_ops const *s_qcop ;
1873 struct export_operations const *s_export_op ;
1874 unsigned long s_flags ;
1875 unsigned long s_magic ;
1876 struct dentry *s_root ;
1877 struct rw_semaphore s_umount ;
1878 struct mutex s_lock ;
1879 int s_count ;
1880 atomic_t s_active ;
1881 void *s_security ;
1882 struct xattr_handler const **s_xattr ;
1883 struct list_head s_inodes ;
1884 struct hlist_bl_head s_anon ;
1885 struct list_head *s_files ;
1886 struct list_head s_mounts ;
1887 struct list_head s_dentry_lru ;
1888 int s_nr_dentry_unused ;
1889 spinlock_t s_inode_lru_lock ;
1890 struct list_head s_inode_lru ;
1891 int s_nr_inodes_unused ;
1892 struct block_device *s_bdev ;
1893 struct backing_dev_info *s_bdi ;
1894 struct mtd_info *s_mtd ;
1895 struct hlist_node s_instances ;
1896 struct quota_info s_dquot ;
1897 int s_frozen ;
1898 wait_queue_head_t s_wait_unfrozen ;
1899 char s_id[32U] ;
1900 u8 s_uuid[16U] ;
1901 void *s_fs_info ;
1902 unsigned int s_max_links ;
1903 fmode_t s_mode ;
1904 u32 s_time_gran ;
1905 struct mutex s_vfs_rename_mutex ;
1906 char *s_subtype ;
1907 char *s_options ;
1908 struct dentry_operations const *s_d_op ;
1909 int cleancache_poolid ;
1910 struct shrinker s_shrink ;
1911 atomic_long_t s_remove_count ;
1912 int s_readonly_remount ;
1913};
1914#line 1563 "include/linux/fs.h"
1915struct fiemap_extent_info {
1916 unsigned int fi_flags ;
1917 unsigned int fi_extents_mapped ;
1918 unsigned int fi_extents_max ;
1919 struct fiemap_extent *fi_extents_start ;
1920};
1921#line 1602 "include/linux/fs.h"
1922struct file_operations {
1923 struct module *owner ;
1924 loff_t (*llseek)(struct file * , loff_t , int ) ;
1925 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1926 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1927 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1928 loff_t ) ;
1929 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1930 loff_t ) ;
1931 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1932 loff_t , u64 , unsigned int ) ) ;
1933 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1934 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1935 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1936 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1937 int (*open)(struct inode * , struct file * ) ;
1938 int (*flush)(struct file * , fl_owner_t ) ;
1939 int (*release)(struct inode * , struct file * ) ;
1940 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1941 int (*aio_fsync)(struct kiocb * , int ) ;
1942 int (*fasync)(int , struct file * , int ) ;
1943 int (*lock)(struct file * , int , struct file_lock * ) ;
1944 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1945 int ) ;
1946 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1947 unsigned long , unsigned long ) ;
1948 int (*check_flags)(int ) ;
1949 int (*flock)(struct file * , int , struct file_lock * ) ;
1950 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1951 unsigned int ) ;
1952 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1953 unsigned int ) ;
1954 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1955 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1956};
1957#line 1637 "include/linux/fs.h"
1958struct inode_operations {
1959 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1960 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1961 int (*permission)(struct inode * , int ) ;
1962 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1963 int (*readlink)(struct dentry * , char * , int ) ;
1964 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1965 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1966 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1967 int (*unlink)(struct inode * , struct dentry * ) ;
1968 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1969 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1970 int (*rmdir)(struct inode * , struct dentry * ) ;
1971 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1972 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1973 void (*truncate)(struct inode * ) ;
1974 int (*setattr)(struct dentry * , struct iattr * ) ;
1975 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1976 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1977 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1978 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1979 int (*removexattr)(struct dentry * , char const * ) ;
1980 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1981 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1982};
1983#line 1682 "include/linux/fs.h"
1984struct super_operations {
1985 struct inode *(*alloc_inode)(struct super_block * ) ;
1986 void (*destroy_inode)(struct inode * ) ;
1987 void (*dirty_inode)(struct inode * , int ) ;
1988 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1989 int (*drop_inode)(struct inode * ) ;
1990 void (*evict_inode)(struct inode * ) ;
1991 void (*put_super)(struct super_block * ) ;
1992 void (*write_super)(struct super_block * ) ;
1993 int (*sync_fs)(struct super_block * , int ) ;
1994 int (*freeze_fs)(struct super_block * ) ;
1995 int (*unfreeze_fs)(struct super_block * ) ;
1996 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1997 int (*remount_fs)(struct super_block * , int * , char * ) ;
1998 void (*umount_begin)(struct super_block * ) ;
1999 int (*show_options)(struct seq_file * , struct dentry * ) ;
2000 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2001 int (*show_path)(struct seq_file * , struct dentry * ) ;
2002 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2003 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2004 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2005 loff_t ) ;
2006 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2007 int (*nr_cached_objects)(struct super_block * ) ;
2008 void (*free_cached_objects)(struct super_block * , int ) ;
2009};
2010#line 1834 "include/linux/fs.h"
2011struct file_system_type {
2012 char const *name ;
2013 int fs_flags ;
2014 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2015 void (*kill_sb)(struct super_block * ) ;
2016 struct module *owner ;
2017 struct file_system_type *next ;
2018 struct hlist_head fs_supers ;
2019 struct lock_class_key s_lock_key ;
2020 struct lock_class_key s_umount_key ;
2021 struct lock_class_key s_vfs_rename_key ;
2022 struct lock_class_key i_lock_key ;
2023 struct lock_class_key i_mutex_key ;
2024 struct lock_class_key i_mutex_dir_key ;
2025};
2026#line 2674
2027struct ff_device;
2028#line 2674
2029struct input_mt_slot;
2030#line 2674
2031struct input_handle;
2032#line 2674 "include/linux/fs.h"
2033struct input_dev {
2034 char const *name ;
2035 char const *phys ;
2036 char const *uniq ;
2037 struct input_id id ;
2038 unsigned long propbit[1U] ;
2039 unsigned long evbit[1U] ;
2040 unsigned long keybit[12U] ;
2041 unsigned long relbit[1U] ;
2042 unsigned long absbit[1U] ;
2043 unsigned long mscbit[1U] ;
2044 unsigned long ledbit[1U] ;
2045 unsigned long sndbit[1U] ;
2046 unsigned long ffbit[2U] ;
2047 unsigned long swbit[1U] ;
2048 unsigned int hint_events_per_packet ;
2049 unsigned int keycodemax ;
2050 unsigned int keycodesize ;
2051 void *keycode ;
2052 int (*setkeycode)(struct input_dev * , struct input_keymap_entry const * , unsigned int * ) ;
2053 int (*getkeycode)(struct input_dev * , struct input_keymap_entry * ) ;
2054 struct ff_device *ff ;
2055 unsigned int repeat_key ;
2056 struct timer_list timer ;
2057 int rep[2U] ;
2058 struct input_mt_slot *mt ;
2059 int mtsize ;
2060 int slot ;
2061 int trkid ;
2062 struct input_absinfo *absinfo ;
2063 unsigned long key[12U] ;
2064 unsigned long led[1U] ;
2065 unsigned long snd[1U] ;
2066 unsigned long sw[1U] ;
2067 int (*open)(struct input_dev * ) ;
2068 void (*close)(struct input_dev * ) ;
2069 int (*flush)(struct input_dev * , struct file * ) ;
2070 int (*event)(struct input_dev * , unsigned int , unsigned int , int ) ;
2071 struct input_handle *grab ;
2072 spinlock_t event_lock ;
2073 struct mutex mutex ;
2074 unsigned int users ;
2075 bool going_away ;
2076 bool sync ;
2077 struct device dev ;
2078 struct list_head h_list ;
2079 struct list_head node ;
2080};
2081#line 1319 "include/linux/input.h"
2082struct input_handler {
2083 void *private ;
2084 void (*event)(struct input_handle * , unsigned int , unsigned int , int ) ;
2085 bool (*filter)(struct input_handle * , unsigned int , unsigned int , int ) ;
2086 bool (*match)(struct input_handler * , struct input_dev * ) ;
2087 int (*connect)(struct input_handler * , struct input_dev * , struct input_device_id const * ) ;
2088 void (*disconnect)(struct input_handle * ) ;
2089 void (*start)(struct input_handle * ) ;
2090 struct file_operations const *fops ;
2091 int minor ;
2092 char const *name ;
2093 struct input_device_id const *id_table ;
2094 struct list_head h_list ;
2095 struct list_head node ;
2096};
2097#line 1429 "include/linux/input.h"
2098struct input_handle {
2099 void *private ;
2100 int open ;
2101 char const *name ;
2102 struct input_dev *dev ;
2103 struct input_handler *handler ;
2104 struct list_head d_node ;
2105 struct list_head h_node ;
2106};
2107#line 1591 "include/linux/input.h"
2108struct ff_device {
2109 int (*upload)(struct input_dev * , struct ff_effect * , struct ff_effect * ) ;
2110 int (*erase)(struct input_dev * , int ) ;
2111 int (*playback)(struct input_dev * , int , int ) ;
2112 void (*set_gain)(struct input_dev * , u16 ) ;
2113 void (*set_autocenter)(struct input_dev * , u16 ) ;
2114 void (*destroy)(struct ff_device * ) ;
2115 void *private ;
2116 unsigned long ffbit[2U] ;
2117 struct mutex mutex ;
2118 int max_effects ;
2119 struct ff_effect *effects ;
2120 struct file *effect_owners[0U] ;
2121};
2122#line 1650
2123enum irqreturn {
2124 IRQ_NONE = 0,
2125 IRQ_HANDLED = 1,
2126 IRQ_WAKE_THREAD = 2
2127} ;
2128#line 16 "include/linux/irqreturn.h"
2129typedef enum irqreturn irqreturn_t;
2130#line 41 "include/asm-generic/sections.h"
2131struct exception_table_entry {
2132 unsigned long insn ;
2133 unsigned long fixup ;
2134};
2135#line 702 "include/linux/interrupt.h"
2136enum ab8500_version {
2137 AB8500_VERSION_AB8500 = 0,
2138 AB8500_VERSION_AB8505 = 1,
2139 AB8500_VERSION_AB9540 = 2,
2140 AB8500_VERSION_AB8540 = 3,
2141 AB8500_VERSION_UNDEFINED = 4
2142} ;
2143#line 710 "include/linux/interrupt.h"
2144struct ab8500 {
2145 struct device *dev ;
2146 struct mutex lock ;
2147 struct mutex irq_lock ;
2148 int irq_base ;
2149 int irq ;
2150 enum ab8500_version version ;
2151 u8 chip_id ;
2152 int (*write)(struct ab8500 * , u16 , u8 ) ;
2153 int (*write_masked)(struct ab8500 * , u16 , u8 , u8 ) ;
2154 int (*read)(struct ab8500 * , u16 ) ;
2155 unsigned long tx_buf[4U] ;
2156 unsigned long rx_buf[4U] ;
2157 u8 *mask ;
2158 u8 *oldmask ;
2159 int mask_size ;
2160 int const *irq_reg_offset ;
2161};
2162#line 326 "include/linux/mfd/abx500/ab8500.h"
2163struct ab8500_ponkey {
2164 struct input_dev *idev ;
2165 struct ab8500 *ab8500 ;
2166 int irq_dbf ;
2167 int irq_dbr ;
2168};
2169#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2170void ldv_spin_lock(void) ;
2171#line 3
2172void ldv_spin_unlock(void) ;
2173#line 4
2174int ldv_spin_trylock(void) ;
2175#line 161 "include/linux/slab.h"
2176extern void kfree(void const * ) ;
2177#line 220 "include/linux/slub_def.h"
2178extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2179#line 223
2180void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2181#line 353 "include/linux/slab.h"
2182__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2183#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2184extern void *__VERIFIER_nondet_pointer(void) ;
2185#line 11
2186void ldv_check_alloc_flags(gfp_t flags ) ;
2187#line 12
2188void ldv_check_alloc_nonatomic(void) ;
2189#line 14
2190struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2191#line 792 "include/linux/device.h"
2192extern void *dev_get_drvdata(struct device const * ) ;
2193#line 793
2194extern int dev_set_drvdata(struct device * , void * ) ;
2195#line 892
2196extern int dev_err(struct device const * , char const * , ...) ;
2197#line 49 "include/linux/platform_device.h"
2198extern int platform_get_irq_byname(struct platform_device * , char const * ) ;
2199#line 188 "include/linux/platform_device.h"
2200__inline static void platform_set_drvdata(struct platform_device *pdev , void *data )
2201{ unsigned long __cil_tmp3 ;
2202 unsigned long __cil_tmp4 ;
2203 struct device *__cil_tmp5 ;
2204
2205 {
2206 {
2207#line 190
2208 __cil_tmp3 = (unsigned long )pdev;
2209#line 190
2210 __cil_tmp4 = __cil_tmp3 + 16;
2211#line 190
2212 __cil_tmp5 = (struct device *)__cil_tmp4;
2213#line 190
2214 dev_set_drvdata(__cil_tmp5, data);
2215 }
2216#line 191
2217 return;
2218}
2219}
2220#line 1456 "include/linux/input.h"
2221extern struct input_dev *input_allocate_device(void) ;
2222#line 1457
2223extern void input_free_device(struct input_dev * ) ;
2224#line 1480
2225extern int input_register_device(struct input_dev * ) ;
2226#line 1502
2227extern void input_event(struct input_dev * , unsigned int , unsigned int , int ) ;
2228#line 1505 "include/linux/input.h"
2229__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2230 int value )
2231{ int __cil_tmp4 ;
2232
2233 {
2234 {
2235#line 1507
2236 __cil_tmp4 = value != 0;
2237#line 1507
2238 input_event(dev, 1U, code, __cil_tmp4);
2239 }
2240#line 1508
2241 return;
2242}
2243}
2244#line 1530 "include/linux/input.h"
2245__inline static void input_sync(struct input_dev *dev )
2246{
2247
2248 {
2249 {
2250#line 1532
2251 input_event(dev, 0U, 0U, 0);
2252 }
2253#line 1533
2254 return;
2255}
2256}
2257#line 1540
2258extern void input_set_capability(struct input_dev * , unsigned int , unsigned int ) ;
2259#line 139 "include/linux/interrupt.h"
2260extern int request_any_context_irq(unsigned int , irqreturn_t (*)(int , void * ) ,
2261 unsigned long , char const * , void * ) ;
2262#line 184
2263extern void free_irq(unsigned int , void * ) ;
2264#line 48 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2265static irqreturn_t ab8500_ponkey_handler(int irq , void *data )
2266{ struct ab8500_ponkey *ponkey ;
2267 unsigned long __cil_tmp4 ;
2268 unsigned long __cil_tmp5 ;
2269 int __cil_tmp6 ;
2270 struct input_dev *__cil_tmp7 ;
2271 unsigned long __cil_tmp8 ;
2272 unsigned long __cil_tmp9 ;
2273 int __cil_tmp10 ;
2274 struct input_dev *__cil_tmp11 ;
2275 struct input_dev *__cil_tmp12 ;
2276
2277 {
2278#line 50
2279 ponkey = (struct ab8500_ponkey *)data;
2280 {
2281#line 52
2282 __cil_tmp4 = (unsigned long )ponkey;
2283#line 52
2284 __cil_tmp5 = __cil_tmp4 + 16;
2285#line 52
2286 __cil_tmp6 = *((int *)__cil_tmp5);
2287#line 52
2288 if (__cil_tmp6 == irq) {
2289 {
2290#line 53
2291 __cil_tmp7 = *((struct input_dev **)ponkey);
2292#line 53
2293 input_report_key(__cil_tmp7, 116U, 1);
2294 }
2295 } else {
2296 {
2297#line 54
2298 __cil_tmp8 = (unsigned long )ponkey;
2299#line 54
2300 __cil_tmp9 = __cil_tmp8 + 20;
2301#line 54
2302 __cil_tmp10 = *((int *)__cil_tmp9);
2303#line 54
2304 if (__cil_tmp10 == irq) {
2305 {
2306#line 55
2307 __cil_tmp11 = *((struct input_dev **)ponkey);
2308#line 55
2309 input_report_key(__cil_tmp11, 116U, 0);
2310 }
2311 } else {
2312
2313 }
2314 }
2315 }
2316 }
2317 {
2318#line 57
2319 __cil_tmp12 = *((struct input_dev **)ponkey);
2320#line 57
2321 input_sync(__cil_tmp12);
2322 }
2323#line 59
2324 return ((irqreturn_t )1);
2325}
2326}
2327#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2328static int ab8500_ponkey_probe(struct platform_device *pdev )
2329{ struct ab8500 *ab8500 ;
2330 void *tmp ;
2331 struct ab8500_ponkey *ponkey ;
2332 struct input_dev *input ;
2333 int irq_dbf ;
2334 int irq_dbr ;
2335 int error ;
2336 void *tmp___0 ;
2337 unsigned long __cil_tmp10 ;
2338 unsigned long __cil_tmp11 ;
2339 struct device *__cil_tmp12 ;
2340 struct device const *__cil_tmp13 ;
2341 unsigned long __cil_tmp14 ;
2342 unsigned long __cil_tmp15 ;
2343 struct device *__cil_tmp16 ;
2344 struct device const *__cil_tmp17 ;
2345 unsigned long __cil_tmp18 ;
2346 unsigned long __cil_tmp19 ;
2347 struct device *__cil_tmp20 ;
2348 struct device const *__cil_tmp21 ;
2349 struct ab8500_ponkey *__cil_tmp22 ;
2350 unsigned long __cil_tmp23 ;
2351 unsigned long __cil_tmp24 ;
2352 struct input_dev *__cil_tmp25 ;
2353 unsigned long __cil_tmp26 ;
2354 unsigned long __cil_tmp27 ;
2355 unsigned long __cil_tmp28 ;
2356 unsigned long __cil_tmp29 ;
2357 unsigned long __cil_tmp30 ;
2358 unsigned long __cil_tmp31 ;
2359 unsigned long __cil_tmp32 ;
2360 unsigned long __cil_tmp33 ;
2361 unsigned long __cil_tmp34 ;
2362 unsigned long __cil_tmp35 ;
2363 unsigned long __cil_tmp36 ;
2364 unsigned long __cil_tmp37 ;
2365 unsigned long __cil_tmp38 ;
2366 unsigned long __cil_tmp39 ;
2367 int __cil_tmp40 ;
2368 unsigned int __cil_tmp41 ;
2369 void *__cil_tmp42 ;
2370 struct device *__cil_tmp43 ;
2371 struct device const *__cil_tmp44 ;
2372 unsigned long __cil_tmp45 ;
2373 unsigned long __cil_tmp46 ;
2374 int __cil_tmp47 ;
2375 unsigned long __cil_tmp48 ;
2376 unsigned long __cil_tmp49 ;
2377 int __cil_tmp50 ;
2378 unsigned int __cil_tmp51 ;
2379 void *__cil_tmp52 ;
2380 struct device *__cil_tmp53 ;
2381 struct device const *__cil_tmp54 ;
2382 unsigned long __cil_tmp55 ;
2383 unsigned long __cil_tmp56 ;
2384 int __cil_tmp57 ;
2385 struct input_dev *__cil_tmp58 ;
2386 struct device *__cil_tmp59 ;
2387 struct device const *__cil_tmp60 ;
2388 void *__cil_tmp61 ;
2389 unsigned long __cil_tmp62 ;
2390 unsigned long __cil_tmp63 ;
2391 int __cil_tmp64 ;
2392 unsigned int __cil_tmp65 ;
2393 void *__cil_tmp66 ;
2394 unsigned long __cil_tmp67 ;
2395 unsigned long __cil_tmp68 ;
2396 int __cil_tmp69 ;
2397 unsigned int __cil_tmp70 ;
2398 void *__cil_tmp71 ;
2399 void const *__cil_tmp72 ;
2400
2401 {
2402 {
2403#line 64
2404 __cil_tmp10 = (unsigned long )pdev;
2405#line 64
2406 __cil_tmp11 = __cil_tmp10 + 16;
2407#line 64
2408 __cil_tmp12 = *((struct device **)__cil_tmp11);
2409#line 64
2410 __cil_tmp13 = (struct device const *)__cil_tmp12;
2411#line 64
2412 tmp = dev_get_drvdata(__cil_tmp13);
2413#line 64
2414 ab8500 = (struct ab8500 *)tmp;
2415#line 70
2416 irq_dbf = platform_get_irq_byname(pdev, "ONKEY_DBF");
2417 }
2418#line 71
2419 if (irq_dbf < 0) {
2420 {
2421#line 72
2422 __cil_tmp14 = (unsigned long )pdev;
2423#line 72
2424 __cil_tmp15 = __cil_tmp14 + 16;
2425#line 72
2426 __cil_tmp16 = (struct device *)__cil_tmp15;
2427#line 72
2428 __cil_tmp17 = (struct device const *)__cil_tmp16;
2429#line 72
2430 dev_err(__cil_tmp17, "No IRQ for ONKEY_DBF, error=%d\n", irq_dbf);
2431 }
2432#line 73
2433 return (irq_dbf);
2434 } else {
2435
2436 }
2437 {
2438#line 76
2439 irq_dbr = platform_get_irq_byname(pdev, "ONKEY_DBR");
2440 }
2441#line 77
2442 if (irq_dbr < 0) {
2443 {
2444#line 78
2445 __cil_tmp18 = (unsigned long )pdev;
2446#line 78
2447 __cil_tmp19 = __cil_tmp18 + 16;
2448#line 78
2449 __cil_tmp20 = (struct device *)__cil_tmp19;
2450#line 78
2451 __cil_tmp21 = (struct device const *)__cil_tmp20;
2452#line 78
2453 dev_err(__cil_tmp21, "No IRQ for ONKEY_DBR, error=%d\n", irq_dbr);
2454 }
2455#line 79
2456 return (irq_dbr);
2457 } else {
2458
2459 }
2460 {
2461#line 82
2462 tmp___0 = kzalloc(24UL, 208U);
2463#line 82
2464 ponkey = (struct ab8500_ponkey *)tmp___0;
2465#line 83
2466 input = input_allocate_device();
2467 }
2468 {
2469#line 84
2470 __cil_tmp22 = (struct ab8500_ponkey *)0;
2471#line 84
2472 __cil_tmp23 = (unsigned long )__cil_tmp22;
2473#line 84
2474 __cil_tmp24 = (unsigned long )ponkey;
2475#line 84
2476 if (__cil_tmp24 == __cil_tmp23) {
2477#line 85
2478 error = -12;
2479#line 86
2480 goto err_free_mem;
2481 } else {
2482 {
2483#line 84
2484 __cil_tmp25 = (struct input_dev *)0;
2485#line 84
2486 __cil_tmp26 = (unsigned long )__cil_tmp25;
2487#line 84
2488 __cil_tmp27 = (unsigned long )input;
2489#line 84
2490 if (__cil_tmp27 == __cil_tmp26) {
2491#line 85
2492 error = -12;
2493#line 86
2494 goto err_free_mem;
2495 } else {
2496
2497 }
2498 }
2499 }
2500 }
2501 {
2502#line 89
2503 *((struct input_dev **)ponkey) = input;
2504#line 90
2505 __cil_tmp28 = (unsigned long )ponkey;
2506#line 90
2507 __cil_tmp29 = __cil_tmp28 + 8;
2508#line 90
2509 *((struct ab8500 **)__cil_tmp29) = ab8500;
2510#line 91
2511 __cil_tmp30 = (unsigned long )ponkey;
2512#line 91
2513 __cil_tmp31 = __cil_tmp30 + 16;
2514#line 91
2515 *((int *)__cil_tmp31) = irq_dbf;
2516#line 92
2517 __cil_tmp32 = (unsigned long )ponkey;
2518#line 92
2519 __cil_tmp33 = __cil_tmp32 + 20;
2520#line 92
2521 *((int *)__cil_tmp33) = irq_dbr;
2522#line 94
2523 *((char const **)input) = "AB8500 POn(PowerOn) Key";
2524#line 95
2525 __cil_tmp34 = (unsigned long )input;
2526#line 95
2527 __cil_tmp35 = __cil_tmp34 + 840;
2528#line 95
2529 __cil_tmp36 = (unsigned long )pdev;
2530#line 95
2531 __cil_tmp37 = __cil_tmp36 + 16;
2532#line 95
2533 *((struct device **)__cil_tmp35) = (struct device *)__cil_tmp37;
2534#line 97
2535 input_set_capability(input, 1U, 116U);
2536#line 99
2537 __cil_tmp38 = (unsigned long )ponkey;
2538#line 99
2539 __cil_tmp39 = __cil_tmp38 + 16;
2540#line 99
2541 __cil_tmp40 = *((int *)__cil_tmp39);
2542#line 99
2543 __cil_tmp41 = (unsigned int )__cil_tmp40;
2544#line 99
2545 __cil_tmp42 = (void *)ponkey;
2546#line 99
2547 error = request_any_context_irq(__cil_tmp41, & ab8500_ponkey_handler, 0UL, "ab8500-ponkey-dbf",
2548 __cil_tmp42);
2549 }
2550#line 101
2551 if (error < 0) {
2552 {
2553#line 102
2554 __cil_tmp43 = *((struct device **)ab8500);
2555#line 102
2556 __cil_tmp44 = (struct device const *)__cil_tmp43;
2557#line 102
2558 __cil_tmp45 = (unsigned long )ponkey;
2559#line 102
2560 __cil_tmp46 = __cil_tmp45 + 16;
2561#line 102
2562 __cil_tmp47 = *((int *)__cil_tmp46);
2563#line 102
2564 dev_err(__cil_tmp44, "Failed to request dbf IRQ#%d: %d\n", __cil_tmp47, error);
2565 }
2566#line 104
2567 goto err_free_mem;
2568 } else {
2569
2570 }
2571 {
2572#line 107
2573 __cil_tmp48 = (unsigned long )ponkey;
2574#line 107
2575 __cil_tmp49 = __cil_tmp48 + 20;
2576#line 107
2577 __cil_tmp50 = *((int *)__cil_tmp49);
2578#line 107
2579 __cil_tmp51 = (unsigned int )__cil_tmp50;
2580#line 107
2581 __cil_tmp52 = (void *)ponkey;
2582#line 107
2583 error = request_any_context_irq(__cil_tmp51, & ab8500_ponkey_handler, 0UL, "ab8500-ponkey-dbr",
2584 __cil_tmp52);
2585 }
2586#line 109
2587 if (error < 0) {
2588 {
2589#line 110
2590 __cil_tmp53 = *((struct device **)ab8500);
2591#line 110
2592 __cil_tmp54 = (struct device const *)__cil_tmp53;
2593#line 110
2594 __cil_tmp55 = (unsigned long )ponkey;
2595#line 110
2596 __cil_tmp56 = __cil_tmp55 + 20;
2597#line 110
2598 __cil_tmp57 = *((int *)__cil_tmp56);
2599#line 110
2600 dev_err(__cil_tmp54, "Failed to request dbr IRQ#%d: %d\n", __cil_tmp57, error);
2601 }
2602#line 112
2603 goto err_free_dbf_irq;
2604 } else {
2605
2606 }
2607 {
2608#line 115
2609 __cil_tmp58 = *((struct input_dev **)ponkey);
2610#line 115
2611 error = input_register_device(__cil_tmp58);
2612 }
2613#line 116
2614 if (error != 0) {
2615 {
2616#line 117
2617 __cil_tmp59 = *((struct device **)ab8500);
2618#line 117
2619 __cil_tmp60 = (struct device const *)__cil_tmp59;
2620#line 117
2621 dev_err(__cil_tmp60, "Can\'t register input device: %d\n", error);
2622 }
2623#line 118
2624 goto err_free_dbr_irq;
2625 } else {
2626
2627 }
2628 {
2629#line 121
2630 __cil_tmp61 = (void *)ponkey;
2631#line 121
2632 platform_set_drvdata(pdev, __cil_tmp61);
2633 }
2634#line 122
2635 return (0);
2636 err_free_dbr_irq:
2637 {
2638#line 125
2639 __cil_tmp62 = (unsigned long )ponkey;
2640#line 125
2641 __cil_tmp63 = __cil_tmp62 + 20;
2642#line 125
2643 __cil_tmp64 = *((int *)__cil_tmp63);
2644#line 125
2645 __cil_tmp65 = (unsigned int )__cil_tmp64;
2646#line 125
2647 __cil_tmp66 = (void *)ponkey;
2648#line 125
2649 free_irq(__cil_tmp65, __cil_tmp66);
2650 }
2651 err_free_dbf_irq:
2652 {
2653#line 127
2654 __cil_tmp67 = (unsigned long )ponkey;
2655#line 127
2656 __cil_tmp68 = __cil_tmp67 + 16;
2657#line 127
2658 __cil_tmp69 = *((int *)__cil_tmp68);
2659#line 127
2660 __cil_tmp70 = (unsigned int )__cil_tmp69;
2661#line 127
2662 __cil_tmp71 = (void *)ponkey;
2663#line 127
2664 free_irq(__cil_tmp70, __cil_tmp71);
2665 }
2666 err_free_mem:
2667 {
2668#line 129
2669 input_free_device(input);
2670#line 130
2671 __cil_tmp72 = (void const *)ponkey;
2672#line 130
2673 kfree(__cil_tmp72);
2674 }
2675#line 132
2676 return (error);
2677}
2678}
2679#line 179
2680extern void ldv_check_final_state(void) ;
2681#line 182
2682extern void ldv_check_return_value(int ) ;
2683#line 185
2684extern void ldv_initialize(void) ;
2685#line 188
2686extern int __VERIFIER_nondet_int(void) ;
2687#line 191 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2688int LDV_IN_INTERRUPT ;
2689#line 194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2690void main(void)
2691{ struct platform_device *var_group1 ;
2692 int res_ab8500_ponkey_probe_1 ;
2693 int var_ab8500_ponkey_handler_0_p0 ;
2694 void *var_ab8500_ponkey_handler_0_p1 ;
2695 int ldv_s_ab8500_ponkey_driver_platform_driver ;
2696 int tmp ;
2697 int tmp___0 ;
2698
2699 {
2700 {
2701#line 232
2702 ldv_s_ab8500_ponkey_driver_platform_driver = 0;
2703#line 222
2704 LDV_IN_INTERRUPT = 1;
2705#line 231
2706 ldv_initialize();
2707 }
2708#line 237
2709 goto ldv_20923;
2710 ldv_20922:
2711 {
2712#line 241
2713 tmp = __VERIFIER_nondet_int();
2714 }
2715#line 243
2716 if (tmp == 0) {
2717#line 243
2718 goto case_0;
2719 } else
2720#line 262
2721 if (tmp == 1) {
2722#line 262
2723 goto case_1;
2724 } else {
2725 {
2726#line 278
2727 goto switch_default;
2728#line 241
2729 if (0) {
2730 case_0: ;
2731#line 246
2732 if (ldv_s_ab8500_ponkey_driver_platform_driver == 0) {
2733 {
2734#line 251
2735 res_ab8500_ponkey_probe_1 = ab8500_ponkey_probe(var_group1);
2736#line 252
2737 ldv_check_return_value(res_ab8500_ponkey_probe_1);
2738 }
2739#line 253
2740 if (res_ab8500_ponkey_probe_1 != 0) {
2741#line 254
2742 goto ldv_module_exit;
2743 } else {
2744
2745 }
2746#line 255
2747 ldv_s_ab8500_ponkey_driver_platform_driver = 0;
2748 } else {
2749
2750 }
2751#line 261
2752 goto ldv_20919;
2753 case_1:
2754 {
2755#line 265
2756 LDV_IN_INTERRUPT = 2;
2757#line 270
2758 ab8500_ponkey_handler(var_ab8500_ponkey_handler_0_p0, var_ab8500_ponkey_handler_0_p1);
2759#line 271
2760 LDV_IN_INTERRUPT = 1;
2761 }
2762#line 277
2763 goto ldv_20919;
2764 switch_default: ;
2765#line 278
2766 goto ldv_20919;
2767 } else {
2768 switch_break: ;
2769 }
2770 }
2771 }
2772 ldv_20919: ;
2773 ldv_20923:
2774 {
2775#line 237
2776 tmp___0 = __VERIFIER_nondet_int();
2777 }
2778#line 237
2779 if (tmp___0 != 0) {
2780#line 239
2781 goto ldv_20922;
2782 } else
2783#line 237
2784 if (ldv_s_ab8500_ponkey_driver_platform_driver != 0) {
2785#line 239
2786 goto ldv_20922;
2787 } else {
2788#line 241
2789 goto ldv_20924;
2790 }
2791 ldv_20924: ;
2792 ldv_module_exit: ;
2793 {
2794#line 287
2795 ldv_check_final_state();
2796 }
2797#line 290
2798 return;
2799}
2800}
2801#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
2802void ldv_blast_assert(void)
2803{
2804
2805 {
2806 ERROR: ;
2807#line 6
2808 goto ERROR;
2809}
2810}
2811#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
2812extern int __VERIFIER_nondet_int(void) ;
2813#line 311 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2814int ldv_spin = 0;
2815#line 315 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2816void ldv_check_alloc_flags(gfp_t flags )
2817{
2818
2819 {
2820#line 318
2821 if (ldv_spin != 0) {
2822#line 318
2823 if (flags != 32U) {
2824 {
2825#line 318
2826 ldv_blast_assert();
2827 }
2828 } else {
2829
2830 }
2831 } else {
2832
2833 }
2834#line 321
2835 return;
2836}
2837}
2838#line 321
2839extern struct page *ldv_some_page(void) ;
2840#line 324 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2841struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
2842{ struct page *tmp ;
2843
2844 {
2845#line 327
2846 if (ldv_spin != 0) {
2847#line 327
2848 if (flags != 32U) {
2849 {
2850#line 327
2851 ldv_blast_assert();
2852 }
2853 } else {
2854
2855 }
2856 } else {
2857
2858 }
2859 {
2860#line 329
2861 tmp = ldv_some_page();
2862 }
2863#line 329
2864 return (tmp);
2865}
2866}
2867#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2868void ldv_check_alloc_nonatomic(void)
2869{
2870
2871 {
2872#line 336
2873 if (ldv_spin != 0) {
2874 {
2875#line 336
2876 ldv_blast_assert();
2877 }
2878 } else {
2879
2880 }
2881#line 339
2882 return;
2883}
2884}
2885#line 340 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2886void ldv_spin_lock(void)
2887{
2888
2889 {
2890#line 343
2891 ldv_spin = 1;
2892#line 344
2893 return;
2894}
2895}
2896#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2897void ldv_spin_unlock(void)
2898{
2899
2900 {
2901#line 350
2902 ldv_spin = 0;
2903#line 351
2904 return;
2905}
2906}
2907#line 354 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2908int ldv_spin_trylock(void)
2909{ int is_lock ;
2910
2911 {
2912 {
2913#line 359
2914 is_lock = __VERIFIER_nondet_int();
2915 }
2916#line 361
2917 if (is_lock != 0) {
2918#line 364
2919 return (0);
2920 } else {
2921#line 369
2922 ldv_spin = 1;
2923#line 371
2924 return (1);
2925 }
2926}
2927}
2928#line 538 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2929void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
2930{
2931
2932 {
2933 {
2934#line 544
2935 ldv_check_alloc_flags(ldv_func_arg2);
2936#line 546
2937 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
2938 }
2939#line 547
2940 return ((void *)0);
2941}
2942}
2943#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3010/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/ab8500-ponkey.c.p"
2944__inline static void *kzalloc(size_t size , gfp_t flags )
2945{ void *tmp ;
2946
2947 {
2948 {
2949#line 555
2950 ldv_check_alloc_flags(flags);
2951#line 556
2952 tmp = __VERIFIER_nondet_pointer();
2953 }
2954#line 556
2955 return (tmp);
2956}
2957}