1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 25 "include/asm-generic/int-ll64.h"
9typedef int __s32;
10#line 26 "include/asm-generic/int-ll64.h"
11typedef unsigned int __u32;
12#line 30 "include/asm-generic/int-ll64.h"
13typedef unsigned long long __u64;
14#line 43 "include/asm-generic/int-ll64.h"
15typedef unsigned char u8;
16#line 45 "include/asm-generic/int-ll64.h"
17typedef short s16;
18#line 46 "include/asm-generic/int-ll64.h"
19typedef unsigned short u16;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 111 "include/linux/types.h"
75typedef __s32 int32_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 155 "include/linux/types.h"
79typedef u64 dma_addr_t;
80#line 178 "include/linux/types.h"
81typedef __u16 __le16;
82#line 202 "include/linux/types.h"
83typedef unsigned int gfp_t;
84#line 206 "include/linux/types.h"
85typedef u64 phys_addr_t;
86#line 211 "include/linux/types.h"
87typedef phys_addr_t resource_size_t;
88#line 221 "include/linux/types.h"
89struct __anonstruct_atomic_t_6 {
90 int counter ;
91};
92#line 221 "include/linux/types.h"
93typedef struct __anonstruct_atomic_t_6 atomic_t;
94#line 226 "include/linux/types.h"
95struct __anonstruct_atomic64_t_7 {
96 long counter ;
97};
98#line 226 "include/linux/types.h"
99typedef struct __anonstruct_atomic64_t_7 atomic64_t;
100#line 227 "include/linux/types.h"
101struct list_head {
102 struct list_head *next ;
103 struct list_head *prev ;
104};
105#line 232
106struct hlist_node;
107#line 232 "include/linux/types.h"
108struct hlist_head {
109 struct hlist_node *first ;
110};
111#line 236 "include/linux/types.h"
112struct hlist_node {
113 struct hlist_node *next ;
114 struct hlist_node **pprev ;
115};
116#line 247 "include/linux/types.h"
117struct rcu_head {
118 struct rcu_head *next ;
119 void (*func)(struct rcu_head * ) ;
120};
121#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
122struct module;
123#line 55
124struct module;
125#line 146 "include/linux/init.h"
126typedef void (*ctor_fn_t)(void);
127#line 305 "include/linux/printk.h"
128struct _ddebug {
129 char *modname ;
130 char *function ;
131 char *filename ;
132 char *format ;
133 unsigned int lineno : 18 ;
134 unsigned char flags ;
135};
136#line 46 "include/linux/dynamic_debug.h"
137struct device;
138#line 46
139struct device;
140#line 57
141struct completion;
142#line 57
143struct completion;
144#line 58
145struct pt_regs;
146#line 58
147struct pt_regs;
148#line 200 "include/linux/kernel.h"
149struct atomic_notifier_head;
150#line 348
151struct pid;
152#line 348
153struct pid;
154#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
155struct timespec;
156#line 112
157struct timespec;
158#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
159struct page;
160#line 58
161struct page;
162#line 26 "include/asm-generic/getorder.h"
163struct task_struct;
164#line 26
165struct task_struct;
166#line 28
167struct mm_struct;
168#line 28
169struct mm_struct;
170#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
171struct pt_regs {
172 unsigned long r15 ;
173 unsigned long r14 ;
174 unsigned long r13 ;
175 unsigned long r12 ;
176 unsigned long bp ;
177 unsigned long bx ;
178 unsigned long r11 ;
179 unsigned long r10 ;
180 unsigned long r9 ;
181 unsigned long r8 ;
182 unsigned long ax ;
183 unsigned long cx ;
184 unsigned long dx ;
185 unsigned long si ;
186 unsigned long di ;
187 unsigned long orig_ax ;
188 unsigned long ip ;
189 unsigned long cs ;
190 unsigned long flags ;
191 unsigned long sp ;
192 unsigned long ss ;
193};
194#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
195struct __anonstruct_ldv_2180_13 {
196 unsigned int a ;
197 unsigned int b ;
198};
199#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
200struct __anonstruct_ldv_2195_14 {
201 u16 limit0 ;
202 u16 base0 ;
203 unsigned char base1 ;
204 unsigned char type : 4 ;
205 unsigned char s : 1 ;
206 unsigned char dpl : 2 ;
207 unsigned char p : 1 ;
208 unsigned char limit : 4 ;
209 unsigned char avl : 1 ;
210 unsigned char l : 1 ;
211 unsigned char d : 1 ;
212 unsigned char g : 1 ;
213 unsigned char base2 ;
214};
215#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
216union __anonunion_ldv_2196_12 {
217 struct __anonstruct_ldv_2180_13 ldv_2180 ;
218 struct __anonstruct_ldv_2195_14 ldv_2195 ;
219};
220#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
221struct desc_struct {
222 union __anonunion_ldv_2196_12 ldv_2196 ;
223};
224#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
225typedef unsigned long pgdval_t;
226#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
227typedef unsigned long pgprotval_t;
228#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
229struct pgprot {
230 pgprotval_t pgprot ;
231};
232#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
233typedef struct pgprot pgprot_t;
234#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
235struct __anonstruct_pgd_t_16 {
236 pgdval_t pgd ;
237};
238#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
239typedef struct __anonstruct_pgd_t_16 pgd_t;
240#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
241typedef struct page *pgtable_t;
242#line 290
243struct file;
244#line 290
245struct file;
246#line 337
247struct thread_struct;
248#line 337
249struct thread_struct;
250#line 339
251struct cpumask;
252#line 339
253struct cpumask;
254#line 340 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
255struct paravirt_callee_save {
256 void *func ;
257};
258#line 197 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
259struct pv_irq_ops {
260 struct paravirt_callee_save save_fl ;
261 struct paravirt_callee_save restore_fl ;
262 struct paravirt_callee_save irq_disable ;
263 struct paravirt_callee_save irq_enable ;
264 void (*safe_halt)(void) ;
265 void (*halt)(void) ;
266 void (*adjust_exception_frame)(void) ;
267};
268#line 327
269struct arch_spinlock;
270#line 327
271struct arch_spinlock;
272#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
273struct kernel_vm86_regs {
274 struct pt_regs pt ;
275 unsigned short es ;
276 unsigned short __esh ;
277 unsigned short ds ;
278 unsigned short __dsh ;
279 unsigned short fs ;
280 unsigned short __fsh ;
281 unsigned short gs ;
282 unsigned short __gsh ;
283};
284#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
285union __anonunion_ldv_2824_19 {
286 struct pt_regs *regs ;
287 struct kernel_vm86_regs *vm86 ;
288};
289#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
290struct math_emu_info {
291 long ___orig_eip ;
292 union __anonunion_ldv_2824_19 ldv_2824 ;
293};
294#line 306 "include/linux/bitmap.h"
295struct bug_entry {
296 int bug_addr_disp ;
297 int file_disp ;
298 unsigned short line ;
299 unsigned short flags ;
300};
301#line 89 "include/linux/bug.h"
302struct cpumask {
303 unsigned long bits[64U] ;
304};
305#line 14 "include/linux/cpumask.h"
306typedef struct cpumask cpumask_t;
307#line 637 "include/linux/cpumask.h"
308typedef struct cpumask *cpumask_var_t;
309#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
310struct static_key;
311#line 234
312struct static_key;
313#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
314struct i387_fsave_struct {
315 u32 cwd ;
316 u32 swd ;
317 u32 twd ;
318 u32 fip ;
319 u32 fcs ;
320 u32 foo ;
321 u32 fos ;
322 u32 st_space[20U] ;
323 u32 status ;
324};
325#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
326struct __anonstruct_ldv_5180_24 {
327 u64 rip ;
328 u64 rdp ;
329};
330#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
331struct __anonstruct_ldv_5186_25 {
332 u32 fip ;
333 u32 fcs ;
334 u32 foo ;
335 u32 fos ;
336};
337#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
338union __anonunion_ldv_5187_23 {
339 struct __anonstruct_ldv_5180_24 ldv_5180 ;
340 struct __anonstruct_ldv_5186_25 ldv_5186 ;
341};
342#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
343union __anonunion_ldv_5196_26 {
344 u32 padding1[12U] ;
345 u32 sw_reserved[12U] ;
346};
347#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
348struct i387_fxsave_struct {
349 u16 cwd ;
350 u16 swd ;
351 u16 twd ;
352 u16 fop ;
353 union __anonunion_ldv_5187_23 ldv_5187 ;
354 u32 mxcsr ;
355 u32 mxcsr_mask ;
356 u32 st_space[32U] ;
357 u32 xmm_space[64U] ;
358 u32 padding[12U] ;
359 union __anonunion_ldv_5196_26 ldv_5196 ;
360};
361#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
362struct i387_soft_struct {
363 u32 cwd ;
364 u32 swd ;
365 u32 twd ;
366 u32 fip ;
367 u32 fcs ;
368 u32 foo ;
369 u32 fos ;
370 u32 st_space[20U] ;
371 u8 ftop ;
372 u8 changed ;
373 u8 lookahead ;
374 u8 no_update ;
375 u8 rm ;
376 u8 alimit ;
377 struct math_emu_info *info ;
378 u32 entry_eip ;
379};
380#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
381struct ymmh_struct {
382 u32 ymmh_space[64U] ;
383};
384#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
385struct xsave_hdr_struct {
386 u64 xstate_bv ;
387 u64 reserved1[2U] ;
388 u64 reserved2[5U] ;
389};
390#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
391struct xsave_struct {
392 struct i387_fxsave_struct i387 ;
393 struct xsave_hdr_struct xsave_hdr ;
394 struct ymmh_struct ymmh ;
395};
396#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397union thread_xstate {
398 struct i387_fsave_struct fsave ;
399 struct i387_fxsave_struct fxsave ;
400 struct i387_soft_struct soft ;
401 struct xsave_struct xsave ;
402};
403#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
404struct fpu {
405 unsigned int last_cpu ;
406 unsigned int has_fpu ;
407 union thread_xstate *state ;
408};
409#line 433
410struct kmem_cache;
411#line 434
412struct perf_event;
413#line 434
414struct perf_event;
415#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
416struct thread_struct {
417 struct desc_struct tls_array[3U] ;
418 unsigned long sp0 ;
419 unsigned long sp ;
420 unsigned long usersp ;
421 unsigned short es ;
422 unsigned short ds ;
423 unsigned short fsindex ;
424 unsigned short gsindex ;
425 unsigned long fs ;
426 unsigned long gs ;
427 struct perf_event *ptrace_bps[4U] ;
428 unsigned long debugreg6 ;
429 unsigned long ptrace_dr7 ;
430 unsigned long cr2 ;
431 unsigned long trap_nr ;
432 unsigned long error_code ;
433 struct fpu fpu ;
434 unsigned long *io_bitmap_ptr ;
435 unsigned long iopl ;
436 unsigned int io_bitmap_max ;
437};
438#line 23 "include/asm-generic/atomic-long.h"
439typedef atomic64_t atomic_long_t;
440#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
441typedef u16 __ticket_t;
442#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
443typedef u32 __ticketpair_t;
444#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
445struct __raw_tickets {
446 __ticket_t head ;
447 __ticket_t tail ;
448};
449#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
450union __anonunion_ldv_5907_29 {
451 __ticketpair_t head_tail ;
452 struct __raw_tickets tickets ;
453};
454#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
455struct arch_spinlock {
456 union __anonunion_ldv_5907_29 ldv_5907 ;
457};
458#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
459typedef struct arch_spinlock arch_spinlock_t;
460#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
461struct lockdep_map;
462#line 34
463struct lockdep_map;
464#line 55 "include/linux/debug_locks.h"
465struct stack_trace {
466 unsigned int nr_entries ;
467 unsigned int max_entries ;
468 unsigned long *entries ;
469 int skip ;
470};
471#line 26 "include/linux/stacktrace.h"
472struct lockdep_subclass_key {
473 char __one_byte ;
474};
475#line 53 "include/linux/lockdep.h"
476struct lock_class_key {
477 struct lockdep_subclass_key subkeys[8U] ;
478};
479#line 59 "include/linux/lockdep.h"
480struct lock_class {
481 struct list_head hash_entry ;
482 struct list_head lock_entry ;
483 struct lockdep_subclass_key *key ;
484 unsigned int subclass ;
485 unsigned int dep_gen_id ;
486 unsigned long usage_mask ;
487 struct stack_trace usage_traces[13U] ;
488 struct list_head locks_after ;
489 struct list_head locks_before ;
490 unsigned int version ;
491 unsigned long ops ;
492 char *name ;
493 int name_version ;
494 unsigned long contention_point[4U] ;
495 unsigned long contending_point[4U] ;
496};
497#line 144 "include/linux/lockdep.h"
498struct lockdep_map {
499 struct lock_class_key *key ;
500 struct lock_class *class_cache[2U] ;
501 char *name ;
502 int cpu ;
503 unsigned long ip ;
504};
505#line 187 "include/linux/lockdep.h"
506struct held_lock {
507 u64 prev_chain_key ;
508 unsigned long acquire_ip ;
509 struct lockdep_map *instance ;
510 struct lockdep_map *nest_lock ;
511 u64 waittime_stamp ;
512 u64 holdtime_stamp ;
513 unsigned short class_idx : 13 ;
514 unsigned char irq_context : 2 ;
515 unsigned char trylock : 1 ;
516 unsigned char read : 2 ;
517 unsigned char check : 2 ;
518 unsigned char hardirqs_off : 1 ;
519 unsigned short references : 11 ;
520};
521#line 556 "include/linux/lockdep.h"
522struct raw_spinlock {
523 arch_spinlock_t raw_lock ;
524 unsigned int magic ;
525 unsigned int owner_cpu ;
526 void *owner ;
527 struct lockdep_map dep_map ;
528};
529#line 32 "include/linux/spinlock_types.h"
530typedef struct raw_spinlock raw_spinlock_t;
531#line 33 "include/linux/spinlock_types.h"
532struct __anonstruct_ldv_6122_33 {
533 u8 __padding[24U] ;
534 struct lockdep_map dep_map ;
535};
536#line 33 "include/linux/spinlock_types.h"
537union __anonunion_ldv_6123_32 {
538 struct raw_spinlock rlock ;
539 struct __anonstruct_ldv_6122_33 ldv_6122 ;
540};
541#line 33 "include/linux/spinlock_types.h"
542struct spinlock {
543 union __anonunion_ldv_6123_32 ldv_6123 ;
544};
545#line 76 "include/linux/spinlock_types.h"
546typedef struct spinlock spinlock_t;
547#line 110 "include/linux/seqlock.h"
548struct seqcount {
549 unsigned int sequence ;
550};
551#line 121 "include/linux/seqlock.h"
552typedef struct seqcount seqcount_t;
553#line 254 "include/linux/seqlock.h"
554struct timespec {
555 __kernel_time_t tv_sec ;
556 long tv_nsec ;
557};
558#line 48 "include/linux/wait.h"
559struct __wait_queue_head {
560 spinlock_t lock ;
561 struct list_head task_list ;
562};
563#line 53 "include/linux/wait.h"
564typedef struct __wait_queue_head wait_queue_head_t;
565#line 98 "include/linux/nodemask.h"
566struct __anonstruct_nodemask_t_36 {
567 unsigned long bits[16U] ;
568};
569#line 98 "include/linux/nodemask.h"
570typedef struct __anonstruct_nodemask_t_36 nodemask_t;
571#line 670 "include/linux/mmzone.h"
572struct mutex {
573 atomic_t count ;
574 spinlock_t wait_lock ;
575 struct list_head wait_list ;
576 struct task_struct *owner ;
577 char *name ;
578 void *magic ;
579 struct lockdep_map dep_map ;
580};
581#line 63 "include/linux/mutex.h"
582struct mutex_waiter {
583 struct list_head list ;
584 struct task_struct *task ;
585 void *magic ;
586};
587#line 171
588struct rw_semaphore;
589#line 171
590struct rw_semaphore;
591#line 172 "include/linux/mutex.h"
592struct rw_semaphore {
593 long count ;
594 raw_spinlock_t wait_lock ;
595 struct list_head wait_list ;
596 struct lockdep_map dep_map ;
597};
598#line 128 "include/linux/rwsem.h"
599struct completion {
600 unsigned int done ;
601 wait_queue_head_t wait ;
602};
603#line 188 "include/linux/rcupdate.h"
604struct notifier_block;
605#line 188
606struct notifier_block;
607#line 239 "include/linux/srcu.h"
608struct notifier_block {
609 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
610 struct notifier_block *next ;
611 int priority ;
612};
613#line 55 "include/linux/notifier.h"
614struct atomic_notifier_head {
615 spinlock_t lock ;
616 struct notifier_block *head ;
617};
618#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
619struct resource {
620 resource_size_t start ;
621 resource_size_t end ;
622 char *name ;
623 unsigned long flags ;
624 struct resource *parent ;
625 struct resource *sibling ;
626 struct resource *child ;
627};
628#line 312 "include/linux/jiffies.h"
629union ktime {
630 s64 tv64 ;
631};
632#line 59 "include/linux/ktime.h"
633typedef union ktime ktime_t;
634#line 341
635struct tvec_base;
636#line 341
637struct tvec_base;
638#line 342 "include/linux/ktime.h"
639struct timer_list {
640 struct list_head entry ;
641 unsigned long expires ;
642 struct tvec_base *base ;
643 void (*function)(unsigned long ) ;
644 unsigned long data ;
645 int slack ;
646 int start_pid ;
647 void *start_site ;
648 char start_comm[16U] ;
649 struct lockdep_map lockdep_map ;
650};
651#line 289 "include/linux/timer.h"
652struct hrtimer;
653#line 289
654struct hrtimer;
655#line 290
656enum hrtimer_restart;
657#line 301
658struct workqueue_struct;
659#line 301
660struct workqueue_struct;
661#line 302
662struct work_struct;
663#line 302
664struct work_struct;
665#line 45 "include/linux/workqueue.h"
666struct work_struct {
667 atomic_long_t data ;
668 struct list_head entry ;
669 void (*func)(struct work_struct * ) ;
670 struct lockdep_map lockdep_map ;
671};
672#line 46 "include/linux/pm.h"
673struct pm_message {
674 int event ;
675};
676#line 52 "include/linux/pm.h"
677typedef struct pm_message pm_message_t;
678#line 53 "include/linux/pm.h"
679struct dev_pm_ops {
680 int (*prepare)(struct device * ) ;
681 void (*complete)(struct device * ) ;
682 int (*suspend)(struct device * ) ;
683 int (*resume)(struct device * ) ;
684 int (*freeze)(struct device * ) ;
685 int (*thaw)(struct device * ) ;
686 int (*poweroff)(struct device * ) ;
687 int (*restore)(struct device * ) ;
688 int (*suspend_late)(struct device * ) ;
689 int (*resume_early)(struct device * ) ;
690 int (*freeze_late)(struct device * ) ;
691 int (*thaw_early)(struct device * ) ;
692 int (*poweroff_late)(struct device * ) ;
693 int (*restore_early)(struct device * ) ;
694 int (*suspend_noirq)(struct device * ) ;
695 int (*resume_noirq)(struct device * ) ;
696 int (*freeze_noirq)(struct device * ) ;
697 int (*thaw_noirq)(struct device * ) ;
698 int (*poweroff_noirq)(struct device * ) ;
699 int (*restore_noirq)(struct device * ) ;
700 int (*runtime_suspend)(struct device * ) ;
701 int (*runtime_resume)(struct device * ) ;
702 int (*runtime_idle)(struct device * ) ;
703};
704#line 289
705enum rpm_status {
706 RPM_ACTIVE = 0,
707 RPM_RESUMING = 1,
708 RPM_SUSPENDED = 2,
709 RPM_SUSPENDING = 3
710} ;
711#line 296
712enum rpm_request {
713 RPM_REQ_NONE = 0,
714 RPM_REQ_IDLE = 1,
715 RPM_REQ_SUSPEND = 2,
716 RPM_REQ_AUTOSUSPEND = 3,
717 RPM_REQ_RESUME = 4
718} ;
719#line 304
720struct wakeup_source;
721#line 304
722struct wakeup_source;
723#line 494 "include/linux/pm.h"
724struct pm_subsys_data {
725 spinlock_t lock ;
726 unsigned int refcount ;
727};
728#line 499
729struct dev_pm_qos_request;
730#line 499
731struct pm_qos_raints;
732#line 499 "include/linux/pm.h"
733struct dev_pm_info {
734 pm_message_t power_state ;
735 unsigned char can_wakeup : 1 ;
736 unsigned char async_suspend : 1 ;
737 bool is_prepared ;
738 bool is_suspended ;
739 bool ignore_children ;
740 spinlock_t lock ;
741 struct list_head entry ;
742 struct completion completion ;
743 struct wakeup_source *wakeup ;
744 bool wakeup_path ;
745 struct timer_list suspend_timer ;
746 unsigned long timer_expires ;
747 struct work_struct work ;
748 wait_queue_head_t wait_queue ;
749 atomic_t usage_count ;
750 atomic_t child_count ;
751 unsigned char disable_depth : 3 ;
752 unsigned char idle_notification : 1 ;
753 unsigned char request_pending : 1 ;
754 unsigned char deferred_resume : 1 ;
755 unsigned char run_wake : 1 ;
756 unsigned char runtime_auto : 1 ;
757 unsigned char no_callbacks : 1 ;
758 unsigned char irq_safe : 1 ;
759 unsigned char use_autosuspend : 1 ;
760 unsigned char timer_autosuspends : 1 ;
761 enum rpm_request request ;
762 enum rpm_status runtime_status ;
763 int runtime_error ;
764 int autosuspend_delay ;
765 unsigned long last_busy ;
766 unsigned long active_jiffies ;
767 unsigned long suspended_jiffies ;
768 unsigned long accounting_timestamp ;
769 ktime_t suspend_time ;
770 s64 max_time_suspended_ns ;
771 struct dev_pm_qos_request *pq_req ;
772 struct pm_subsys_data *subsys_data ;
773 struct pm_qos_raints *raints ;
774};
775#line 558 "include/linux/pm.h"
776struct dev_pm_domain {
777 struct dev_pm_ops ops ;
778};
779#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
780struct __anonstruct_mm_context_t_101 {
781 void *ldt ;
782 int size ;
783 unsigned short ia32_compat ;
784 struct mutex lock ;
785 void *vdso ;
786};
787#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
788typedef struct __anonstruct_mm_context_t_101 mm_context_t;
789#line 18 "include/asm-generic/pci_iomap.h"
790struct vm_area_struct;
791#line 18
792struct vm_area_struct;
793#line 835 "include/linux/sysctl.h"
794struct rb_node {
795 unsigned long rb_parent_color ;
796 struct rb_node *rb_right ;
797 struct rb_node *rb_left ;
798};
799#line 108 "include/linux/rbtree.h"
800struct rb_root {
801 struct rb_node *rb_node ;
802};
803#line 176
804struct nsproxy;
805#line 176
806struct nsproxy;
807#line 37 "include/linux/kmod.h"
808struct cred;
809#line 37
810struct cred;
811#line 18 "include/linux/elf.h"
812typedef __u64 Elf64_Addr;
813#line 19 "include/linux/elf.h"
814typedef __u16 Elf64_Half;
815#line 23 "include/linux/elf.h"
816typedef __u32 Elf64_Word;
817#line 24 "include/linux/elf.h"
818typedef __u64 Elf64_Xword;
819#line 193 "include/linux/elf.h"
820struct elf64_sym {
821 Elf64_Word st_name ;
822 unsigned char st_info ;
823 unsigned char st_other ;
824 Elf64_Half st_shndx ;
825 Elf64_Addr st_value ;
826 Elf64_Xword st_size ;
827};
828#line 201 "include/linux/elf.h"
829typedef struct elf64_sym Elf64_Sym;
830#line 445
831struct sock;
832#line 445
833struct sock;
834#line 446
835struct kobject;
836#line 446
837struct kobject;
838#line 447
839enum kobj_ns_type {
840 KOBJ_NS_TYPE_NONE = 0,
841 KOBJ_NS_TYPE_NET = 1,
842 KOBJ_NS_TYPES = 2
843} ;
844#line 453 "include/linux/elf.h"
845struct kobj_ns_type_operations {
846 enum kobj_ns_type type ;
847 void *(*grab_current_ns)(void) ;
848 void *(*netlink_ns)(struct sock * ) ;
849 void *(*initial_ns)(void) ;
850 void (*drop_ns)(void * ) ;
851};
852#line 57 "include/linux/kobject_ns.h"
853struct attribute {
854 char *name ;
855 umode_t mode ;
856 struct lock_class_key *key ;
857 struct lock_class_key skey ;
858};
859#line 33 "include/linux/sysfs.h"
860struct attribute_group {
861 char *name ;
862 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
863 struct attribute **attrs ;
864};
865#line 62 "include/linux/sysfs.h"
866struct bin_attribute {
867 struct attribute attr ;
868 size_t size ;
869 void *private ;
870 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
871 loff_t , size_t ) ;
872 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
873 loff_t , size_t ) ;
874 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
875};
876#line 98 "include/linux/sysfs.h"
877struct sysfs_ops {
878 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
879 ssize_t (*store)(struct kobject * , struct attribute * , char * , size_t ) ;
880 void *(*namespace)(struct kobject * , struct attribute * ) ;
881};
882#line 117
883struct sysfs_dirent;
884#line 117
885struct sysfs_dirent;
886#line 182 "include/linux/sysfs.h"
887struct kref {
888 atomic_t refcount ;
889};
890#line 49 "include/linux/kobject.h"
891struct kset;
892#line 49
893struct kobj_type;
894#line 49 "include/linux/kobject.h"
895struct kobject {
896 char *name ;
897 struct list_head entry ;
898 struct kobject *parent ;
899 struct kset *kset ;
900 struct kobj_type *ktype ;
901 struct sysfs_dirent *sd ;
902 struct kref kref ;
903 unsigned char state_initialized : 1 ;
904 unsigned char state_in_sysfs : 1 ;
905 unsigned char state_add_uevent_sent : 1 ;
906 unsigned char state_remove_uevent_sent : 1 ;
907 unsigned char uevent_suppress : 1 ;
908};
909#line 107 "include/linux/kobject.h"
910struct kobj_type {
911 void (*release)(struct kobject * ) ;
912 struct sysfs_ops *sysfs_ops ;
913 struct attribute **default_attrs ;
914 struct kobj_ns_type_operations *(*child_ns_type)(struct kobject * ) ;
915 void *(*namespace)(struct kobject * ) ;
916};
917#line 115 "include/linux/kobject.h"
918struct kobj_uevent_env {
919 char *envp[32U] ;
920 int envp_idx ;
921 char buf[2048U] ;
922 int buflen ;
923};
924#line 122 "include/linux/kobject.h"
925struct kset_uevent_ops {
926 int (* filter)(struct kset * , struct kobject * ) ;
927 char *(* name)(struct kset * , struct kobject * ) ;
928 int (* uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
929};
930#line 139 "include/linux/kobject.h"
931struct kset {
932 struct list_head list ;
933 spinlock_t list_lock ;
934 struct kobject kobj ;
935 struct kset_uevent_ops *uevent_ops ;
936};
937#line 215
938struct kernel_param;
939#line 215
940struct kernel_param;
941#line 216 "include/linux/kobject.h"
942struct kernel_param_ops {
943 int (*set)(char * , struct kernel_param * ) ;
944 int (*get)(char * , struct kernel_param * ) ;
945 void (*free)(void * ) ;
946};
947#line 49 "include/linux/moduleparam.h"
948struct kparam_string;
949#line 49
950struct kparam_array;
951#line 49 "include/linux/moduleparam.h"
952union __anonunion_ldv_13363_134 {
953 void *arg ;
954 struct kparam_string *str ;
955 struct kparam_array *arr ;
956};
957#line 49 "include/linux/moduleparam.h"
958struct kernel_param {
959 char *name ;
960 struct kernel_param_ops *ops ;
961 u16 perm ;
962 s16 level ;
963 union __anonunion_ldv_13363_134 ldv_13363 ;
964};
965#line 61 "include/linux/moduleparam.h"
966struct kparam_string {
967 unsigned int maxlen ;
968 char *string ;
969};
970#line 67 "include/linux/moduleparam.h"
971struct kparam_array {
972 unsigned int max ;
973 unsigned int elemsize ;
974 unsigned int *num ;
975 struct kernel_param_ops *ops ;
976 void *elem ;
977};
978#line 458 "include/linux/moduleparam.h"
979struct static_key {
980 atomic_t enabled ;
981};
982#line 225 "include/linux/jump_label.h"
983struct tracepoint;
984#line 225
985struct tracepoint;
986#line 226 "include/linux/jump_label.h"
987struct tracepoint_func {
988 void *func ;
989 void *data ;
990};
991#line 29 "include/linux/tracepoint.h"
992struct tracepoint {
993 char *name ;
994 struct static_key key ;
995 void (*regfunc)(void) ;
996 void (*unregfunc)(void) ;
997 struct tracepoint_func *funcs ;
998};
999#line 86 "include/linux/tracepoint.h"
1000struct kernel_symbol {
1001 unsigned long value ;
1002 char *name ;
1003};
1004#line 27 "include/linux/export.h"
1005struct mod_arch_specific {
1006
1007};
1008#line 34 "include/linux/module.h"
1009struct module_param_attrs;
1010#line 34 "include/linux/module.h"
1011struct module_kobject {
1012 struct kobject kobj ;
1013 struct module *mod ;
1014 struct kobject *drivers_dir ;
1015 struct module_param_attrs *mp ;
1016};
1017#line 43 "include/linux/module.h"
1018struct module_attribute {
1019 struct attribute attr ;
1020 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1021 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char * ,
1022 size_t ) ;
1023 void (*setup)(struct module * , char * ) ;
1024 int (*test)(struct module * ) ;
1025 void (*free)(struct module * ) ;
1026};
1027#line 69
1028struct exception_table_entry;
1029#line 69
1030struct exception_table_entry;
1031#line 198
1032enum module_state {
1033 MODULE_STATE_LIVE = 0,
1034 MODULE_STATE_COMING = 1,
1035 MODULE_STATE_GOING = 2
1036} ;
1037#line 204 "include/linux/module.h"
1038struct module_ref {
1039 unsigned long incs ;
1040 unsigned long decs ;
1041};
1042#line 219
1043struct module_sect_attrs;
1044#line 219
1045struct module_notes_attrs;
1046#line 219
1047struct ftrace_event_call;
1048#line 219 "include/linux/module.h"
1049struct module {
1050 enum module_state state ;
1051 struct list_head list ;
1052 char name[56U] ;
1053 struct module_kobject mkobj ;
1054 struct module_attribute *modinfo_attrs ;
1055 char *version ;
1056 char *srcversion ;
1057 struct kobject *holders_dir ;
1058 struct kernel_symbol *syms ;
1059 unsigned long *crcs ;
1060 unsigned int num_syms ;
1061 struct kernel_param *kp ;
1062 unsigned int num_kp ;
1063 unsigned int num_gpl_syms ;
1064 struct kernel_symbol *gpl_syms ;
1065 unsigned long *gpl_crcs ;
1066 struct kernel_symbol *unused_syms ;
1067 unsigned long *unused_crcs ;
1068 unsigned int num_unused_syms ;
1069 unsigned int num_unused_gpl_syms ;
1070 struct kernel_symbol *unused_gpl_syms ;
1071 unsigned long *unused_gpl_crcs ;
1072 struct kernel_symbol *gpl_future_syms ;
1073 unsigned long *gpl_future_crcs ;
1074 unsigned int num_gpl_future_syms ;
1075 unsigned int num_exentries ;
1076 struct exception_table_entry *extable ;
1077 int (*init)(void) ;
1078 void *module_init ;
1079 void *module_core ;
1080 unsigned int init_size ;
1081 unsigned int core_size ;
1082 unsigned int init_text_size ;
1083 unsigned int core_text_size ;
1084 unsigned int init_ro_size ;
1085 unsigned int core_ro_size ;
1086 struct mod_arch_specific arch ;
1087 unsigned int taints ;
1088 unsigned int num_bugs ;
1089 struct list_head bug_list ;
1090 struct bug_entry *bug_table ;
1091 Elf64_Sym *symtab ;
1092 Elf64_Sym *core_symtab ;
1093 unsigned int num_symtab ;
1094 unsigned int core_num_syms ;
1095 char *strtab ;
1096 char *core_strtab ;
1097 struct module_sect_attrs *sect_attrs ;
1098 struct module_notes_attrs *notes_attrs ;
1099 char *args ;
1100 void *percpu ;
1101 unsigned int percpu_size ;
1102 unsigned int num_tracepoints ;
1103 struct tracepoint * *tracepoints_ptrs ;
1104 unsigned int num_trace_bprintk_fmt ;
1105 char **trace_bprintk_fmt_start ;
1106 struct ftrace_event_call **trace_events ;
1107 unsigned int num_trace_events ;
1108 struct list_head source_list ;
1109 struct list_head target_list ;
1110 struct task_struct *waiter ;
1111 void (*exit)(void) ;
1112 struct module_ref *refptr ;
1113 ctor_fn_t (**ctors)(void) ;
1114 unsigned int num_ctors ;
1115};
1116#line 88 "include/linux/kmemleak.h"
1117struct kmem_cache_cpu {
1118 void **freelist ;
1119 unsigned long tid ;
1120 struct page *page ;
1121 struct page *partial ;
1122 int node ;
1123 unsigned int stat[26U] ;
1124};
1125#line 55 "include/linux/slub_def.h"
1126struct kmem_cache_node {
1127 spinlock_t list_lock ;
1128 unsigned long nr_partial ;
1129 struct list_head partial ;
1130 atomic_long_t nr_slabs ;
1131 atomic_long_t total_objects ;
1132 struct list_head full ;
1133};
1134#line 66 "include/linux/slub_def.h"
1135struct kmem_cache_order_objects {
1136 unsigned long x ;
1137};
1138#line 76 "include/linux/slub_def.h"
1139struct kmem_cache {
1140 struct kmem_cache_cpu *cpu_slab ;
1141 unsigned long flags ;
1142 unsigned long min_partial ;
1143 int size ;
1144 int objsize ;
1145 int offset ;
1146 int cpu_partial ;
1147 struct kmem_cache_order_objects oo ;
1148 struct kmem_cache_order_objects max ;
1149 struct kmem_cache_order_objects min ;
1150 gfp_t allocflags ;
1151 int refcount ;
1152 void (*ctor)(void * ) ;
1153 int inuse ;
1154 int align ;
1155 int reserved ;
1156 char *name ;
1157 struct list_head list ;
1158 struct kobject kobj ;
1159 int remote_node_defrag_ratio ;
1160 struct kmem_cache_node *node[1024U] ;
1161};
1162#line 12 "include/linux/mod_devicetable.h"
1163typedef unsigned long kernel_ulong_t;
1164#line 215 "include/linux/mod_devicetable.h"
1165struct of_device_id {
1166 char name[32U] ;
1167 char type[32U] ;
1168 char compatible[128U] ;
1169 void *data ;
1170};
1171#line 492 "include/linux/mod_devicetable.h"
1172struct platform_device_id {
1173 char name[20U] ;
1174 kernel_ulong_t driver_data ;
1175};
1176#line 584
1177struct klist_node;
1178#line 584
1179struct klist_node;
1180#line 37 "include/linux/klist.h"
1181struct klist_node {
1182 void *n_klist ;
1183 struct list_head n_node ;
1184 struct kref n_ref ;
1185};
1186#line 67
1187struct dma_map_ops;
1188#line 67 "include/linux/klist.h"
1189struct dev_archdata {
1190 void *acpi_handle ;
1191 struct dma_map_ops *dma_ops ;
1192 void *iommu ;
1193};
1194#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1195struct pdev_archdata {
1196
1197};
1198#line 17
1199struct device_private;
1200#line 17
1201struct device_private;
1202#line 18
1203struct device_driver;
1204#line 18
1205struct device_driver;
1206#line 19
1207struct driver_private;
1208#line 19
1209struct driver_private;
1210#line 20
1211struct class;
1212#line 20
1213struct class;
1214#line 21
1215struct subsys_private;
1216#line 21
1217struct subsys_private;
1218#line 22
1219struct bus_type;
1220#line 22
1221struct bus_type;
1222#line 23
1223struct device_node;
1224#line 23
1225struct device_node;
1226#line 24
1227struct iommu_ops;
1228#line 24
1229struct iommu_ops;
1230#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1231struct bus_attribute {
1232 struct attribute attr ;
1233 ssize_t (*show)(struct bus_type * , char * ) ;
1234 ssize_t (*store)(struct bus_type * , char * , size_t ) ;
1235};
1236#line 51 "include/linux/device.h"
1237struct device_attribute;
1238#line 51
1239struct driver_attribute;
1240#line 51 "include/linux/device.h"
1241struct bus_type {
1242 char *name ;
1243 char *dev_name ;
1244 struct device *dev_root ;
1245 struct bus_attribute *bus_attrs ;
1246 struct device_attribute *dev_attrs ;
1247 struct driver_attribute *drv_attrs ;
1248 int (*match)(struct device * , struct device_driver * ) ;
1249 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1250 int (*probe)(struct device * ) ;
1251 int (*remove)(struct device * ) ;
1252 void (*shutdown)(struct device * ) ;
1253 int (*suspend)(struct device * , pm_message_t ) ;
1254 int (*resume)(struct device * ) ;
1255 struct dev_pm_ops *pm ;
1256 struct iommu_ops *iommu_ops ;
1257 struct subsys_private *p ;
1258};
1259#line 125
1260struct device_type;
1261#line 182 "include/linux/device.h"
1262struct device_driver {
1263 char *name ;
1264 struct bus_type *bus ;
1265 struct module *owner ;
1266 char *mod_name ;
1267 bool suppress_bind_attrs ;
1268 struct of_device_id *of_match_table ;
1269 int (*probe)(struct device * ) ;
1270 int (*remove)(struct device * ) ;
1271 void (*shutdown)(struct device * ) ;
1272 int (*suspend)(struct device * , pm_message_t ) ;
1273 int (*resume)(struct device * ) ;
1274 struct attribute_group **groups ;
1275 struct dev_pm_ops *pm ;
1276 struct driver_private *p ;
1277};
1278#line 245 "include/linux/device.h"
1279struct driver_attribute {
1280 struct attribute attr ;
1281 ssize_t (*show)(struct device_driver * , char * ) ;
1282 ssize_t (*store)(struct device_driver * , char * , size_t ) ;
1283};
1284#line 299
1285struct class_attribute;
1286#line 299 "include/linux/device.h"
1287struct class {
1288 char *name ;
1289 struct module *owner ;
1290 struct class_attribute *class_attrs ;
1291 struct device_attribute *dev_attrs ;
1292 struct bin_attribute *dev_bin_attrs ;
1293 struct kobject *dev_kobj ;
1294 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1295 char *(*devnode)(struct device * , umode_t * ) ;
1296 void (*class_release)(struct class * ) ;
1297 void (*dev_release)(struct device * ) ;
1298 int (*suspend)(struct device * , pm_message_t ) ;
1299 int (*resume)(struct device * ) ;
1300 struct kobj_ns_type_operations *ns_type ;
1301 void *(*namespace)(struct device * ) ;
1302 struct dev_pm_ops *pm ;
1303 struct subsys_private *p ;
1304};
1305#line 394 "include/linux/device.h"
1306struct class_attribute {
1307 struct attribute attr ;
1308 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1309 ssize_t (*store)(struct class * , struct class_attribute * , char * , size_t ) ;
1310 void *(*namespace)(struct class * , struct class_attribute * ) ;
1311};
1312#line 447 "include/linux/device.h"
1313struct device_type {
1314 char *name ;
1315 struct attribute_group **groups ;
1316 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1317 char *(*devnode)(struct device * , umode_t * ) ;
1318 void (*release)(struct device * ) ;
1319 struct dev_pm_ops *pm ;
1320};
1321#line 474 "include/linux/device.h"
1322struct device_attribute {
1323 struct attribute attr ;
1324 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1325 ssize_t (*store)(struct device * , struct device_attribute * , char * ,
1326 size_t ) ;
1327};
1328#line 557 "include/linux/device.h"
1329struct device_dma_parameters {
1330 unsigned int max_segment_size ;
1331 unsigned long segment_boundary_mask ;
1332};
1333#line 567
1334struct dma_coherent_mem;
1335#line 567 "include/linux/device.h"
1336struct device {
1337 struct device *parent ;
1338 struct device_private *p ;
1339 struct kobject kobj ;
1340 char *init_name ;
1341 struct device_type *type ;
1342 struct mutex mutex ;
1343 struct bus_type *bus ;
1344 struct device_driver *driver ;
1345 void *platform_data ;
1346 struct dev_pm_info power ;
1347 struct dev_pm_domain *pm_domain ;
1348 int numa_node ;
1349 u64 *dma_mask ;
1350 u64 coherent_dma_mask ;
1351 struct device_dma_parameters *dma_parms ;
1352 struct list_head dma_pools ;
1353 struct dma_coherent_mem *dma_mem ;
1354 struct dev_archdata archdata ;
1355 struct device_node *of_node ;
1356 dev_t devt ;
1357 u32 id ;
1358 spinlock_t devres_lock ;
1359 struct list_head devres_head ;
1360 struct klist_node knode_class ;
1361 struct class *class ;
1362 struct attribute_group **groups ;
1363 void (*release)(struct device * ) ;
1364};
1365#line 681 "include/linux/device.h"
1366struct wakeup_source {
1367 char *name ;
1368 struct list_head entry ;
1369 spinlock_t lock ;
1370 struct timer_list timer ;
1371 unsigned long timer_expires ;
1372 ktime_t total_time ;
1373 ktime_t max_time ;
1374 ktime_t last_time ;
1375 unsigned long event_count ;
1376 unsigned long active_count ;
1377 unsigned long relax_count ;
1378 unsigned long hit_count ;
1379 unsigned char active : 1 ;
1380};
1381#line 69 "include/linux/io.h"
1382enum irqreturn {
1383 IRQ_NONE = 0,
1384 IRQ_HANDLED = 1,
1385 IRQ_WAKE_THREAD = 2
1386} ;
1387#line 16 "include/linux/irqreturn.h"
1388typedef enum irqreturn irqreturn_t;
1389#line 986 "include/linux/pci.h"
1390struct scatterlist {
1391 unsigned long sg_magic ;
1392 unsigned long page_link ;
1393 unsigned int offset ;
1394 unsigned int length ;
1395 dma_addr_t dma_address ;
1396 unsigned int dma_length ;
1397};
1398#line 17 "include/asm-generic/scatterlist.h"
1399struct dma_pool;
1400#line 1134 "include/linux/pci.h"
1401struct prio_tree_node;
1402#line 1134 "include/linux/pci.h"
1403struct raw_prio_tree_node {
1404 struct prio_tree_node *left ;
1405 struct prio_tree_node *right ;
1406 struct prio_tree_node *parent ;
1407};
1408#line 19 "include/linux/prio_tree.h"
1409struct prio_tree_node {
1410 struct prio_tree_node *left ;
1411 struct prio_tree_node *right ;
1412 struct prio_tree_node *parent ;
1413 unsigned long start ;
1414 unsigned long last ;
1415};
1416#line 116
1417struct address_space;
1418#line 116
1419struct address_space;
1420#line 117 "include/linux/prio_tree.h"
1421union __anonunion_ldv_16192_138 {
1422 unsigned long index ;
1423 void *freelist ;
1424};
1425#line 117 "include/linux/prio_tree.h"
1426struct __anonstruct_ldv_16202_142 {
1427 unsigned short inuse ;
1428 unsigned short objects : 15 ;
1429 unsigned char frozen : 1 ;
1430};
1431#line 117 "include/linux/prio_tree.h"
1432union __anonunion_ldv_16203_141 {
1433 atomic_t _mapcount ;
1434 struct __anonstruct_ldv_16202_142 ldv_16202 ;
1435};
1436#line 117 "include/linux/prio_tree.h"
1437struct __anonstruct_ldv_16205_140 {
1438 union __anonunion_ldv_16203_141 ldv_16203 ;
1439 atomic_t _count ;
1440};
1441#line 117 "include/linux/prio_tree.h"
1442union __anonunion_ldv_16206_139 {
1443 unsigned long counters ;
1444 struct __anonstruct_ldv_16205_140 ldv_16205 ;
1445};
1446#line 117 "include/linux/prio_tree.h"
1447struct __anonstruct_ldv_16207_137 {
1448 union __anonunion_ldv_16192_138 ldv_16192 ;
1449 union __anonunion_ldv_16206_139 ldv_16206 ;
1450};
1451#line 117 "include/linux/prio_tree.h"
1452struct __anonstruct_ldv_16214_144 {
1453 struct page *next ;
1454 int pages ;
1455 int pobjects ;
1456};
1457#line 117 "include/linux/prio_tree.h"
1458union __anonunion_ldv_16215_143 {
1459 struct list_head lru ;
1460 struct __anonstruct_ldv_16214_144 ldv_16214 ;
1461};
1462#line 117 "include/linux/prio_tree.h"
1463union __anonunion_ldv_16220_145 {
1464 unsigned long private ;
1465 struct kmem_cache *slab ;
1466 struct page *first_page ;
1467};
1468#line 117 "include/linux/prio_tree.h"
1469struct page {
1470 unsigned long flags ;
1471 struct address_space *mapping ;
1472 struct __anonstruct_ldv_16207_137 ldv_16207 ;
1473 union __anonunion_ldv_16215_143 ldv_16215 ;
1474 union __anonunion_ldv_16220_145 ldv_16220 ;
1475 unsigned long debug_flags ;
1476};
1477#line 192 "include/linux/mm_types.h"
1478struct __anonstruct_vm_set_147 {
1479 struct list_head list ;
1480 void *parent ;
1481 struct vm_area_struct *head ;
1482};
1483#line 192 "include/linux/mm_types.h"
1484union __anonunion_shared_146 {
1485 struct __anonstruct_vm_set_147 vm_set ;
1486 struct raw_prio_tree_node prio_tree_node ;
1487};
1488#line 192
1489struct anon_vma;
1490#line 192
1491struct vm_operations_struct;
1492#line 192
1493struct mempolicy;
1494#line 192 "include/linux/mm_types.h"
1495struct vm_area_struct {
1496 struct mm_struct *vm_mm ;
1497 unsigned long vm_start ;
1498 unsigned long vm_end ;
1499 struct vm_area_struct *vm_next ;
1500 struct vm_area_struct *vm_prev ;
1501 pgprot_t vm_page_prot ;
1502 unsigned long vm_flags ;
1503 struct rb_node vm_rb ;
1504 union __anonunion_shared_146 shared ;
1505 struct list_head anon_vma_chain ;
1506 struct anon_vma *anon_vma ;
1507 struct vm_operations_struct *vm_ops ;
1508 unsigned long vm_pgoff ;
1509 struct file *vm_file ;
1510 void *vm_private_data ;
1511 struct mempolicy *vm_policy ;
1512};
1513#line 255 "include/linux/mm_types.h"
1514struct core_thread {
1515 struct task_struct *task ;
1516 struct core_thread *next ;
1517};
1518#line 261 "include/linux/mm_types.h"
1519struct core_state {
1520 atomic_t nr_threads ;
1521 struct core_thread dumper ;
1522 struct completion startup ;
1523};
1524#line 274 "include/linux/mm_types.h"
1525struct mm_rss_stat {
1526 atomic_long_t count[3U] ;
1527};
1528#line 287
1529struct linux_binfmt;
1530#line 287
1531struct mmu_notifier_mm;
1532#line 287 "include/linux/mm_types.h"
1533struct mm_struct {
1534 struct vm_area_struct *mmap ;
1535 struct rb_root mm_rb ;
1536 struct vm_area_struct *mmap_cache ;
1537 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1538 unsigned long , unsigned long ) ;
1539 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1540 unsigned long mmap_base ;
1541 unsigned long task_size ;
1542 unsigned long cached_hole_size ;
1543 unsigned long free_area_cache ;
1544 pgd_t *pgd ;
1545 atomic_t mm_users ;
1546 atomic_t mm_count ;
1547 int map_count ;
1548 spinlock_t page_table_lock ;
1549 struct rw_semaphore mmap_sem ;
1550 struct list_head mmlist ;
1551 unsigned long hiwater_rss ;
1552 unsigned long hiwater_vm ;
1553 unsigned long total_vm ;
1554 unsigned long locked_vm ;
1555 unsigned long pinned_vm ;
1556 unsigned long shared_vm ;
1557 unsigned long exec_vm ;
1558 unsigned long stack_vm ;
1559 unsigned long reserved_vm ;
1560 unsigned long def_flags ;
1561 unsigned long nr_ptes ;
1562 unsigned long start_code ;
1563 unsigned long end_code ;
1564 unsigned long start_data ;
1565 unsigned long end_data ;
1566 unsigned long start_brk ;
1567 unsigned long brk ;
1568 unsigned long start_stack ;
1569 unsigned long arg_start ;
1570 unsigned long arg_end ;
1571 unsigned long env_start ;
1572 unsigned long env_end ;
1573 unsigned long saved_auxv[44U] ;
1574 struct mm_rss_stat rss_stat ;
1575 struct linux_binfmt *binfmt ;
1576 cpumask_var_t cpu_vm_mask_var ;
1577 mm_context_t context ;
1578 unsigned int faultstamp ;
1579 unsigned int token_priority ;
1580 unsigned int last_interval ;
1581 unsigned long flags ;
1582 struct core_state *core_state ;
1583 spinlock_t ioctx_lock ;
1584 struct hlist_head ioctx_list ;
1585 struct task_struct *owner ;
1586 struct file *exe_file ;
1587 unsigned long num_exe_file_vmas ;
1588 struct mmu_notifier_mm *mmu_notifier_mm ;
1589 pgtable_t pmd_huge_pte ;
1590 struct cpumask cpumask_allocation ;
1591};
1592#line 44 "include/linux/shrinker.h"
1593struct user_struct;
1594#line 44
1595struct user_struct;
1596#line 178 "include/linux/mm.h"
1597struct vm_fault {
1598 unsigned int flags ;
1599 unsigned long pgoff ;
1600 void *virtual_address ;
1601 struct page *page ;
1602};
1603#line 195 "include/linux/mm.h"
1604struct vm_operations_struct {
1605 void (*open)(struct vm_area_struct * ) ;
1606 void (*close)(struct vm_area_struct * ) ;
1607 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1608 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1609 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1610 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1611 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1612 int (*migrate)(struct vm_area_struct * , nodemask_t * , nodemask_t * ,
1613 unsigned long ) ;
1614};
1615#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
1616struct dma_attrs {
1617 unsigned long flags[1U] ;
1618};
1619#line 67 "include/linux/dma-attrs.h"
1620enum dma_data_direction {
1621 DMA_BIDIRECTIONAL = 0,
1622 DMA_TO_DEVICE = 1,
1623 DMA_FROM_DEVICE = 2,
1624 DMA_NONE = 3
1625} ;
1626#line 268 "include/linux/scatterlist.h"
1627struct dma_map_ops {
1628 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1629 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1630 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1631 size_t , struct dma_attrs * ) ;
1632 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1633 enum dma_data_direction , struct dma_attrs * ) ;
1634 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1635 struct dma_attrs * ) ;
1636 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1637 struct dma_attrs * ) ;
1638 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1639 struct dma_attrs * ) ;
1640 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1641 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1642 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1643 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1644 int (*mapping_error)(struct device * , dma_addr_t ) ;
1645 int (*dma_supported)(struct device * , u64 ) ;
1646 int (*set_dma_mask)(struct device * , u64 ) ;
1647 int is_phys ;
1648};
1649#line 93 "include/linux/capability.h"
1650struct kernel_cap_struct {
1651 __u32 cap[2U] ;
1652};
1653#line 96 "include/linux/capability.h"
1654typedef struct kernel_cap_struct kernel_cap_t;
1655#line 105
1656struct user_namespace;
1657#line 105
1658struct user_namespace;
1659#line 7 "include/asm-generic/cputime.h"
1660typedef unsigned long cputime_t;
1661#line 98 "include/linux/sem.h"
1662struct sem_undo_list;
1663#line 98 "include/linux/sem.h"
1664struct sysv_sem {
1665 struct sem_undo_list *undo_list ;
1666};
1667#line 107
1668struct siginfo;
1669#line 107
1670struct siginfo;
1671#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1672struct __anonstruct_sigset_t_149 {
1673 unsigned long sig[1U] ;
1674};
1675#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1676typedef struct __anonstruct_sigset_t_149 sigset_t;
1677#line 17 "include/asm-generic/signal-defs.h"
1678typedef void __signalfn_t(int );
1679#line 18 "include/asm-generic/signal-defs.h"
1680typedef __signalfn_t *__sighandler_t;
1681#line 20 "include/asm-generic/signal-defs.h"
1682typedef void __restorefn_t(void);
1683#line 21 "include/asm-generic/signal-defs.h"
1684typedef __restorefn_t *__sigrestore_t;
1685#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1686struct sigaction {
1687 __sighandler_t sa_handler ;
1688 unsigned long sa_flags ;
1689 __sigrestore_t sa_restorer ;
1690 sigset_t sa_mask ;
1691};
1692#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1693struct k_sigaction {
1694 struct sigaction sa ;
1695};
1696#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1697union sigval {
1698 int sival_int ;
1699 void *sival_ptr ;
1700};
1701#line 10 "include/asm-generic/siginfo.h"
1702typedef union sigval sigval_t;
1703#line 11 "include/asm-generic/siginfo.h"
1704struct __anonstruct__kill_151 {
1705 __kernel_pid_t _pid ;
1706 __kernel_uid32_t _uid ;
1707};
1708#line 11 "include/asm-generic/siginfo.h"
1709struct __anonstruct__timer_152 {
1710 __kernel_timer_t _tid ;
1711 int _overrun ;
1712 char _pad[0U] ;
1713 sigval_t _sigval ;
1714 int _sys_private ;
1715};
1716#line 11 "include/asm-generic/siginfo.h"
1717struct __anonstruct__rt_153 {
1718 __kernel_pid_t _pid ;
1719 __kernel_uid32_t _uid ;
1720 sigval_t _sigval ;
1721};
1722#line 11 "include/asm-generic/siginfo.h"
1723struct __anonstruct__sigchld_154 {
1724 __kernel_pid_t _pid ;
1725 __kernel_uid32_t _uid ;
1726 int _status ;
1727 __kernel_clock_t _utime ;
1728 __kernel_clock_t _stime ;
1729};
1730#line 11 "include/asm-generic/siginfo.h"
1731struct __anonstruct__sigfault_155 {
1732 void *_addr ;
1733 short _addr_lsb ;
1734};
1735#line 11 "include/asm-generic/siginfo.h"
1736struct __anonstruct__sigpoll_156 {
1737 long _band ;
1738 int _fd ;
1739};
1740#line 11 "include/asm-generic/siginfo.h"
1741union __anonunion__sifields_150 {
1742 int _pad[28U] ;
1743 struct __anonstruct__kill_151 _kill ;
1744 struct __anonstruct__timer_152 _timer ;
1745 struct __anonstruct__rt_153 _rt ;
1746 struct __anonstruct__sigchld_154 _sigchld ;
1747 struct __anonstruct__sigfault_155 _sigfault ;
1748 struct __anonstruct__sigpoll_156 _sigpoll ;
1749};
1750#line 11 "include/asm-generic/siginfo.h"
1751struct siginfo {
1752 int si_signo ;
1753 int si_errno ;
1754 int si_code ;
1755 union __anonunion__sifields_150 _sifields ;
1756};
1757#line 102 "include/asm-generic/siginfo.h"
1758typedef struct siginfo siginfo_t;
1759#line 24 "include/linux/signal.h"
1760struct sigpending {
1761 struct list_head list ;
1762 sigset_t signal ;
1763};
1764#line 395
1765struct pid_namespace;
1766#line 395 "include/linux/signal.h"
1767struct upid {
1768 int nr ;
1769 struct pid_namespace *ns ;
1770 struct hlist_node pid_chain ;
1771};
1772#line 56 "include/linux/pid.h"
1773struct pid {
1774 atomic_t count ;
1775 unsigned int level ;
1776 struct hlist_head tasks[3U] ;
1777 struct rcu_head rcu ;
1778 struct upid numbers[1U] ;
1779};
1780#line 68 "include/linux/pid.h"
1781struct pid_link {
1782 struct hlist_node node ;
1783 struct pid *pid ;
1784};
1785#line 10 "include/linux/seccomp.h"
1786struct __anonstruct_seccomp_t_159 {
1787 int mode ;
1788};
1789#line 10 "include/linux/seccomp.h"
1790typedef struct __anonstruct_seccomp_t_159 seccomp_t;
1791#line 427 "include/linux/rculist.h"
1792struct plist_head {
1793 struct list_head node_list ;
1794};
1795#line 84 "include/linux/plist.h"
1796struct plist_node {
1797 int prio ;
1798 struct list_head prio_list ;
1799 struct list_head node_list ;
1800};
1801#line 38 "include/linux/rtmutex.h"
1802struct rt_mutex_waiter;
1803#line 38
1804struct rt_mutex_waiter;
1805#line 41 "include/linux/resource.h"
1806struct rlimit {
1807 unsigned long rlim_cur ;
1808 unsigned long rlim_max ;
1809};
1810#line 85 "include/linux/resource.h"
1811struct timerqueue_node {
1812 struct rb_node node ;
1813 ktime_t expires ;
1814};
1815#line 12 "include/linux/timerqueue.h"
1816struct timerqueue_head {
1817 struct rb_root head ;
1818 struct timerqueue_node *next ;
1819};
1820#line 50
1821struct hrtimer_clock_base;
1822#line 50
1823struct hrtimer_clock_base;
1824#line 51
1825struct hrtimer_cpu_base;
1826#line 51
1827struct hrtimer_cpu_base;
1828#line 60
1829enum hrtimer_restart {
1830 HRTIMER_NORESTART = 0,
1831 HRTIMER_RESTART = 1
1832} ;
1833#line 65 "include/linux/timerqueue.h"
1834struct hrtimer {
1835 struct timerqueue_node node ;
1836 ktime_t _softexpires ;
1837 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1838 struct hrtimer_clock_base *base ;
1839 unsigned long state ;
1840 int start_pid ;
1841 void *start_site ;
1842 char start_comm[16U] ;
1843};
1844#line 132 "include/linux/hrtimer.h"
1845struct hrtimer_clock_base {
1846 struct hrtimer_cpu_base *cpu_base ;
1847 int index ;
1848 clockid_t clockid ;
1849 struct timerqueue_head active ;
1850 ktime_t resolution ;
1851 ktime_t (*get_time)(void) ;
1852 ktime_t softirq_time ;
1853 ktime_t offset ;
1854};
1855#line 162 "include/linux/hrtimer.h"
1856struct hrtimer_cpu_base {
1857 raw_spinlock_t lock ;
1858 unsigned long active_bases ;
1859 ktime_t expires_next ;
1860 int hres_active ;
1861 int hang_detected ;
1862 unsigned long nr_events ;
1863 unsigned long nr_retries ;
1864 unsigned long nr_hangs ;
1865 ktime_t max_hang_time ;
1866 struct hrtimer_clock_base clock_base[3U] ;
1867};
1868#line 452 "include/linux/hrtimer.h"
1869struct task_io_accounting {
1870 u64 rchar ;
1871 u64 wchar ;
1872 u64 syscr ;
1873 u64 syscw ;
1874 u64 read_bytes ;
1875 u64 write_bytes ;
1876 u64 cancelled_write_bytes ;
1877};
1878#line 45 "include/linux/task_io_accounting.h"
1879struct latency_record {
1880 unsigned long backtrace[12U] ;
1881 unsigned int count ;
1882 unsigned long time ;
1883 unsigned long max ;
1884};
1885#line 29 "include/linux/key.h"
1886typedef int32_t key_serial_t;
1887#line 32 "include/linux/key.h"
1888typedef uint32_t key_perm_t;
1889#line 33
1890struct key;
1891#line 33
1892struct key;
1893#line 34
1894struct signal_struct;
1895#line 34
1896struct signal_struct;
1897#line 35
1898struct key_type;
1899#line 35
1900struct key_type;
1901#line 37
1902struct keyring_list;
1903#line 37
1904struct keyring_list;
1905#line 115
1906struct key_user;
1907#line 115 "include/linux/key.h"
1908union __anonunion_ldv_21108_160 {
1909 time_t expiry ;
1910 time_t revoked_at ;
1911};
1912#line 115 "include/linux/key.h"
1913union __anonunion_type_data_161 {
1914 struct list_head link ;
1915 unsigned long x[2U] ;
1916 void *p[2U] ;
1917 int reject_error ;
1918};
1919#line 115 "include/linux/key.h"
1920union __anonunion_payload_162 {
1921 unsigned long value ;
1922 void *rcudata ;
1923 void *data ;
1924 struct keyring_list *subscriptions ;
1925};
1926#line 115 "include/linux/key.h"
1927struct key {
1928 atomic_t usage ;
1929 key_serial_t serial ;
1930 struct rb_node serial_node ;
1931 struct key_type *type ;
1932 struct rw_semaphore sem ;
1933 struct key_user *user ;
1934 void *security ;
1935 union __anonunion_ldv_21108_160 ldv_21108 ;
1936 uid_t uid ;
1937 gid_t gid ;
1938 key_perm_t perm ;
1939 unsigned short quotalen ;
1940 unsigned short datalen ;
1941 unsigned long flags ;
1942 char *description ;
1943 union __anonunion_type_data_161 type_data ;
1944 union __anonunion_payload_162 payload ;
1945};
1946#line 316
1947struct audit_context;
1948#line 316
1949struct audit_context;
1950#line 27 "include/linux/selinux.h"
1951struct group_info {
1952 atomic_t usage ;
1953 int ngroups ;
1954 int nblocks ;
1955 gid_t small_block[32U] ;
1956 gid_t *blocks[0U] ;
1957};
1958#line 77 "include/linux/cred.h"
1959struct thread_group_cred {
1960 atomic_t usage ;
1961 pid_t tgid ;
1962 spinlock_t lock ;
1963 struct key *session_keyring ;
1964 struct key *process_keyring ;
1965 struct rcu_head rcu ;
1966};
1967#line 91 "include/linux/cred.h"
1968struct cred {
1969 atomic_t usage ;
1970 atomic_t subscribers ;
1971 void *put_addr ;
1972 unsigned int magic ;
1973 uid_t uid ;
1974 gid_t gid ;
1975 uid_t suid ;
1976 gid_t sgid ;
1977 uid_t euid ;
1978 gid_t egid ;
1979 uid_t fsuid ;
1980 gid_t fsgid ;
1981 unsigned int securebits ;
1982 kernel_cap_t cap_inheritable ;
1983 kernel_cap_t cap_permitted ;
1984 kernel_cap_t cap_effective ;
1985 kernel_cap_t cap_bset ;
1986 unsigned char jit_keyring ;
1987 struct key *thread_keyring ;
1988 struct key *request_key_auth ;
1989 struct thread_group_cred *tgcred ;
1990 void *security ;
1991 struct user_struct *user ;
1992 struct user_namespace *user_ns ;
1993 struct group_info *group_info ;
1994 struct rcu_head rcu ;
1995};
1996#line 264
1997struct llist_node;
1998#line 64 "include/linux/llist.h"
1999struct llist_node {
2000 struct llist_node *next ;
2001};
2002#line 185
2003struct futex_pi_state;
2004#line 185
2005struct futex_pi_state;
2006#line 186
2007struct robust_list_head;
2008#line 186
2009struct robust_list_head;
2010#line 187
2011struct bio_list;
2012#line 187
2013struct bio_list;
2014#line 188
2015struct fs_struct;
2016#line 188
2017struct fs_struct;
2018#line 189
2019struct perf_event_context;
2020#line 189
2021struct perf_event_context;
2022#line 190
2023struct blk_plug;
2024#line 190
2025struct blk_plug;
2026#line 149 "include/linux/sched.h"
2027struct cfs_rq;
2028#line 149
2029struct cfs_rq;
2030#line 406 "include/linux/sched.h"
2031struct sighand_struct {
2032 atomic_t count ;
2033 struct k_sigaction action[64U] ;
2034 spinlock_t siglock ;
2035 wait_queue_head_t signalfd_wqh ;
2036};
2037#line 449 "include/linux/sched.h"
2038struct pacct_struct {
2039 int ac_flag ;
2040 long ac_exitcode ;
2041 unsigned long ac_mem ;
2042 cputime_t ac_utime ;
2043 cputime_t ac_stime ;
2044 unsigned long ac_minflt ;
2045 unsigned long ac_majflt ;
2046};
2047#line 457 "include/linux/sched.h"
2048struct cpu_itimer {
2049 cputime_t expires ;
2050 cputime_t incr ;
2051 u32 error ;
2052 u32 incr_error ;
2053};
2054#line 464 "include/linux/sched.h"
2055struct task_cputime {
2056 cputime_t utime ;
2057 cputime_t stime ;
2058 unsigned long long sum_exec_runtime ;
2059};
2060#line 481 "include/linux/sched.h"
2061struct thread_group_cputimer {
2062 struct task_cputime cputime ;
2063 int running ;
2064 raw_spinlock_t lock ;
2065};
2066#line 517
2067struct autogroup;
2068#line 517
2069struct autogroup;
2070#line 518
2071struct tty_struct;
2072#line 518
2073struct taskstats;
2074#line 518
2075struct tty_audit_buf;
2076#line 518 "include/linux/sched.h"
2077struct signal_struct {
2078 atomic_t sigcnt ;
2079 atomic_t live ;
2080 int nr_threads ;
2081 wait_queue_head_t wait_chldexit ;
2082 struct task_struct *curr_target ;
2083 struct sigpending shared_pending ;
2084 int group_exit_code ;
2085 int notify_count ;
2086 struct task_struct *group_exit_task ;
2087 int group_stop_count ;
2088 unsigned int flags ;
2089 unsigned char is_child_subreaper : 1 ;
2090 unsigned char has_child_subreaper : 1 ;
2091 struct list_head posix_timers ;
2092 struct hrtimer real_timer ;
2093 struct pid *leader_pid ;
2094 ktime_t it_real_incr ;
2095 struct cpu_itimer it[2U] ;
2096 struct thread_group_cputimer cputimer ;
2097 struct task_cputime cputime_expires ;
2098 struct list_head cpu_timers[3U] ;
2099 struct pid *tty_old_pgrp ;
2100 int leader ;
2101 struct tty_struct *tty ;
2102 struct autogroup *autogroup ;
2103 cputime_t utime ;
2104 cputime_t stime ;
2105 cputime_t cutime ;
2106 cputime_t cstime ;
2107 cputime_t gtime ;
2108 cputime_t cgtime ;
2109 cputime_t prev_utime ;
2110 cputime_t prev_stime ;
2111 unsigned long nvcsw ;
2112 unsigned long nivcsw ;
2113 unsigned long cnvcsw ;
2114 unsigned long cnivcsw ;
2115 unsigned long min_flt ;
2116 unsigned long maj_flt ;
2117 unsigned long cmin_flt ;
2118 unsigned long cmaj_flt ;
2119 unsigned long inblock ;
2120 unsigned long oublock ;
2121 unsigned long cinblock ;
2122 unsigned long coublock ;
2123 unsigned long maxrss ;
2124 unsigned long cmaxrss ;
2125 struct task_io_accounting ioac ;
2126 unsigned long long sum_sched_runtime ;
2127 struct rlimit rlim[16U] ;
2128 struct pacct_struct pacct ;
2129 struct taskstats *stats ;
2130 unsigned int audit_tty ;
2131 struct tty_audit_buf *tty_audit_buf ;
2132 struct rw_semaphore group_rwsem ;
2133 int oom_adj ;
2134 int oom_score_adj ;
2135 int oom_score_adj_min ;
2136 struct mutex cred_guard_mutex ;
2137};
2138#line 699 "include/linux/sched.h"
2139struct user_struct {
2140 atomic_t __count ;
2141 atomic_t processes ;
2142 atomic_t files ;
2143 atomic_t sigpending ;
2144 atomic_t inotify_watches ;
2145 atomic_t inotify_devs ;
2146 atomic_t fanotify_listeners ;
2147 atomic_long_t epoll_watches ;
2148 unsigned long mq_bytes ;
2149 unsigned long locked_shm ;
2150 struct key *uid_keyring ;
2151 struct key *session_keyring ;
2152 struct hlist_node uidhash_node ;
2153 uid_t uid ;
2154 struct user_namespace *user_ns ;
2155 atomic_long_t locked_vm ;
2156};
2157#line 744
2158struct backing_dev_info;
2159#line 744
2160struct backing_dev_info;
2161#line 745
2162struct reclaim_state;
2163#line 745
2164struct reclaim_state;
2165#line 746 "include/linux/sched.h"
2166struct sched_info {
2167 unsigned long pcount ;
2168 unsigned long long run_delay ;
2169 unsigned long long last_arrival ;
2170 unsigned long long last_queued ;
2171};
2172#line 760 "include/linux/sched.h"
2173struct task_delay_info {
2174 spinlock_t lock ;
2175 unsigned int flags ;
2176 struct timespec blkio_start ;
2177 struct timespec blkio_end ;
2178 u64 blkio_delay ;
2179 u64 swapin_delay ;
2180 u32 blkio_count ;
2181 u32 swapin_count ;
2182 struct timespec freepages_start ;
2183 struct timespec freepages_end ;
2184 u64 freepages_delay ;
2185 u32 freepages_count ;
2186};
2187#line 1069
2188struct io_context;
2189#line 1069
2190struct io_context;
2191#line 1097
2192struct pipe_inode_info;
2193#line 1097
2194struct pipe_inode_info;
2195#line 1099
2196struct rq;
2197#line 1099
2198struct rq;
2199#line 1100 "include/linux/sched.h"
2200struct sched_class {
2201 struct sched_class *next ;
2202 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2203 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2204 void (*yield_task)(struct rq * ) ;
2205 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2206 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2207 struct task_struct *(*pick_next_task)(struct rq * ) ;
2208 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2209 int (*select_task_rq)(struct task_struct * , int , int ) ;
2210 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2211 void (*post_schedule)(struct rq * ) ;
2212 void (*task_waking)(struct task_struct * ) ;
2213 void (*task_woken)(struct rq * , struct task_struct * ) ;
2214 void (*set_cpus_allowed)(struct task_struct * , struct cpumask * ) ;
2215 void (*rq_online)(struct rq * ) ;
2216 void (*rq_offline)(struct rq * ) ;
2217 void (*set_curr_task)(struct rq * ) ;
2218 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2219 void (*task_fork)(struct task_struct * ) ;
2220 void (*switched_from)(struct rq * , struct task_struct * ) ;
2221 void (*switched_to)(struct rq * , struct task_struct * ) ;
2222 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2223 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2224 void (*task_move_group)(struct task_struct * , int ) ;
2225};
2226#line 1165 "include/linux/sched.h"
2227struct load_weight {
2228 unsigned long weight ;
2229 unsigned long inv_weight ;
2230};
2231#line 1170 "include/linux/sched.h"
2232struct sched_statistics {
2233 u64 wait_start ;
2234 u64 wait_max ;
2235 u64 wait_count ;
2236 u64 wait_sum ;
2237 u64 iowait_count ;
2238 u64 iowait_sum ;
2239 u64 sleep_start ;
2240 u64 sleep_max ;
2241 s64 sum_sleep_runtime ;
2242 u64 block_start ;
2243 u64 block_max ;
2244 u64 exec_max ;
2245 u64 slice_max ;
2246 u64 nr_migrations_cold ;
2247 u64 nr_failed_migrations_affine ;
2248 u64 nr_failed_migrations_running ;
2249 u64 nr_failed_migrations_hot ;
2250 u64 nr_forced_migrations ;
2251 u64 nr_wakeups ;
2252 u64 nr_wakeups_sync ;
2253 u64 nr_wakeups_migrate ;
2254 u64 nr_wakeups_local ;
2255 u64 nr_wakeups_remote ;
2256 u64 nr_wakeups_affine ;
2257 u64 nr_wakeups_affine_attempts ;
2258 u64 nr_wakeups_passive ;
2259 u64 nr_wakeups_idle ;
2260};
2261#line 1205 "include/linux/sched.h"
2262struct sched_entity {
2263 struct load_weight load ;
2264 struct rb_node run_node ;
2265 struct list_head group_node ;
2266 unsigned int on_rq ;
2267 u64 exec_start ;
2268 u64 sum_exec_runtime ;
2269 u64 vruntime ;
2270 u64 prev_sum_exec_runtime ;
2271 u64 nr_migrations ;
2272 struct sched_statistics statistics ;
2273 struct sched_entity *parent ;
2274 struct cfs_rq *cfs_rq ;
2275 struct cfs_rq *my_q ;
2276};
2277#line 1231
2278struct rt_rq;
2279#line 1231 "include/linux/sched.h"
2280struct sched_rt_entity {
2281 struct list_head run_list ;
2282 unsigned long timeout ;
2283 unsigned int time_slice ;
2284 int nr_cpus_allowed ;
2285 struct sched_rt_entity *back ;
2286 struct sched_rt_entity *parent ;
2287 struct rt_rq *rt_rq ;
2288 struct rt_rq *my_q ;
2289};
2290#line 1255
2291struct mem_cgroup;
2292#line 1255 "include/linux/sched.h"
2293struct memcg_batch_info {
2294 int do_batch ;
2295 struct mem_cgroup *memcg ;
2296 unsigned long nr_pages ;
2297 unsigned long memsw_nr_pages ;
2298};
2299#line 1616
2300struct files_struct;
2301#line 1616
2302struct css_set;
2303#line 1616
2304struct compat_robust_list_head;
2305#line 1616 "include/linux/sched.h"
2306struct task_struct {
2307 long volatile state ;
2308 void *stack ;
2309 atomic_t usage ;
2310 unsigned int flags ;
2311 unsigned int ptrace ;
2312 struct llist_node wake_entry ;
2313 int on_cpu ;
2314 int on_rq ;
2315 int prio ;
2316 int static_prio ;
2317 int normal_prio ;
2318 unsigned int rt_priority ;
2319 struct sched_class *sched_class ;
2320 struct sched_entity se ;
2321 struct sched_rt_entity rt ;
2322 struct hlist_head preempt_notifiers ;
2323 unsigned char fpu_counter ;
2324 unsigned int policy ;
2325 cpumask_t cpus_allowed ;
2326 struct sched_info sched_info ;
2327 struct list_head tasks ;
2328 struct plist_node pushable_tasks ;
2329 struct mm_struct *mm ;
2330 struct mm_struct *active_mm ;
2331 unsigned char brk_randomized : 1 ;
2332 int exit_state ;
2333 int exit_code ;
2334 int exit_signal ;
2335 int pdeath_signal ;
2336 unsigned int jobctl ;
2337 unsigned int personality ;
2338 unsigned char did_exec : 1 ;
2339 unsigned char in_execve : 1 ;
2340 unsigned char in_iowait : 1 ;
2341 unsigned char sched_reset_on_fork : 1 ;
2342 unsigned char sched_contributes_to_load : 1 ;
2343 unsigned char irq_thread : 1 ;
2344 pid_t pid ;
2345 pid_t tgid ;
2346 unsigned long stack_canary ;
2347 struct task_struct *real_parent ;
2348 struct task_struct *parent ;
2349 struct list_head children ;
2350 struct list_head sibling ;
2351 struct task_struct *group_leader ;
2352 struct list_head ptraced ;
2353 struct list_head ptrace_entry ;
2354 struct pid_link pids[3U] ;
2355 struct list_head thread_group ;
2356 struct completion *vfork_done ;
2357 int *set_child_tid ;
2358 int *clear_child_tid ;
2359 cputime_t utime ;
2360 cputime_t stime ;
2361 cputime_t utimescaled ;
2362 cputime_t stimescaled ;
2363 cputime_t gtime ;
2364 cputime_t prev_utime ;
2365 cputime_t prev_stime ;
2366 unsigned long nvcsw ;
2367 unsigned long nivcsw ;
2368 struct timespec start_time ;
2369 struct timespec real_start_time ;
2370 unsigned long min_flt ;
2371 unsigned long maj_flt ;
2372 struct task_cputime cputime_expires ;
2373 struct list_head cpu_timers[3U] ;
2374 struct cred *real_cred ;
2375 struct cred *cred ;
2376 struct cred *replacement_session_keyring ;
2377 char comm[16U] ;
2378 int link_count ;
2379 int total_link_count ;
2380 struct sysv_sem sysvsem ;
2381 unsigned long last_switch_count ;
2382 struct thread_struct thread ;
2383 struct fs_struct *fs ;
2384 struct files_struct *files ;
2385 struct nsproxy *nsproxy ;
2386 struct signal_struct *signal ;
2387 struct sighand_struct *sighand ;
2388 sigset_t blocked ;
2389 sigset_t real_blocked ;
2390 sigset_t saved_sigmask ;
2391 struct sigpending pending ;
2392 unsigned long sas_ss_sp ;
2393 size_t sas_ss_size ;
2394 int (*notifier)(void * ) ;
2395 void *notifier_data ;
2396 sigset_t *notifier_mask ;
2397 struct audit_context *audit_context ;
2398 uid_t loginuid ;
2399 unsigned int sessionid ;
2400 seccomp_t seccomp ;
2401 u32 parent_exec_id ;
2402 u32 self_exec_id ;
2403 spinlock_t alloc_lock ;
2404 raw_spinlock_t pi_lock ;
2405 struct plist_head pi_waiters ;
2406 struct rt_mutex_waiter *pi_blocked_on ;
2407 struct mutex_waiter *blocked_on ;
2408 unsigned int irq_events ;
2409 unsigned long hardirq_enable_ip ;
2410 unsigned long hardirq_disable_ip ;
2411 unsigned int hardirq_enable_event ;
2412 unsigned int hardirq_disable_event ;
2413 int hardirqs_enabled ;
2414 int hardirq_context ;
2415 unsigned long softirq_disable_ip ;
2416 unsigned long softirq_enable_ip ;
2417 unsigned int softirq_disable_event ;
2418 unsigned int softirq_enable_event ;
2419 int softirqs_enabled ;
2420 int softirq_context ;
2421 u64 curr_chain_key ;
2422 int lockdep_depth ;
2423 unsigned int lockdep_recursion ;
2424 struct held_lock held_locks[48U] ;
2425 gfp_t lockdep_reclaim_gfp ;
2426 void *journal_info ;
2427 struct bio_list *bio_list ;
2428 struct blk_plug *plug ;
2429 struct reclaim_state *reclaim_state ;
2430 struct backing_dev_info *backing_dev_info ;
2431 struct io_context *io_context ;
2432 unsigned long ptrace_message ;
2433 siginfo_t *last_siginfo ;
2434 struct task_io_accounting ioac ;
2435 u64 acct_rss_mem1 ;
2436 u64 acct_vm_mem1 ;
2437 cputime_t acct_timexpd ;
2438 nodemask_t mems_allowed ;
2439 seqcount_t mems_allowed_seq ;
2440 int cpuset_mem_spread_rotor ;
2441 int cpuset_slab_spread_rotor ;
2442 struct css_set *cgroups ;
2443 struct list_head cg_list ;
2444 struct robust_list_head *robust_list ;
2445 struct compat_robust_list_head *compat_robust_list ;
2446 struct list_head pi_state_list ;
2447 struct futex_pi_state *pi_state_cache ;
2448 struct perf_event_context *perf_event_ctxp[2U] ;
2449 struct mutex perf_event_mutex ;
2450 struct list_head perf_event_list ;
2451 struct mempolicy *mempolicy ;
2452 short il_next ;
2453 short pref_node_fork ;
2454 struct rcu_head rcu ;
2455 struct pipe_inode_info *splice_pipe ;
2456 struct task_delay_info *delays ;
2457 int make_it_fail ;
2458 int nr_dirtied ;
2459 int nr_dirtied_pause ;
2460 unsigned long dirty_paused_when ;
2461 int latency_record_count ;
2462 struct latency_record latency_record[32U] ;
2463 unsigned long timer_slack_ns ;
2464 unsigned long default_timer_slack_ns ;
2465 struct list_head *scm_work_list ;
2466 unsigned long trace ;
2467 unsigned long trace_recursion ;
2468 struct memcg_batch_info memcg_batch ;
2469 atomic_t ptrace_bp_refcnt ;
2470};
2471#line 41 "include/asm-generic/sections.h"
2472struct exception_table_entry {
2473 unsigned long insn ;
2474 unsigned long fixup ;
2475};
2476#line 702 "include/linux/interrupt.h"
2477struct usb_ctrlrequest {
2478 __u8 bRequestType ;
2479 __u8 bRequest ;
2480 __le16 wValue ;
2481 __le16 wIndex ;
2482 __le16 wLength ;
2483};
2484#line 355 "include/linux/usb/ch9.h"
2485struct usb_endpoint_descriptor {
2486 __u8 bLength ;
2487 __u8 bDescriptorType ;
2488 __u8 bEndpointAddress ;
2489 __u8 bmAttributes ;
2490 __le16 wMaxPacketSize ;
2491 __u8 bInterval ;
2492 __u8 bRefresh ;
2493 __u8 bSynchAddress ;
2494};
2495#line 594 "include/linux/usb/ch9.h"
2496struct usb_ss_ep_comp_descriptor {
2497 __u8 bLength ;
2498 __u8 bDescriptorType ;
2499 __u8 bMaxBurst ;
2500 __u8 bmAttributes ;
2501 __le16 wBytesPerInterval ;
2502};
2503#line 886
2504enum usb_device_speed {
2505 USB_SPEED_UNKNOWN = 0,
2506 USB_SPEED_LOW = 1,
2507 USB_SPEED_FULL = 2,
2508 USB_SPEED_HIGH = 3,
2509 USB_SPEED_WIRELESS = 4,
2510 USB_SPEED_SUPER = 5
2511} ;
2512#line 920
2513struct usb_ep;
2514#line 920
2515struct usb_ep;
2516#line 921 "include/linux/usb/ch9.h"
2517struct usb_request {
2518 void *buf ;
2519 unsigned int length ;
2520 dma_addr_t dma ;
2521 struct scatterlist *sg ;
2522 unsigned int num_sgs ;
2523 unsigned int num_mapped_sgs ;
2524 unsigned short stream_id ;
2525 unsigned char no_interrupt : 1 ;
2526 unsigned char zero : 1 ;
2527 unsigned char short_not_ok : 1 ;
2528 void (*complete)(struct usb_ep * , struct usb_request * ) ;
2529 void *context ;
2530 struct list_head list ;
2531 int status ;
2532 unsigned int actual ;
2533};
2534#line 112 "include/linux/usb/gadget.h"
2535struct usb_ep_ops {
2536 int (*enable)(struct usb_ep * , struct usb_endpoint_descriptor * ) ;
2537 int (*disable)(struct usb_ep * ) ;
2538 struct usb_request *(*alloc_request)(struct usb_ep * , gfp_t ) ;
2539 void (*free_request)(struct usb_ep * , struct usb_request * ) ;
2540 int (*queue)(struct usb_ep * , struct usb_request * , gfp_t ) ;
2541 int (*dequeue)(struct usb_ep * , struct usb_request * ) ;
2542 int (*set_halt)(struct usb_ep * , int ) ;
2543 int (*set_wedge)(struct usb_ep * ) ;
2544 int (*fifo_status)(struct usb_ep * ) ;
2545 void (*fifo_flush)(struct usb_ep * ) ;
2546};
2547#line 141 "include/linux/usb/gadget.h"
2548struct usb_ep {
2549 void *driver_data ;
2550 char *name ;
2551 struct usb_ep_ops *ops ;
2552 struct list_head ep_list ;
2553 unsigned short maxpacket ;
2554 unsigned short max_streams ;
2555 unsigned char mult : 2 ;
2556 unsigned char maxburst : 5 ;
2557 u8 address ;
2558 struct usb_endpoint_descriptor *desc ;
2559 struct usb_ss_ep_comp_descriptor *comp_desc ;
2560};
2561#line 442 "include/linux/usb/gadget.h"
2562struct usb_dcd_config_params {
2563 __u8 bU1devExitLat ;
2564 __le16 bU2DevExitLat ;
2565};
2566#line 451
2567struct usb_gadget;
2568#line 451
2569struct usb_gadget;
2570#line 452
2571struct usb_gadget_driver;
2572#line 452
2573struct usb_gadget_driver;
2574#line 453 "include/linux/usb/gadget.h"
2575struct usb_gadget_ops {
2576 int (*get_frame)(struct usb_gadget * ) ;
2577 int (*wakeup)(struct usb_gadget * ) ;
2578 int (*set_selfpowered)(struct usb_gadget * , int ) ;
2579 int (*vbus_session)(struct usb_gadget * , int ) ;
2580 int (*vbus_draw)(struct usb_gadget * , unsigned int ) ;
2581 int (*pullup)(struct usb_gadget * , int ) ;
2582 int (*ioctl)(struct usb_gadget * , unsigned int , unsigned long ) ;
2583 void (*get_config_params)(struct usb_dcd_config_params * ) ;
2584 int (*udc_start)(struct usb_gadget * , struct usb_gadget_driver * ) ;
2585 int (*udc_stop)(struct usb_gadget * , struct usb_gadget_driver * ) ;
2586 int (*start)(struct usb_gadget_driver * , int (*)(struct usb_gadget * ) ) ;
2587 int (*stop)(struct usb_gadget_driver * ) ;
2588};
2589#line 480 "include/linux/usb/gadget.h"
2590struct usb_gadget {
2591 struct usb_gadget_ops *ops ;
2592 struct usb_ep *ep0 ;
2593 struct list_head ep_list ;
2594 enum usb_device_speed speed ;
2595 enum usb_device_speed max_speed ;
2596 unsigned char sg_supported : 1 ;
2597 unsigned char is_otg : 1 ;
2598 unsigned char is_a_peripheral : 1 ;
2599 unsigned char b_hnp_enable : 1 ;
2600 unsigned char a_hnp_support : 1 ;
2601 unsigned char a_alt_hnp_support : 1 ;
2602 char *name ;
2603 struct device dev ;
2604};
2605#line 766 "include/linux/usb/gadget.h"
2606struct usb_gadget_driver {
2607 char *function ;
2608 enum usb_device_speed max_speed ;
2609 void (*unbind)(struct usb_gadget * ) ;
2610 int (*setup)(struct usb_gadget * , struct usb_ctrlrequest * ) ;
2611 void (*disconnect)(struct usb_gadget * ) ;
2612 void (*suspend)(struct usb_gadget * ) ;
2613 void (*resume)(struct usb_gadget * ) ;
2614 struct device_driver driver ;
2615};
2616#line 974
2617enum usb_otg_state {
2618 OTG_STATE_UNDEFINED = 0,
2619 OTG_STATE_B_IDLE = 1,
2620 OTG_STATE_B_SRP_INIT = 2,
2621 OTG_STATE_B_PERIPHERAL = 3,
2622 OTG_STATE_B_WAIT_ACON = 4,
2623 OTG_STATE_B_HOST = 5,
2624 OTG_STATE_A_IDLE = 6,
2625 OTG_STATE_A_WAIT_VRISE = 7,
2626 OTG_STATE_A_WAIT_BCON = 8,
2627 OTG_STATE_A_HOST = 9,
2628 OTG_STATE_A_SUSPEND = 10,
2629 OTG_STATE_A_PERIPHERAL = 11,
2630 OTG_STATE_A_WAIT_VFALL = 12,
2631 OTG_STATE_A_VBUS_ERR = 13
2632} ;
2633#line 991
2634enum usb_phy_events {
2635 USB_EVENT_NONE = 0,
2636 USB_EVENT_VBUS = 1,
2637 USB_EVENT_ID = 2,
2638 USB_EVENT_CHARGER = 3,
2639 USB_EVENT_ENUMERATED = 4
2640} ;
2641#line 999
2642struct usb_phy;
2643#line 999
2644struct usb_phy;
2645#line 1000 "include/linux/usb/gadget.h"
2646struct usb_phy_io_ops {
2647 int (*read)(struct usb_phy * , u32 ) ;
2648 int (*write)(struct usb_phy * , u32 , u32 ) ;
2649};
2650#line 55 "include/linux/usb/otg.h"
2651struct usb_bus;
2652#line 55 "include/linux/usb/otg.h"
2653struct usb_otg {
2654 u8 default_a ;
2655 struct usb_phy *phy ;
2656 struct usb_bus *host ;
2657 struct usb_gadget *gadget ;
2658 int (*set_host)(struct usb_otg * , struct usb_bus * ) ;
2659 int (*set_peripheral)(struct usb_otg * , struct usb_gadget * ) ;
2660 int (*set_vbus)(struct usb_otg * , bool ) ;
2661 int (*start_srp)(struct usb_otg * ) ;
2662 int (*start_hnp)(struct usb_otg * ) ;
2663};
2664#line 79 "include/linux/usb/otg.h"
2665struct usb_phy {
2666 struct device *dev ;
2667 char *label ;
2668 unsigned int flags ;
2669 enum usb_otg_state state ;
2670 enum usb_phy_events last_event ;
2671 struct usb_otg *otg ;
2672 struct device *io_dev ;
2673 struct usb_phy_io_ops *io_ops ;
2674 void *io_priv ;
2675 struct atomic_notifier_head notifier ;
2676 u16 port_status ;
2677 u16 port_change ;
2678 int (*init)(struct usb_phy * ) ;
2679 void (*shutdown)(struct usb_phy * ) ;
2680 int (*set_power)(struct usb_phy * , unsigned int ) ;
2681 int (*set_suspend)(struct usb_phy * , int ) ;
2682};
2683#line 278
2684struct mfd_cell;
2685#line 278
2686struct mfd_cell;
2687#line 279 "include/linux/usb/otg.h"
2688struct platform_device {
2689 char *name ;
2690 int id ;
2691 struct device dev ;
2692 u32 num_resources ;
2693 struct resource *resource ;
2694 struct platform_device_id *id_entry ;
2695 struct mfd_cell *mfd_cell ;
2696 struct pdev_archdata archdata ;
2697};
2698#line 272 "include/linux/platform_device.h"
2699struct clk;
2700#line 272
2701struct clk;
2702#line 297 "include/linux/clk.h"
2703struct mv_usb_addon_irq {
2704 unsigned int irq ;
2705 int (*poll)(void) ;
2706};
2707#line 35 "include/linux/platform_data/mv_usb.h"
2708struct mv_usb_platform_data {
2709 unsigned int clknum ;
2710 char **clkname ;
2711 struct mv_usb_addon_irq *id ;
2712 struct mv_usb_addon_irq *vbus ;
2713 unsigned int mode ;
2714 unsigned char disable_otg_clock_gating : 1 ;
2715 unsigned char otg_force_a_bus_req : 1 ;
2716 int (*phy_init)(void * ) ;
2717 void (*phy_deinit)(void * ) ;
2718 int (*set_vbus)(unsigned int ) ;
2719 int (*private_init)(void * , void * ) ;
2720};
2721#line 9 "include/linux/unaligned/generic.h"
2722struct mv_cap_regs {
2723 u32 caplength_hciversion ;
2724 u32 hcsparams ;
2725 u32 hccparams ;
2726 u32 reserved[5U] ;
2727 u32 dciversion ;
2728 u32 dccparams ;
2729};
2730#line 143 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2731struct mv_op_regs {
2732 u32 usbcmd ;
2733 u32 usbsts ;
2734 u32 usbintr ;
2735 u32 frindex ;
2736 u32 reserved1[1U] ;
2737 u32 deviceaddr ;
2738 u32 eplistaddr ;
2739 u32 ttctrl ;
2740 u32 burstsize ;
2741 u32 txfilltuning ;
2742 u32 reserved[4U] ;
2743 u32 epnak ;
2744 u32 epnaken ;
2745 u32 configflag ;
2746 u32 portsc[8U] ;
2747 u32 otgsc ;
2748 u32 usbmode ;
2749 u32 epsetupstat ;
2750 u32 epprime ;
2751 u32 epflush ;
2752 u32 epstatus ;
2753 u32 epcomplete ;
2754 u32 epctrlx[16U] ;
2755 u32 mcr ;
2756 u32 isr ;
2757 u32 ier ;
2758};
2759#line 172
2760struct mv_dqh;
2761#line 172
2762struct mv_ep;
2763#line 172
2764struct mv_dtd;
2765#line 172
2766struct mv_req;
2767#line 172 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2768struct mv_udc {
2769 struct usb_gadget gadget ;
2770 struct usb_gadget_driver *driver ;
2771 spinlock_t lock ;
2772 struct completion *done ;
2773 struct platform_device *dev ;
2774 int irq ;
2775 struct mv_cap_regs *cap_regs ;
2776 struct mv_op_regs *op_regs ;
2777 void *phy_regs ;
2778 unsigned int max_eps ;
2779 struct mv_dqh *ep_dqh ;
2780 size_t ep_dqh_size ;
2781 dma_addr_t ep_dqh_dma ;
2782 struct dma_pool *dtd_pool ;
2783 struct mv_ep *eps ;
2784 struct mv_dtd *dtd_head ;
2785 struct mv_dtd *dtd_tail ;
2786 unsigned int dtd_entries ;
2787 struct mv_req *status_req ;
2788 struct usb_ctrlrequest local_setup_buff ;
2789 unsigned int resume_state ;
2790 unsigned int usb_state ;
2791 unsigned int ep0_state ;
2792 unsigned int ep0_dir ;
2793 unsigned int dev_addr ;
2794 unsigned int test_mode ;
2795 int errors ;
2796 unsigned char softconnect : 1 ;
2797 unsigned char vbus_active : 1 ;
2798 unsigned char remote_wakeup : 1 ;
2799 unsigned char softconnected : 1 ;
2800 unsigned char force_fs : 1 ;
2801 unsigned char clock_gating : 1 ;
2802 unsigned char active : 1 ;
2803 unsigned char stopped : 1 ;
2804 struct work_struct vbus_work ;
2805 struct workqueue_struct *qwork ;
2806 struct usb_phy *transceiver ;
2807 struct mv_usb_platform_data *pdata ;
2808 unsigned int clknum ;
2809 struct clk *clk[0U] ;
2810};
2811#line 228 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2812struct mv_ep {
2813 struct usb_ep ep ;
2814 struct mv_udc *udc ;
2815 struct list_head queue ;
2816 struct mv_dqh *dqh ;
2817 struct usb_endpoint_descriptor *desc ;
2818 u32 direction ;
2819 char name[14U] ;
2820 unsigned char stopped : 1 ;
2821 unsigned char wedge : 1 ;
2822 unsigned char ep_type : 2 ;
2823 unsigned char ep_num ;
2824};
2825#line 243 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2826struct mv_req {
2827 struct usb_request req ;
2828 struct mv_dtd *dtd ;
2829 struct mv_dtd *head ;
2830 struct mv_dtd *tail ;
2831 struct mv_ep *ep ;
2832 struct list_head queue ;
2833 unsigned int test_mode ;
2834 unsigned int dtd_count ;
2835 unsigned char mapped : 1 ;
2836};
2837#line 254 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2838struct mv_dqh {
2839 u32 max_packet_length ;
2840 u32 curr_dtd_ptr ;
2841 u32 next_dtd_ptr ;
2842 u32 size_ioc_int_sts ;
2843 u32 buff_ptr0 ;
2844 u32 buff_ptr1 ;
2845 u32 buff_ptr2 ;
2846 u32 buff_ptr3 ;
2847 u32 buff_ptr4 ;
2848 u32 reserved1 ;
2849 u8 setup_buffer[8U] ;
2850 u32 reserved2[4U] ;
2851};
2852#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/gadget/mv_udc.h"
2853struct mv_dtd {
2854 u32 dtd_next ;
2855 u32 size_ioc_sts ;
2856 u32 buff_ptr0 ;
2857 u32 buff_ptr1 ;
2858 u32 buff_ptr2 ;
2859 u32 buff_ptr3 ;
2860 u32 buff_ptr4 ;
2861 u32 scratch_ptr ;
2862 dma_addr_t td_dma ;
2863 struct mv_dtd *next_dtd_virt ;
2864};
2865#line 1 "<compiler builtins>"
2866
2867#line 1
2868long __builtin_expect(long , long ) ;
2869#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
2870void ldv_spin_lock(void) ;
2871#line 3
2872void ldv_spin_unlock(void) ;
2873#line 4
2874int ldv_spin_trylock(void) ;
2875#line 50 "include/linux/dynamic_debug.h"
2876extern int __dynamic_dev_dbg(struct _ddebug * , struct device * , char *
2877 , ...) ;
2878#line 323 "include/linux/kernel.h"
2879extern int snprintf(char * , size_t , char * , ...) ;
2880#line 24 "include/linux/list.h"
2881__inline static void INIT_LIST_HEAD(struct list_head *list )
2882{ unsigned long __cil_tmp2 ;
2883 unsigned long __cil_tmp3 ;
2884
2885 {
2886#line 26
2887 *((struct list_head **)list) = list;
2888#line 27
2889 __cil_tmp2 = (unsigned long )list;
2890#line 27
2891 __cil_tmp3 = __cil_tmp2 + 8;
2892#line 27
2893 *((struct list_head **)__cil_tmp3) = list;
2894#line 28
2895 return;
2896}
2897}
2898#line 47
2899extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
2900#line 74 "include/linux/list.h"
2901__inline static void list_add_tail(struct list_head *new , struct list_head *head )
2902{ unsigned long __cil_tmp3 ;
2903 unsigned long __cil_tmp4 ;
2904 struct list_head *__cil_tmp5 ;
2905
2906 {
2907 {
2908#line 76
2909 __cil_tmp3 = (unsigned long )head;
2910#line 76
2911 __cil_tmp4 = __cil_tmp3 + 8;
2912#line 76
2913 __cil_tmp5 = *((struct list_head **)__cil_tmp4);
2914#line 76
2915 __list_add(new, __cil_tmp5, head);
2916 }
2917#line 77
2918 return;
2919}
2920}
2921#line 111
2922extern void __list_del_entry(struct list_head * ) ;
2923#line 142 "include/linux/list.h"
2924__inline static void list_del_init(struct list_head *entry )
2925{
2926
2927 {
2928 {
2929#line 144
2930 __list_del_entry(entry);
2931#line 145
2932 INIT_LIST_HEAD(entry);
2933 }
2934#line 146
2935 return;
2936}
2937}
2938#line 186 "include/linux/list.h"
2939__inline static int list_empty(struct list_head *head )
2940{ unsigned long __cil_tmp2 ;
2941 struct list_head * __cil_tmp3 ;
2942 struct list_head *__cil_tmp4 ;
2943 unsigned long __cil_tmp5 ;
2944
2945 {
2946 {
2947#line 188
2948 __cil_tmp2 = (unsigned long )head;
2949#line 188
2950 __cil_tmp3 = *((struct list_head * *)head);
2951#line 188
2952 __cil_tmp4 = (struct list_head *)__cil_tmp3;
2953#line 188
2954 __cil_tmp5 = (unsigned long )__cil_tmp4;
2955#line 188
2956 return (__cil_tmp5 == __cil_tmp2);
2957 }
2958}
2959}
2960#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_64_types.h"
2961extern unsigned long __phys_addr(unsigned long ) ;
2962#line 356 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
2963extern struct pv_irq_ops pv_irq_ops ;
2964#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2965extern void *__memcpy(void * , void * , size_t ) ;
2966#line 27 "include/linux/string.h"
2967extern char *strncpy(char * , char * , __kernel_size_t ) ;
2968#line 70 "include/asm-generic/bug.h"
2969extern void warn_slowpath_null(char * , int ) ;
2970#line 861 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
2971__inline static unsigned long arch_local_save_flags(void)
2972{ unsigned long __ret ;
2973 unsigned long __edi ;
2974 unsigned long __esi ;
2975 unsigned long __edx ;
2976 unsigned long __ecx ;
2977 unsigned long __eax ;
2978 long tmp ;
2979 void *__cil_tmp8 ;
2980 unsigned long __cil_tmp9 ;
2981 struct pv_irq_ops *__cil_tmp10 ;
2982 void *__cil_tmp11 ;
2983 unsigned long __cil_tmp12 ;
2984 int __cil_tmp13 ;
2985 long __cil_tmp14 ;
2986 struct pv_irq_ops *__cil_tmp15 ;
2987
2988 {
2989 {
2990#line 863
2991 __edi = __edi;
2992#line 863
2993 __esi = __esi;
2994#line 863
2995 __edx = __edx;
2996#line 863
2997 __ecx = __ecx;
2998#line 863
2999 __eax = __eax;
3000#line 863
3001 __cil_tmp8 = (void *)0;
3002#line 863
3003 __cil_tmp9 = (unsigned long )__cil_tmp8;
3004#line 863
3005 __cil_tmp10 = & pv_irq_ops;
3006#line 863
3007 __cil_tmp11 = *((void **)__cil_tmp10);
3008#line 863
3009 __cil_tmp12 = (unsigned long )__cil_tmp11;
3010#line 863
3011 __cil_tmp13 = __cil_tmp12 == __cil_tmp9;
3012#line 863
3013 __cil_tmp14 = (long )__cil_tmp13;
3014#line 863
3015 tmp = __builtin_expect(__cil_tmp14, 0L);
3016 }
3017#line 863
3018 if (tmp != 0L) {
3019#line 863
3020 ldv_4790: ;
3021#line 863
3022 goto ldv_4790;
3023 } else {
3024
3025 }
3026#line 863
3027 __cil_tmp15 = & pv_irq_ops;
3028#line 863
3029#line 863
3030 __ret = __eax;
3031#line 863
3032 return (__ret);
3033}
3034}
3035#line 27 "include/linux/err.h"
3036__inline static long PTR_ERR(void *ptr )
3037{
3038
3039 {
3040#line 29
3041 return ((long )ptr);
3042}
3043}
3044#line 32 "include/linux/err.h"
3045__inline static long IS_ERR(void *ptr )
3046{ long tmp ;
3047 unsigned long __cil_tmp3 ;
3048 int __cil_tmp4 ;
3049 long __cil_tmp5 ;
3050
3051 {
3052 {
3053#line 34
3054 __cil_tmp3 = (unsigned long )ptr;
3055#line 34
3056 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
3057#line 34
3058 __cil_tmp5 = (long )__cil_tmp4;
3059#line 34
3060 tmp = __builtin_expect(__cil_tmp5, 0L);
3061 }
3062#line 34
3063 return (tmp);
3064}
3065}
3066#line 155 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/irqflags.h"
3067__inline static int arch_irqs_disabled_flags(unsigned long flags )
3068{ unsigned long __cil_tmp2 ;
3069
3070 {
3071 {
3072#line 157
3073 __cil_tmp2 = flags & 512UL;
3074#line 157
3075 return (__cil_tmp2 == 0UL);
3076 }
3077}
3078}
3079#line 261 "include/linux/lockdep.h"
3080extern void lockdep_init_map(struct lockdep_map * , char * , struct lock_class_key * ,
3081 int ) ;
3082#line 93 "include/linux/spinlock.h"
3083extern void __raw_spin_lock_init(raw_spinlock_t * , char * , struct lock_class_key * ) ;
3084#line 22 "include/linux/spinlock_api_smp.h"
3085extern void _raw_spin_lock(raw_spinlock_t * ) ;
3086#line 29
3087extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
3088#line 39
3089extern void _raw_spin_unlock(raw_spinlock_t * ) ;
3090#line 41
3091extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
3092#line 43
3093extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ;
3094#line 272 "include/linux/spinlock.h"
3095__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
3096{
3097
3098 {
3099#line 274
3100 return ((struct raw_spinlock *)lock);
3101}
3102}
3103#line 283 "include/linux/spinlock.h"
3104__inline static void ldv_spin_lock_1(spinlock_t *lock )
3105{ struct raw_spinlock *__cil_tmp2 ;
3106
3107 {
3108 {
3109#line 285
3110 __cil_tmp2 = (struct raw_spinlock *)lock;
3111#line 285
3112 _raw_spin_lock(__cil_tmp2);
3113 }
3114#line 286
3115 return;
3116}
3117}
3118#line 283
3119__inline static void spin_lock(spinlock_t *lock ) ;
3120#line 308 "include/linux/spinlock.h"
3121__inline static void ldv_spin_lock_irq_4(spinlock_t *lock )
3122{ struct raw_spinlock *__cil_tmp2 ;
3123
3124 {
3125 {
3126#line 310
3127 __cil_tmp2 = (struct raw_spinlock *)lock;
3128#line 310
3129 _raw_spin_lock_irq(__cil_tmp2);
3130 }
3131#line 311
3132 return;
3133}
3134}
3135#line 308
3136__inline static void spin_lock_irq(spinlock_t *lock ) ;
3137#line 323 "include/linux/spinlock.h"
3138__inline static void ldv_spin_unlock_5(spinlock_t *lock )
3139{ struct raw_spinlock *__cil_tmp2 ;
3140
3141 {
3142 {
3143#line 325
3144 __cil_tmp2 = (struct raw_spinlock *)lock;
3145#line 325
3146 _raw_spin_unlock(__cil_tmp2);
3147 }
3148#line 326
3149 return;
3150}
3151}
3152#line 323
3153__inline static void spin_unlock(spinlock_t *lock ) ;
3154#line 341 "include/linux/spinlock.h"
3155__inline static void ldv_spin_unlock_irq_7(spinlock_t *lock )
3156{ struct raw_spinlock *__cil_tmp2 ;
3157
3158 {
3159 {
3160#line 343
3161 __cil_tmp2 = (struct raw_spinlock *)lock;
3162#line 343
3163 _raw_spin_unlock_irq(__cil_tmp2);
3164 }
3165#line 344
3166 return;
3167}
3168}
3169#line 341
3170__inline static void spin_unlock_irq(spinlock_t *lock ) ;
3171#line 350 "include/linux/spinlock.h"
3172__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags )
3173{ struct raw_spinlock *__cil_tmp5 ;
3174
3175 {
3176 {
3177#line 352
3178 __cil_tmp5 = (struct raw_spinlock *)lock;
3179#line 352
3180 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
3181 }
3182#line 353
3183 return;
3184}
3185}
3186#line 350
3187__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
3188#line 91 "include/linux/completion.h"
3189extern void complete(struct completion * ) ;
3190#line 163 "include/linux/ioport.h"
3191__inline static resource_size_t resource_size(struct resource *res )
3192{ resource_size_t __cil_tmp2 ;
3193 unsigned long long __cil_tmp3 ;
3194 unsigned long __cil_tmp4 ;
3195 unsigned long __cil_tmp5 ;
3196 resource_size_t __cil_tmp6 ;
3197 unsigned long long __cil_tmp7 ;
3198 unsigned long long __cil_tmp8 ;
3199
3200 {
3201 {
3202#line 165
3203 __cil_tmp2 = *((resource_size_t *)res);
3204#line 165
3205 __cil_tmp3 = (unsigned long long )__cil_tmp2;
3206#line 165
3207 __cil_tmp4 = (unsigned long )res;
3208#line 165
3209 __cil_tmp5 = __cil_tmp4 + 8;
3210#line 165
3211 __cil_tmp6 = *((resource_size_t *)__cil_tmp5);
3212#line 165
3213 __cil_tmp7 = (unsigned long long )__cil_tmp6;
3214#line 165
3215 __cil_tmp8 = __cil_tmp7 - __cil_tmp3;
3216#line 165
3217 return (__cil_tmp8 + 1ULL);
3218 }
3219}
3220}
3221#line 156 "include/linux/workqueue.h"
3222extern void __init_work(struct work_struct * , int ) ;
3223#line 304
3224extern struct workqueue_struct *__alloc_workqueue_key(char * , unsigned int ,
3225 int , struct lock_class_key * ,
3226 char * , ...) ;
3227#line 368
3228extern int queue_work(struct workqueue_struct * , struct work_struct * ) ;
3229#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3230__inline static unsigned int readl(void volatile *addr )
3231{ unsigned int ret ;
3232 unsigned int volatile *__cil_tmp3 ;
3233
3234 {
3235#line 55
3236 __cil_tmp3 = (unsigned int volatile *)addr;
3237#line 55
3238 __asm__ volatile ("movl %1,%0": "=r" (ret): "m" (*__cil_tmp3): "memory");
3239#line 55
3240 return (ret);
3241}
3242}
3243#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3244__inline static void writel(unsigned int val , void volatile *addr )
3245{ unsigned int volatile *__cil_tmp3 ;
3246
3247 {
3248#line 63
3249 __cil_tmp3 = (unsigned int volatile *)addr;
3250#line 63
3251 __asm__ volatile ("movl %0,%1": : "r" (val), "m" (*__cil_tmp3): "memory");
3252#line 64
3253 return;
3254}
3255}
3256#line 174
3257extern void *ioremap_nocache(resource_size_t , unsigned long ) ;
3258#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3259__inline static void *ioremap(resource_size_t offset , unsigned long size )
3260{ void *tmp ;
3261
3262 {
3263 {
3264#line 184
3265 tmp = ioremap_nocache(offset, size);
3266 }
3267#line 184
3268 return (tmp);
3269}
3270}
3271#line 187
3272extern void iounmap(void volatile * ) ;
3273#line 161 "include/linux/slab.h"
3274extern void kfree(void * ) ;
3275#line 220 "include/linux/slub_def.h"
3276extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
3277#line 223
3278void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3279#line 353 "include/linux/slab.h"
3280__inline static void *kzalloc(size_t size , gfp_t flags ) ;
3281#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
3282extern void *__VERIFIER_nondet_pointer(void) ;
3283#line 11
3284void ldv_check_alloc_flags(gfp_t flags ) ;
3285#line 12
3286void ldv_check_alloc_nonatomic(void) ;
3287#line 14
3288struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3289#line 695 "include/linux/device.h"
3290extern int dev_set_name(struct device * , char * , ...) ;
3291#line 778
3292extern int device_register(struct device * ) ;
3293#line 779
3294extern void device_unregister(struct device * ) ;
3295#line 892
3296extern int dev_err(struct device * , char * , ...) ;
3297#line 898
3298extern int _dev_info(struct device * , char * , ...) ;
3299#line 17 "include/asm-generic/scatterlist.h"
3300extern struct dma_pool *dma_pool_create(char * , struct device * , size_t ,
3301 size_t , size_t ) ;
3302#line 20 "include/linux/dmapool.h"
3303extern void dma_pool_destroy(struct dma_pool * ) ;
3304#line 22
3305extern void *dma_pool_alloc(struct dma_pool * , gfp_t , dma_addr_t * ) ;
3306#line 26
3307void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
3308 dma_addr_t *ldv_func_arg3 ) ;
3309#line 29
3310extern void dma_pool_free(struct dma_pool * , void * , dma_addr_t ) ;
3311#line 60 "include/linux/dma-mapping.h"
3312__inline static int valid_dma_direction(int dma_direction )
3313{ int tmp ;
3314
3315 {
3316#line 62
3317 if (dma_direction == 0) {
3318#line 62
3319 tmp = 1;
3320 } else
3321#line 62
3322 if (dma_direction == 1) {
3323#line 62
3324 tmp = 1;
3325 } else
3326#line 62
3327 if (dma_direction == 2) {
3328#line 62
3329 tmp = 1;
3330 } else {
3331#line 62
3332 tmp = 0;
3333 }
3334#line 62
3335 return (tmp);
3336}
3337}
3338#line 67 "include/linux/dma-mapping.h"
3339__inline static int is_device_dma_capable(struct device *dev )
3340{ int tmp ;
3341 u64 *__cil_tmp3 ;
3342 unsigned long __cil_tmp4 ;
3343 unsigned long __cil_tmp5 ;
3344 unsigned long __cil_tmp6 ;
3345 u64 *__cil_tmp7 ;
3346 unsigned long __cil_tmp8 ;
3347 unsigned long __cil_tmp9 ;
3348 unsigned long __cil_tmp10 ;
3349 u64 *__cil_tmp11 ;
3350 u64 __cil_tmp12 ;
3351
3352 {
3353 {
3354#line 69
3355 __cil_tmp3 = (u64 *)0;
3356#line 69
3357 __cil_tmp4 = (unsigned long )__cil_tmp3;
3358#line 69
3359 __cil_tmp5 = (unsigned long )dev;
3360#line 69
3361 __cil_tmp6 = __cil_tmp5 + 920;
3362#line 69
3363 __cil_tmp7 = *((u64 **)__cil_tmp6);
3364#line 69
3365 __cil_tmp8 = (unsigned long )__cil_tmp7;
3366#line 69
3367 if (__cil_tmp8 != __cil_tmp4) {
3368 {
3369#line 69
3370 __cil_tmp9 = (unsigned long )dev;
3371#line 69
3372 __cil_tmp10 = __cil_tmp9 + 920;
3373#line 69
3374 __cil_tmp11 = *((u64 **)__cil_tmp10);
3375#line 69
3376 __cil_tmp12 = *__cil_tmp11;
3377#line 69
3378 if (__cil_tmp12 != 0ULL) {
3379#line 69
3380 tmp = 1;
3381 } else {
3382#line 69
3383 tmp = 0;
3384 }
3385 }
3386 } else {
3387#line 69
3388 tmp = 0;
3389 }
3390 }
3391#line 69
3392 return (tmp);
3393}
3394}
3395#line 131 "include/linux/kmemcheck.h"
3396__inline static void kmemcheck_mark_initialized(void *address , unsigned int n )
3397{
3398
3399 {
3400#line 133
3401 return;
3402}
3403}
3404#line 37 "include/linux/dma-debug.h"
3405extern void debug_dma_map_page(struct device * , struct page * , size_t , size_t ,
3406 int , dma_addr_t , bool ) ;
3407#line 42
3408extern void debug_dma_unmap_page(struct device * , dma_addr_t , size_t , int ,
3409 bool ) ;
3410#line 51
3411extern void debug_dma_alloc_coherent(struct device * , size_t , dma_addr_t , void * ) ;
3412#line 54
3413extern void debug_dma_free_coherent(struct device * , size_t , void * , dma_addr_t ) ;
3414#line 57
3415extern void debug_dma_sync_single_for_cpu(struct device * , dma_addr_t , size_t ,
3416 int ) ;
3417#line 61
3418extern void debug_dma_sync_single_for_device(struct device * , dma_addr_t , size_t ,
3419 int ) ;
3420#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
3421extern struct device x86_dma_fallback_dev ;
3422#line 29
3423extern struct dma_map_ops *dma_ops ;
3424#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
3425__inline static struct dma_map_ops *get_dma_ops(struct device *dev )
3426{ long tmp ;
3427 struct device *__cil_tmp3 ;
3428 unsigned long __cil_tmp4 ;
3429 unsigned long __cil_tmp5 ;
3430 int __cil_tmp6 ;
3431 long __cil_tmp7 ;
3432 struct dma_map_ops *__cil_tmp8 ;
3433 unsigned long __cil_tmp9 ;
3434 unsigned long __cil_tmp10 ;
3435 unsigned long __cil_tmp11 ;
3436 unsigned long __cil_tmp12 ;
3437 struct dma_map_ops *__cil_tmp13 ;
3438 unsigned long __cil_tmp14 ;
3439 unsigned long __cil_tmp15 ;
3440 unsigned long __cil_tmp16 ;
3441 unsigned long __cil_tmp17 ;
3442
3443 {
3444 {
3445#line 36
3446 __cil_tmp3 = (struct device *)0;
3447#line 36
3448 __cil_tmp4 = (unsigned long )__cil_tmp3;
3449#line 36
3450 __cil_tmp5 = (unsigned long )dev;
3451#line 36
3452 __cil_tmp6 = __cil_tmp5 == __cil_tmp4;
3453#line 36
3454 __cil_tmp7 = (long )__cil_tmp6;
3455#line 36
3456 tmp = __builtin_expect(__cil_tmp7, 0L);
3457 }
3458#line 36
3459 if (tmp != 0L) {
3460#line 37
3461 return (dma_ops);
3462 } else {
3463 {
3464#line 36
3465 __cil_tmp8 = (struct dma_map_ops *)0;
3466#line 36
3467 __cil_tmp9 = (unsigned long )__cil_tmp8;
3468#line 36
3469 __cil_tmp10 = 968 + 8;
3470#line 36
3471 __cil_tmp11 = (unsigned long )dev;
3472#line 36
3473 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
3474#line 36
3475 __cil_tmp13 = *((struct dma_map_ops **)__cil_tmp12);
3476#line 36
3477 __cil_tmp14 = (unsigned long )__cil_tmp13;
3478#line 36
3479 if (__cil_tmp14 == __cil_tmp9) {
3480#line 37
3481 return (dma_ops);
3482 } else {
3483 {
3484#line 39
3485 __cil_tmp15 = 968 + 8;
3486#line 39
3487 __cil_tmp16 = (unsigned long )dev;
3488#line 39
3489 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
3490#line 39
3491 return (*((struct dma_map_ops **)__cil_tmp17));
3492 }
3493 }
3494 }
3495 }
3496}
3497}
3498#line 10 "include/asm-generic/dma-mapping-common.h"
3499__inline static dma_addr_t dma_map_single_attrs(struct device *dev , void *ptr , size_t size ,
3500 enum dma_data_direction dir , struct dma_attrs *attrs )
3501{ struct dma_map_ops *ops ;
3502 struct dma_map_ops *tmp ;
3503 dma_addr_t addr ;
3504 int tmp___0 ;
3505 long tmp___1 ;
3506 unsigned long tmp___2 ;
3507 unsigned long tmp___3 ;
3508 unsigned int __cil_tmp13 ;
3509 int __cil_tmp14 ;
3510 int __cil_tmp15 ;
3511 long __cil_tmp16 ;
3512 unsigned long __cil_tmp17 ;
3513 unsigned long __cil_tmp18 ;
3514 unsigned long __cil_tmp19 ;
3515 dma_addr_t (*__cil_tmp20)(struct device * , struct page * , unsigned long , size_t ,
3516 enum dma_data_direction , struct dma_attrs * ) ;
3517 unsigned long __cil_tmp21 ;
3518 unsigned long __cil_tmp22 ;
3519 struct page *__cil_tmp23 ;
3520 unsigned long __cil_tmp24 ;
3521 unsigned long __cil_tmp25 ;
3522 unsigned long __cil_tmp26 ;
3523 unsigned long __cil_tmp27 ;
3524 unsigned long __cil_tmp28 ;
3525 struct page *__cil_tmp29 ;
3526 unsigned long __cil_tmp30 ;
3527 unsigned long __cil_tmp31 ;
3528 int __cil_tmp32 ;
3529 bool __cil_tmp33 ;
3530
3531 {
3532 {
3533#line 15
3534 tmp = get_dma_ops(dev);
3535#line 15
3536 ops = tmp;
3537#line 18
3538 __cil_tmp13 = (unsigned int )size;
3539#line 18
3540 kmemcheck_mark_initialized(ptr, __cil_tmp13);
3541#line 19
3542 __cil_tmp14 = (int )dir;
3543#line 19
3544 tmp___0 = valid_dma_direction(__cil_tmp14);
3545#line 19
3546 __cil_tmp15 = tmp___0 == 0;
3547#line 19
3548 __cil_tmp16 = (long )__cil_tmp15;
3549#line 19
3550 tmp___1 = __builtin_expect(__cil_tmp16, 0L);
3551 }
3552#line 19
3553 if (tmp___1 != 0L) {
3554#line 19
3555 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
3556 "i" (19), "i" (12UL));
3557 ldv_19351: ;
3558#line 19
3559 goto ldv_19351;
3560 } else {
3561
3562 }
3563 {
3564#line 20
3565 __cil_tmp17 = (unsigned long )ptr;
3566#line 20
3567 tmp___2 = __phys_addr(__cil_tmp17);
3568#line 20
3569 __cil_tmp18 = (unsigned long )ops;
3570#line 20
3571 __cil_tmp19 = __cil_tmp18 + 24;
3572#line 20
3573 __cil_tmp20 = *((dma_addr_t (**)(struct device * , struct page * , unsigned long ,
3574 size_t , enum dma_data_direction , struct dma_attrs * ))__cil_tmp19);
3575#line 20
3576 __cil_tmp21 = tmp___2 >> 12;
3577#line 20
3578 __cil_tmp22 = 0xffffea0000000000UL + __cil_tmp21;
3579#line 20
3580 __cil_tmp23 = (struct page *)__cil_tmp22;
3581#line 20
3582 __cil_tmp24 = (unsigned long )ptr;
3583#line 20
3584 __cil_tmp25 = __cil_tmp24 & 4095UL;
3585#line 20
3586 addr = (*__cil_tmp20)(dev, __cil_tmp23, __cil_tmp25, size, dir, attrs);
3587#line 23
3588 __cil_tmp26 = (unsigned long )ptr;
3589#line 23
3590 tmp___3 = __phys_addr(__cil_tmp26);
3591#line 23
3592 __cil_tmp27 = tmp___3 >> 12;
3593#line 23
3594 __cil_tmp28 = 0xffffea0000000000UL + __cil_tmp27;
3595#line 23
3596 __cil_tmp29 = (struct page *)__cil_tmp28;
3597#line 23
3598 __cil_tmp30 = (unsigned long )ptr;
3599#line 23
3600 __cil_tmp31 = __cil_tmp30 & 4095UL;
3601#line 23
3602 __cil_tmp32 = (int )dir;
3603#line 23
3604 __cil_tmp33 = (bool )1;
3605#line 23
3606 debug_dma_map_page(dev, __cil_tmp29, __cil_tmp31, size, __cil_tmp32, addr, __cil_tmp33);
3607 }
3608#line 26
3609 return (addr);
3610}
3611}
3612#line 29 "include/asm-generic/dma-mapping-common.h"
3613__inline static void dma_unmap_single_attrs(struct device *dev , dma_addr_t addr ,
3614 size_t size , enum dma_data_direction dir ,
3615 struct dma_attrs *attrs )
3616{ struct dma_map_ops *ops ;
3617 struct dma_map_ops *tmp ;
3618 int tmp___0 ;
3619 long tmp___1 ;
3620 int __cil_tmp10 ;
3621 int __cil_tmp11 ;
3622 long __cil_tmp12 ;
3623 void (*__cil_tmp13)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3624 struct dma_attrs * ) ;
3625 unsigned long __cil_tmp14 ;
3626 unsigned long __cil_tmp15 ;
3627 unsigned long __cil_tmp16 ;
3628 void (*__cil_tmp17)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3629 struct dma_attrs * ) ;
3630 unsigned long __cil_tmp18 ;
3631 unsigned long __cil_tmp19 ;
3632 unsigned long __cil_tmp20 ;
3633 void (*__cil_tmp21)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3634 struct dma_attrs * ) ;
3635 int __cil_tmp22 ;
3636 bool __cil_tmp23 ;
3637
3638 {
3639 {
3640#line 34
3641 tmp = get_dma_ops(dev);
3642#line 34
3643 ops = tmp;
3644#line 36
3645 __cil_tmp10 = (int )dir;
3646#line 36
3647 tmp___0 = valid_dma_direction(__cil_tmp10);
3648#line 36
3649 __cil_tmp11 = tmp___0 == 0;
3650#line 36
3651 __cil_tmp12 = (long )__cil_tmp11;
3652#line 36
3653 tmp___1 = __builtin_expect(__cil_tmp12, 0L);
3654 }
3655#line 36
3656 if (tmp___1 != 0L) {
3657#line 36
3658 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
3659 "i" (36), "i" (12UL));
3660 ldv_19360: ;
3661#line 36
3662 goto ldv_19360;
3663 } else {
3664
3665 }
3666 {
3667#line 37
3668 __cil_tmp13 = (void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3669 struct dma_attrs * ))0;
3670#line 37
3671 __cil_tmp14 = (unsigned long )__cil_tmp13;
3672#line 37
3673 __cil_tmp15 = (unsigned long )ops;
3674#line 37
3675 __cil_tmp16 = __cil_tmp15 + 32;
3676#line 37
3677 __cil_tmp17 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3678 struct dma_attrs * ))__cil_tmp16);
3679#line 37
3680 __cil_tmp18 = (unsigned long )__cil_tmp17;
3681#line 37
3682 if (__cil_tmp18 != __cil_tmp14) {
3683 {
3684#line 38
3685 __cil_tmp19 = (unsigned long )ops;
3686#line 38
3687 __cil_tmp20 = __cil_tmp19 + 32;
3688#line 38
3689 __cil_tmp21 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
3690 struct dma_attrs * ))__cil_tmp20);
3691#line 38
3692 (*__cil_tmp21)(dev, addr, size, dir, attrs);
3693 }
3694 } else {
3695
3696 }
3697 }
3698 {
3699#line 39
3700 __cil_tmp22 = (int )dir;
3701#line 39
3702 __cil_tmp23 = (bool )1;
3703#line 39
3704 debug_dma_unmap_page(dev, addr, size, __cil_tmp22, __cil_tmp23);
3705 }
3706#line 40
3707 return;
3708}
3709}
3710#line 97 "include/asm-generic/dma-mapping-common.h"
3711__inline static void dma_sync_single_for_cpu(struct device *dev , dma_addr_t addr ,
3712 size_t size , enum dma_data_direction dir )
3713{ struct dma_map_ops *ops ;
3714 struct dma_map_ops *tmp ;
3715 int tmp___0 ;
3716 long tmp___1 ;
3717 int __cil_tmp9 ;
3718 int __cil_tmp10 ;
3719 long __cil_tmp11 ;
3720 void (*__cil_tmp12)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3721 unsigned long __cil_tmp13 ;
3722 unsigned long __cil_tmp14 ;
3723 unsigned long __cil_tmp15 ;
3724 void (*__cil_tmp16)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3725 unsigned long __cil_tmp17 ;
3726 unsigned long __cil_tmp18 ;
3727 unsigned long __cil_tmp19 ;
3728 void (*__cil_tmp20)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3729 int __cil_tmp21 ;
3730
3731 {
3732 {
3733#line 101
3734 tmp = get_dma_ops(dev);
3735#line 101
3736 ops = tmp;
3737#line 103
3738 __cil_tmp9 = (int )dir;
3739#line 103
3740 tmp___0 = valid_dma_direction(__cil_tmp9);
3741#line 103
3742 __cil_tmp10 = tmp___0 == 0;
3743#line 103
3744 __cil_tmp11 = (long )__cil_tmp10;
3745#line 103
3746 tmp___1 = __builtin_expect(__cil_tmp11, 0L);
3747 }
3748#line 103
3749 if (tmp___1 != 0L) {
3750#line 103
3751 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
3752 "i" (103), "i" (12UL));
3753 ldv_19410: ;
3754#line 103
3755 goto ldv_19410;
3756 } else {
3757
3758 }
3759 {
3760#line 104
3761 __cil_tmp12 = (void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0;
3762#line 104
3763 __cil_tmp13 = (unsigned long )__cil_tmp12;
3764#line 104
3765 __cil_tmp14 = (unsigned long )ops;
3766#line 104
3767 __cil_tmp15 = __cil_tmp14 + 56;
3768#line 104
3769 __cil_tmp16 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))__cil_tmp15);
3770#line 104
3771 __cil_tmp17 = (unsigned long )__cil_tmp16;
3772#line 104
3773 if (__cil_tmp17 != __cil_tmp13) {
3774 {
3775#line 105
3776 __cil_tmp18 = (unsigned long )ops;
3777#line 105
3778 __cil_tmp19 = __cil_tmp18 + 56;
3779#line 105
3780 __cil_tmp20 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))__cil_tmp19);
3781#line 105
3782 (*__cil_tmp20)(dev, addr, size, dir);
3783 }
3784 } else {
3785
3786 }
3787 }
3788 {
3789#line 106
3790 __cil_tmp21 = (int )dir;
3791#line 106
3792 debug_dma_sync_single_for_cpu(dev, addr, size, __cil_tmp21);
3793 }
3794#line 107
3795 return;
3796}
3797}
3798#line 109 "include/asm-generic/dma-mapping-common.h"
3799__inline static void dma_sync_single_for_device(struct device *dev , dma_addr_t addr ,
3800 size_t size , enum dma_data_direction dir )
3801{ struct dma_map_ops *ops ;
3802 struct dma_map_ops *tmp ;
3803 int tmp___0 ;
3804 long tmp___1 ;
3805 int __cil_tmp9 ;
3806 int __cil_tmp10 ;
3807 long __cil_tmp11 ;
3808 void (*__cil_tmp12)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3809 unsigned long __cil_tmp13 ;
3810 unsigned long __cil_tmp14 ;
3811 unsigned long __cil_tmp15 ;
3812 void (*__cil_tmp16)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3813 unsigned long __cil_tmp17 ;
3814 unsigned long __cil_tmp18 ;
3815 unsigned long __cil_tmp19 ;
3816 void (*__cil_tmp20)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
3817 int __cil_tmp21 ;
3818
3819 {
3820 {
3821#line 113
3822 tmp = get_dma_ops(dev);
3823#line 113
3824 ops = tmp;
3825#line 115
3826 __cil_tmp9 = (int )dir;
3827#line 115
3828 tmp___0 = valid_dma_direction(__cil_tmp9);
3829#line 115
3830 __cil_tmp10 = tmp___0 == 0;
3831#line 115
3832 __cil_tmp11 = (long )__cil_tmp10;
3833#line 115
3834 tmp___1 = __builtin_expect(__cil_tmp11, 0L);
3835 }
3836#line 115
3837 if (tmp___1 != 0L) {
3838#line 115
3839 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
3840 "i" (115), "i" (12UL));
3841 ldv_19418: ;
3842#line 115
3843 goto ldv_19418;
3844 } else {
3845
3846 }
3847 {
3848#line 116
3849 __cil_tmp12 = (void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0;
3850#line 116
3851 __cil_tmp13 = (unsigned long )__cil_tmp12;
3852#line 116
3853 __cil_tmp14 = (unsigned long )ops;
3854#line 116
3855 __cil_tmp15 = __cil_tmp14 + 64;
3856#line 116
3857 __cil_tmp16 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))__cil_tmp15);
3858#line 116
3859 __cil_tmp17 = (unsigned long )__cil_tmp16;
3860#line 116
3861 if (__cil_tmp17 != __cil_tmp13) {
3862 {
3863#line 117
3864 __cil_tmp18 = (unsigned long )ops;
3865#line 117
3866 __cil_tmp19 = __cil_tmp18 + 64;
3867#line 117
3868 __cil_tmp20 = *((void (**)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))__cil_tmp19);
3869#line 117
3870 (*__cil_tmp20)(dev, addr, size, dir);
3871 }
3872 } else {
3873
3874 }
3875 }
3876 {
3877#line 118
3878 __cil_tmp21 = (int )dir;
3879#line 118
3880 debug_dma_sync_single_for_device(dev, addr, size, __cil_tmp21);
3881 }
3882#line 119
3883 return;
3884}
3885}
3886#line 90 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
3887__inline static unsigned long dma_alloc_coherent_mask(struct device *dev , gfp_t gfp )
3888{ unsigned long dma_mask ;
3889 unsigned long __cil_tmp4 ;
3890 unsigned long __cil_tmp5 ;
3891 u64 __cil_tmp6 ;
3892 int __cil_tmp7 ;
3893
3894 {
3895#line 93
3896 dma_mask = 0UL;
3897#line 95
3898 __cil_tmp4 = (unsigned long )dev;
3899#line 95
3900 __cil_tmp5 = __cil_tmp4 + 928;
3901#line 95
3902 __cil_tmp6 = *((u64 *)__cil_tmp5);
3903#line 95
3904 dma_mask = (unsigned long )__cil_tmp6;
3905#line 96
3906 if (dma_mask == 0UL) {
3907 {
3908#line 97
3909 __cil_tmp7 = (int )gfp;
3910#line 97
3911 if (__cil_tmp7 & 1) {
3912#line 97
3913 dma_mask = 16777215UL;
3914 } else {
3915#line 97
3916 dma_mask = 4294967295UL;
3917 }
3918 }
3919 } else {
3920
3921 }
3922#line 99
3923 return (dma_mask);
3924}
3925}
3926#line 102 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
3927__inline static gfp_t dma_alloc_coherent_gfp_flags(struct device *dev , gfp_t gfp )
3928{ unsigned long dma_mask ;
3929 unsigned long tmp ;
3930 unsigned long long __cil_tmp5 ;
3931 unsigned long long __cil_tmp6 ;
3932 unsigned int __cil_tmp7 ;
3933
3934 {
3935 {
3936#line 104
3937 tmp = dma_alloc_coherent_mask(dev, gfp);
3938#line 104
3939 dma_mask = tmp;
3940 }
3941 {
3942#line 106
3943 __cil_tmp5 = (unsigned long long )dma_mask;
3944#line 106
3945 if (__cil_tmp5 <= 16777215ULL) {
3946#line 107
3947 gfp = gfp | 1U;
3948 } else {
3949
3950 }
3951 }
3952 {
3953#line 109
3954 __cil_tmp6 = (unsigned long long )dma_mask;
3955#line 109
3956 if (__cil_tmp6 <= 4294967295ULL) {
3957 {
3958#line 109
3959 __cil_tmp7 = gfp & 1U;
3960#line 109
3961 if (__cil_tmp7 == 0U) {
3962#line 110
3963 gfp = gfp | 4U;
3964 } else {
3965
3966 }
3967 }
3968 } else {
3969
3970 }
3971 }
3972#line 112
3973 return (gfp);
3974}
3975}
3976#line 118 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
3977__inline static void *dma_alloc_attrs(struct device *dev , size_t size , dma_addr_t *dma_handle ,
3978 gfp_t gfp , struct dma_attrs *attrs )
3979{ struct dma_map_ops *ops ;
3980 struct dma_map_ops *tmp ;
3981 void *memory ;
3982 int tmp___0 ;
3983 gfp_t tmp___1 ;
3984 struct device *__cil_tmp11 ;
3985 unsigned long __cil_tmp12 ;
3986 unsigned long __cil_tmp13 ;
3987 void *(*__cil_tmp14)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
3988 unsigned long __cil_tmp15 ;
3989 void *(*__cil_tmp16)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
3990 unsigned long __cil_tmp17 ;
3991 void *(*__cil_tmp18)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
3992 dma_addr_t __cil_tmp19 ;
3993
3994 {
3995 {
3996#line 121
3997 tmp = get_dma_ops(dev);
3998#line 121
3999 ops = tmp;
4000#line 124
4001 gfp = gfp & 4294967288U;
4002 }
4003 {
4004#line 129
4005 __cil_tmp11 = (struct device *)0;
4006#line 129
4007 __cil_tmp12 = (unsigned long )__cil_tmp11;
4008#line 129
4009 __cil_tmp13 = (unsigned long )dev;
4010#line 129
4011 if (__cil_tmp13 == __cil_tmp12) {
4012#line 130
4013 dev = & x86_dma_fallback_dev;
4014 } else {
4015
4016 }
4017 }
4018 {
4019#line 132
4020 tmp___0 = is_device_dma_capable(dev);
4021 }
4022#line 132
4023 if (tmp___0 == 0) {
4024#line 133
4025 return ((void *)0);
4026 } else {
4027
4028 }
4029 {
4030#line 135
4031 __cil_tmp14 = (void *(*)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ))0;
4032#line 135
4033 __cil_tmp15 = (unsigned long )__cil_tmp14;
4034#line 135
4035 __cil_tmp16 = *((void *(**)(struct device * , size_t , dma_addr_t * , gfp_t ,
4036 struct dma_attrs * ))ops);
4037#line 135
4038 __cil_tmp17 = (unsigned long )__cil_tmp16;
4039#line 135
4040 if (__cil_tmp17 == __cil_tmp15) {
4041#line 136
4042 return ((void *)0);
4043 } else {
4044
4045 }
4046 }
4047 {
4048#line 138
4049 tmp___1 = dma_alloc_coherent_gfp_flags(dev, gfp);
4050#line 138
4051 __cil_tmp18 = *((void *(**)(struct device * , size_t , dma_addr_t * , gfp_t ,
4052 struct dma_attrs * ))ops);
4053#line 138
4054 memory = (*__cil_tmp18)(dev, size, dma_handle, tmp___1, attrs);
4055#line 140
4056 __cil_tmp19 = *dma_handle;
4057#line 140
4058 debug_dma_alloc_coherent(dev, size, __cil_tmp19, memory);
4059 }
4060#line 142
4061 return (memory);
4062}
4063}
4064#line 147 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h"
4065__inline static void dma_free_attrs(struct device *dev , size_t size , void *vaddr ,
4066 dma_addr_t bus , struct dma_attrs *attrs )
4067{ struct dma_map_ops *ops ;
4068 struct dma_map_ops *tmp ;
4069 int __ret_warn_on ;
4070 unsigned long _flags ;
4071 int tmp___0 ;
4072 long tmp___1 ;
4073 int __cil_tmp16 ;
4074 long __cil_tmp17 ;
4075 int __cil_tmp18 ;
4076 int __cil_tmp19 ;
4077 long __cil_tmp20 ;
4078 void (*__cil_tmp21)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
4079 unsigned long __cil_tmp22 ;
4080 unsigned long __cil_tmp23 ;
4081 unsigned long __cil_tmp24 ;
4082 void (*__cil_tmp25)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
4083 unsigned long __cil_tmp26 ;
4084 unsigned long __cil_tmp27 ;
4085 unsigned long __cil_tmp28 ;
4086 void (*__cil_tmp29)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
4087
4088 {
4089 {
4090#line 151
4091 tmp = get_dma_ops(dev);
4092#line 151
4093 ops = tmp;
4094#line 153
4095 _flags = arch_local_save_flags();
4096#line 153
4097 tmp___0 = arch_irqs_disabled_flags(_flags);
4098#line 153
4099 __ret_warn_on = tmp___0 != 0;
4100#line 153
4101 __cil_tmp16 = __ret_warn_on != 0;
4102#line 153
4103 __cil_tmp17 = (long )__cil_tmp16;
4104#line 153
4105 tmp___1 = __builtin_expect(__cil_tmp17, 0L);
4106 }
4107#line 153
4108 if (tmp___1 != 0L) {
4109 {
4110#line 153
4111 __cil_tmp18 = (int )153;
4112#line 153
4113 warn_slowpath_null("/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma-mapping.h",
4114 __cil_tmp18);
4115 }
4116 } else {
4117
4118 }
4119 {
4120#line 153
4121 __cil_tmp19 = __ret_warn_on != 0;
4122#line 153
4123 __cil_tmp20 = (long )__cil_tmp19;
4124#line 153
4125 __builtin_expect(__cil_tmp20, 0L);
4126#line 158
4127 debug_dma_free_coherent(dev, size, vaddr, bus);
4128 }
4129 {
4130#line 159
4131 __cil_tmp21 = (void (*)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ))0;
4132#line 159
4133 __cil_tmp22 = (unsigned long )__cil_tmp21;
4134#line 159
4135 __cil_tmp23 = (unsigned long )ops;
4136#line 159
4137 __cil_tmp24 = __cil_tmp23 + 8;
4138#line 159
4139 __cil_tmp25 = *((void (**)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ))__cil_tmp24);
4140#line 159
4141 __cil_tmp26 = (unsigned long )__cil_tmp25;
4142#line 159
4143 if (__cil_tmp26 != __cil_tmp22) {
4144 {
4145#line 160
4146 __cil_tmp27 = (unsigned long )ops;
4147#line 160
4148 __cil_tmp28 = __cil_tmp27 + 8;
4149#line 160
4150 __cil_tmp29 = *((void (**)(struct device * , size_t , void * , dma_addr_t ,
4151 struct dma_attrs * ))__cil_tmp28);
4152#line 160
4153 (*__cil_tmp29)(dev, size, vaddr, bus, attrs);
4154 }
4155 } else {
4156
4157 }
4158 }
4159#line 161
4160 return;
4161}
4162}
4163#line 10 "include/asm-generic/delay.h"
4164extern void ___udelay(unsigned long ) ;
4165#line 127 "include/linux/interrupt.h"
4166extern int request_threaded_irq(unsigned int , irqreturn_t (*)(int , void * ) ,
4167 irqreturn_t (*)(int , void * ) , unsigned long ,
4168 char * , void * ) ;
4169#line 132 "include/linux/interrupt.h"
4170__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int , void * ) ,
4171 unsigned long flags , char *name , void *dev )
4172{ int tmp ;
4173 irqreturn_t (*__cil_tmp7)(int , void * ) ;
4174
4175 {
4176 {
4177#line 135
4178 __cil_tmp7 = (irqreturn_t (*)(int , void * ))0;
4179#line 135
4180 tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
4181 }
4182#line 135
4183 return (tmp);
4184}
4185}
4186#line 184
4187extern void free_irq(unsigned int , void * ) ;
4188#line 590 "include/linux/usb/ch9.h"
4189__inline static int usb_endpoint_maxp(struct usb_endpoint_descriptor *epd )
4190{ unsigned long __cil_tmp2 ;
4191 unsigned long __cil_tmp3 ;
4192 __le16 __cil_tmp4 ;
4193
4194 {
4195 {
4196#line 592
4197 __cil_tmp2 = (unsigned long )epd;
4198#line 592
4199 __cil_tmp3 = __cil_tmp2 + 4;
4200#line 592
4201 __cil_tmp4 = *((__le16 *)__cil_tmp3);
4202#line 592
4203 return ((int )__cil_tmp4);
4204 }
4205}
4206}
4207#line 890 "include/linux/usb/gadget.h"
4208extern int usb_add_gadget_udc(struct device * , struct usb_gadget * ) ;
4209#line 175 "include/linux/usb/otg.h"
4210extern struct usb_phy *usb_get_transceiver(void) ;
4211#line 228 "include/linux/usb/otg.h"
4212__inline static int otg_set_peripheral(struct usb_otg *otg , struct usb_gadget *periph )
4213{ int tmp ;
4214 struct usb_otg *__cil_tmp4 ;
4215 unsigned long __cil_tmp5 ;
4216 unsigned long __cil_tmp6 ;
4217 int (*__cil_tmp7)(struct usb_otg * , struct usb_gadget * ) ;
4218 unsigned long __cil_tmp8 ;
4219 unsigned long __cil_tmp9 ;
4220 unsigned long __cil_tmp10 ;
4221 int (*__cil_tmp11)(struct usb_otg * , struct usb_gadget * ) ;
4222 unsigned long __cil_tmp12 ;
4223 unsigned long __cil_tmp13 ;
4224 unsigned long __cil_tmp14 ;
4225 int (*__cil_tmp15)(struct usb_otg * , struct usb_gadget * ) ;
4226
4227 {
4228 {
4229#line 230
4230 __cil_tmp4 = (struct usb_otg *)0;
4231#line 230
4232 __cil_tmp5 = (unsigned long )__cil_tmp4;
4233#line 230
4234 __cil_tmp6 = (unsigned long )otg;
4235#line 230
4236 if (__cil_tmp6 != __cil_tmp5) {
4237 {
4238#line 230
4239 __cil_tmp7 = (int (*)(struct usb_otg * , struct usb_gadget * ))0;
4240#line 230
4241 __cil_tmp8 = (unsigned long )__cil_tmp7;
4242#line 230
4243 __cil_tmp9 = (unsigned long )otg;
4244#line 230
4245 __cil_tmp10 = __cil_tmp9 + 40;
4246#line 230
4247 __cil_tmp11 = *((int (**)(struct usb_otg * , struct usb_gadget * ))__cil_tmp10);
4248#line 230
4249 __cil_tmp12 = (unsigned long )__cil_tmp11;
4250#line 230
4251 if (__cil_tmp12 != __cil_tmp8) {
4252 {
4253#line 231
4254 __cil_tmp13 = (unsigned long )otg;
4255#line 231
4256 __cil_tmp14 = __cil_tmp13 + 40;
4257#line 231
4258 __cil_tmp15 = *((int (**)(struct usb_otg * , struct usb_gadget * ))__cil_tmp14);
4259#line 231
4260 tmp = (*__cil_tmp15)(otg, periph);
4261 }
4262#line 231
4263 return (tmp);
4264 } else {
4265
4266 }
4267 }
4268 } else {
4269
4270 }
4271 }
4272#line 233
4273 return (-524);
4274}
4275}
4276#line 46 "include/linux/platform_device.h"
4277extern struct resource *platform_get_resource(struct platform_device * , unsigned int ,
4278 unsigned int ) ;
4279#line 48
4280extern struct resource *platform_get_resource_byname(struct platform_device * , unsigned int ,
4281 char * ) ;
4282#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4283static struct completion release_done = {0U, {{{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
4284 {(struct lock_class *)0,
4285 (struct lock_class *)0},
4286 "(release_done).wait.lock",
4287 0, 0UL}}}},
4288 {& release_done.wait.task_list, & release_done.wait.task_list}}};
4289#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4290static char driver_name[7U] = { (char )'m', (char const )'v', (char const )'_', (char const )'u',
4291 (char )'d', (char )'c', (char const )'\000'};
4292#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4293static struct mv_udc *the_controller ;
4294#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4295int mv_usb_otgsc ;
4296#line 83
4297static void nuke(struct mv_ep *ep , int status ) ;
4298#line 84
4299static void stop_activity(struct mv_udc *udc , struct usb_gadget_driver *driver ) ;
4300#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4301static struct usb_endpoint_descriptor mv_ep0_desc =
4302#line 87
4303 {(__u8 )7U, (__u8 )5U, (__u8 )0U, (__u8 )0U, (__le16 )64U, (unsigned char)0, (unsigned char)0,
4304 (unsigned char)0};
4305#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4306static void ep0_reset(struct mv_udc *udc )
4307{ struct mv_ep *ep ;
4308 u32 epctrlx ;
4309 int i ;
4310 unsigned long __cil_tmp5 ;
4311 unsigned long __cil_tmp6 ;
4312 unsigned long __cil_tmp7 ;
4313 struct mv_ep *__cil_tmp8 ;
4314 unsigned long __cil_tmp9 ;
4315 unsigned long __cil_tmp10 ;
4316 unsigned long __cil_tmp11 ;
4317 unsigned long __cil_tmp12 ;
4318 unsigned long __cil_tmp13 ;
4319 unsigned long __cil_tmp14 ;
4320 unsigned long __cil_tmp15 ;
4321 struct mv_dqh *__cil_tmp16 ;
4322 unsigned long __cil_tmp17 ;
4323 unsigned long __cil_tmp18 ;
4324 struct mv_dqh *__cil_tmp19 ;
4325 unsigned long __cil_tmp20 ;
4326 unsigned long __cil_tmp21 ;
4327 struct mv_dqh *__cil_tmp22 ;
4328 unsigned long __cil_tmp23 ;
4329 unsigned long __cil_tmp24 ;
4330 unsigned long __cil_tmp25 ;
4331 unsigned long __cil_tmp26 ;
4332 struct mv_op_regs *__cil_tmp27 ;
4333 unsigned long __cil_tmp28 ;
4334 unsigned long __cil_tmp29 ;
4335 u32 (*__cil_tmp30)[16U] ;
4336 void volatile *__cil_tmp31 ;
4337 unsigned long __cil_tmp32 ;
4338 unsigned long __cil_tmp33 ;
4339 struct mv_op_regs *__cil_tmp34 ;
4340 unsigned long __cil_tmp35 ;
4341 unsigned long __cil_tmp36 ;
4342 u32 (*__cil_tmp37)[16U] ;
4343 void volatile *__cil_tmp38 ;
4344
4345 {
4346#line 99
4347 i = 0;
4348#line 102
4349 i = 0;
4350#line 102
4351 goto ldv_25358;
4352 ldv_25357:
4353 {
4354#line 103
4355 __cil_tmp5 = (unsigned long )i;
4356#line 103
4357 __cil_tmp6 = (unsigned long )udc;
4358#line 103
4359 __cil_tmp7 = __cil_tmp6 + 1376;
4360#line 103
4361 __cil_tmp8 = *((struct mv_ep **)__cil_tmp7);
4362#line 103
4363 ep = __cil_tmp8 + __cil_tmp5;
4364#line 104
4365 __cil_tmp9 = (unsigned long )ep;
4366#line 104
4367 __cil_tmp10 = __cil_tmp9 + 64;
4368#line 104
4369 *((struct mv_udc **)__cil_tmp10) = udc;
4370#line 107
4371 __cil_tmp11 = (unsigned long )ep;
4372#line 107
4373 __cil_tmp12 = __cil_tmp11 + 88;
4374#line 107
4375 __cil_tmp13 = (unsigned long )i;
4376#line 107
4377 __cil_tmp14 = (unsigned long )udc;
4378#line 107
4379 __cil_tmp15 = __cil_tmp14 + 1344;
4380#line 107
4381 __cil_tmp16 = *((struct mv_dqh **)__cil_tmp15);
4382#line 107
4383 *((struct mv_dqh **)__cil_tmp12) = __cil_tmp16 + __cil_tmp13;
4384#line 110
4385 __cil_tmp17 = (unsigned long )ep;
4386#line 110
4387 __cil_tmp18 = __cil_tmp17 + 88;
4388#line 110
4389 __cil_tmp19 = *((struct mv_dqh **)__cil_tmp18);
4390#line 110
4391 *((u32 *)__cil_tmp19) = 4227072U;
4392#line 114
4393 __cil_tmp20 = (unsigned long )ep;
4394#line 114
4395 __cil_tmp21 = __cil_tmp20 + 88;
4396#line 114
4397 __cil_tmp22 = *((struct mv_dqh **)__cil_tmp21);
4398#line 114
4399 __cil_tmp23 = (unsigned long )__cil_tmp22;
4400#line 114
4401 __cil_tmp24 = __cil_tmp23 + 8;
4402#line 114
4403 *((u32 *)__cil_tmp24) = 1U;
4404#line 116
4405 __cil_tmp25 = (unsigned long )udc;
4406#line 116
4407 __cil_tmp26 = __cil_tmp25 + 1320;
4408#line 116
4409 __cil_tmp27 = *((struct mv_op_regs **)__cil_tmp26);
4410#line 116
4411 __cil_tmp28 = (unsigned long )__cil_tmp27;
4412#line 116
4413 __cil_tmp29 = __cil_tmp28 + 128;
4414#line 116
4415 __cil_tmp30 = (u32 (*)[16U])__cil_tmp29;
4416#line 116
4417 __cil_tmp31 = (void volatile *)__cil_tmp30;
4418#line 116
4419 epctrlx = readl(__cil_tmp31);
4420 }
4421#line 117
4422 if (i != 0) {
4423#line 118
4424 epctrlx = epctrlx | 8388608U;
4425 } else {
4426#line 123
4427 epctrlx = epctrlx | 128U;
4428 }
4429 {
4430#line 128
4431 __cil_tmp32 = (unsigned long )udc;
4432#line 128
4433 __cil_tmp33 = __cil_tmp32 + 1320;
4434#line 128
4435 __cil_tmp34 = *((struct mv_op_regs **)__cil_tmp33);
4436#line 128
4437 __cil_tmp35 = (unsigned long )__cil_tmp34;
4438#line 128
4439 __cil_tmp36 = __cil_tmp35 + 128;
4440#line 128
4441 __cil_tmp37 = (u32 (*)[16U])__cil_tmp36;
4442#line 128
4443 __cil_tmp38 = (void volatile *)__cil_tmp37;
4444#line 128
4445 writel(epctrlx, __cil_tmp38);
4446#line 102
4447 i = i + 1;
4448 }
4449 ldv_25358: ;
4450#line 102
4451 if (i <= 1) {
4452#line 103
4453 goto ldv_25357;
4454 } else {
4455#line 105
4456 goto ldv_25359;
4457 }
4458 ldv_25359: ;
4459#line 107
4460 return;
4461}
4462}
4463#line 133 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4464static void ep0_stall(struct mv_udc *udc )
4465{ u32 epctrlx ;
4466 unsigned long __cil_tmp3 ;
4467 unsigned long __cil_tmp4 ;
4468 struct mv_op_regs *__cil_tmp5 ;
4469 unsigned long __cil_tmp6 ;
4470 unsigned long __cil_tmp7 ;
4471 u32 (*__cil_tmp8)[16U] ;
4472 void volatile *__cil_tmp9 ;
4473 unsigned long __cil_tmp10 ;
4474 unsigned long __cil_tmp11 ;
4475 struct mv_op_regs *__cil_tmp12 ;
4476 unsigned long __cil_tmp13 ;
4477 unsigned long __cil_tmp14 ;
4478 u32 (*__cil_tmp15)[16U] ;
4479 void volatile *__cil_tmp16 ;
4480 unsigned long __cil_tmp17 ;
4481 unsigned long __cil_tmp18 ;
4482 unsigned long __cil_tmp19 ;
4483 unsigned long __cil_tmp20 ;
4484
4485 {
4486 {
4487#line 138
4488 __cil_tmp3 = (unsigned long )udc;
4489#line 138
4490 __cil_tmp4 = __cil_tmp3 + 1320;
4491#line 138
4492 __cil_tmp5 = *((struct mv_op_regs **)__cil_tmp4);
4493#line 138
4494 __cil_tmp6 = (unsigned long )__cil_tmp5;
4495#line 138
4496 __cil_tmp7 = __cil_tmp6 + 128;
4497#line 138
4498 __cil_tmp8 = (u32 (*)[16U])__cil_tmp7;
4499#line 138
4500 __cil_tmp9 = (void volatile *)__cil_tmp8;
4501#line 138
4502 epctrlx = readl(__cil_tmp9);
4503#line 139
4504 epctrlx = epctrlx | 65537U;
4505#line 140
4506 __cil_tmp10 = (unsigned long )udc;
4507#line 140
4508 __cil_tmp11 = __cil_tmp10 + 1320;
4509#line 140
4510 __cil_tmp12 = *((struct mv_op_regs **)__cil_tmp11);
4511#line 140
4512 __cil_tmp13 = (unsigned long )__cil_tmp12;
4513#line 140
4514 __cil_tmp14 = __cil_tmp13 + 128;
4515#line 140
4516 __cil_tmp15 = (u32 (*)[16U])__cil_tmp14;
4517#line 140
4518 __cil_tmp16 = (void volatile *)__cil_tmp15;
4519#line 140
4520 writel(epctrlx, __cil_tmp16);
4521#line 143
4522 __cil_tmp17 = (unsigned long )udc;
4523#line 143
4524 __cil_tmp18 = __cil_tmp17 + 1432;
4525#line 143
4526 *((unsigned int *)__cil_tmp18) = 0U;
4527#line 144
4528 __cil_tmp19 = (unsigned long )udc;
4529#line 144
4530 __cil_tmp20 = __cil_tmp19 + 1436;
4531#line 144
4532 *((unsigned int *)__cil_tmp20) = 0U;
4533 }
4534#line 145
4535 return;
4536}
4537}
4538#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
4539static int process_ep_req(struct mv_udc *udc , int index , struct mv_req *curr_req )
4540{ struct mv_dtd *curr_dtd ;
4541 struct mv_dqh *curr_dqh ;
4542 int td_complete ;
4543 int actual ;
4544 int remaining_length ;
4545 int i ;
4546 int direction ;
4547 int retval ;
4548 u32 errors ;
4549 u32 bit_pos ;
4550 struct _ddebug descriptor ;
4551 long tmp ;
4552 struct _ddebug descriptor___0 ;
4553 long tmp___0 ;
4554 char *tmp___1 ;
4555 unsigned int tmp___2 ;
4556 unsigned long __cil_tmp20 ;
4557 unsigned long __cil_tmp21 ;
4558 unsigned long __cil_tmp22 ;
4559 struct mv_dqh *__cil_tmp23 ;
4560 unsigned long __cil_tmp24 ;
4561 unsigned long __cil_tmp25 ;
4562 unsigned long __cil_tmp26 ;
4563 unsigned long __cil_tmp27 ;
4564 unsigned long __cil_tmp28 ;
4565 unsigned int __cil_tmp29 ;
4566 unsigned long __cil_tmp30 ;
4567 unsigned long __cil_tmp31 ;
4568 u32 __cil_tmp32 ;
4569 unsigned int __cil_tmp33 ;
4570 struct _ddebug *__cil_tmp34 ;
4571 unsigned long __cil_tmp35 ;
4572 unsigned long __cil_tmp36 ;
4573 unsigned long __cil_tmp37 ;
4574 unsigned long __cil_tmp38 ;
4575 unsigned long __cil_tmp39 ;
4576 unsigned long __cil_tmp40 ;
4577 unsigned char __cil_tmp41 ;
4578 long __cil_tmp42 ;
4579 long __cil_tmp43 ;
4580 unsigned long __cil_tmp44 ;
4581 unsigned long __cil_tmp45 ;
4582 struct platform_device *__cil_tmp46 ;
4583 unsigned long __cil_tmp47 ;
4584 unsigned long __cil_tmp48 ;
4585 struct device *__cil_tmp49 ;
4586 struct device *__cil_tmp50 ;
4587 unsigned long __cil_tmp51 ;
4588 unsigned long __cil_tmp52 ;
4589 unsigned long __cil_tmp53 ;
4590 struct mv_ep *__cil_tmp54 ;
4591 struct mv_ep *__cil_tmp55 ;
4592 unsigned long __cil_tmp56 ;
4593 unsigned long __cil_tmp57 ;
4594 char (*__cil_tmp58)[14U] ;
4595 char *__cil_tmp59 ;
4596 unsigned long __cil_tmp60 ;
4597 unsigned long __cil_tmp61 ;
4598 u32 __cil_tmp62 ;
4599 unsigned long __cil_tmp63 ;
4600 unsigned long __cil_tmp64 ;
4601 u32 __cil_tmp65 ;
4602 unsigned int __cil_tmp66 ;
4603 unsigned int __cil_tmp67 ;
4604 struct _ddebug *__cil_tmp68 ;
4605 unsigned long __cil_tmp69 ;
4606 unsigned long __cil_tmp70 ;
4607 unsigned long __cil_tmp71 ;
4608 unsigned long __cil_tmp72 ;
4609 unsigned long __cil_tmp73 ;
4610 unsigned long __cil_tmp74 ;
4611 unsigned char __cil_tmp75 ;
4612 long __cil_tmp76 ;
4613 long __cil_tmp77 ;
4614 unsigned long __cil_tmp78 ;
4615 unsigned long __cil_tmp79 ;
4616 struct platform_device *__cil_tmp80 ;
4617 unsigned long __cil_tmp81 ;
4618 unsigned long __cil_tmp82 ;
4619 struct device *__cil_tmp83 ;
4620 struct device *__cil_tmp84 ;
4621 unsigned long __cil_tmp85 ;
4622 unsigned long __cil_tmp86 ;
4623 struct platform_device *__cil_tmp87 ;
4624 unsigned long __cil_tmp88 ;
4625 unsigned long __cil_tmp89 ;
4626 struct device *__cil_tmp90 ;
4627 struct device *__cil_tmp91 ;
4628 int __cil_tmp92 ;
4629 unsigned int __cil_tmp93 ;
4630 unsigned long __cil_tmp94 ;
4631 unsigned long __cil_tmp95 ;
4632 u32 __cil_tmp96 ;
4633 unsigned long __cil_tmp97 ;
4634 unsigned long __cil_tmp98 ;
4635 u32 __cil_tmp99 ;
4636 unsigned int __cil_tmp100 ;
4637 unsigned int __cil_tmp101 ;
4638 unsigned long __cil_tmp102 ;
4639 unsigned long __cil_tmp103 ;
4640 unsigned int __cil_tmp104 ;
4641 unsigned int __cil_tmp105 ;
4642 unsigned int __cil_tmp106 ;
4643 unsigned long __cil_tmp107 ;
4644 unsigned long __cil_tmp108 ;
4645 unsigned long __cil_tmp109 ;
4646 unsigned long __cil_tmp110 ;
4647 unsigned int __cil_tmp111 ;
4648 unsigned int __cil_tmp112 ;
4649 unsigned long __cil_tmp113 ;
4650 unsigned long __cil_tmp114 ;
4651 struct mv_ep *__cil_tmp115 ;
4652 unsigned long __cil_tmp116 ;
4653 unsigned long __cil_tmp117 ;
4654 unsigned char __cil_tmp118 ;
4655 int __cil_tmp119 ;
4656 int __cil_tmp120 ;
4657 unsigned long __cil_tmp121 ;
4658 unsigned long __cil_tmp122 ;
4659 struct mv_ep *__cil_tmp123 ;
4660 unsigned long __cil_tmp124 ;
4661 unsigned long __cil_tmp125 ;
4662 unsigned char __cil_tmp126 ;
4663 int __cil_tmp127 ;
4664 int __cil_tmp128 ;
4665 int __cil_tmp129 ;
4666 u32 __cil_tmp130 ;
4667 unsigned long __cil_tmp131 ;
4668 unsigned long __cil_tmp132 ;
4669 struct mv_op_regs *__cil_tmp133 ;
4670 unsigned long __cil_tmp134 ;
4671 unsigned long __cil_tmp135 ;
4672 u32 *__cil_tmp136 ;
4673 void volatile *__cil_tmp137 ;
4674 unsigned int __cil_tmp138 ;
4675 unsigned long __cil_tmp139 ;
4676 unsigned long __cil_tmp140 ;
4677 dma_addr_t __cil_tmp141 ;
4678 unsigned long __cil_tmp142 ;
4679 unsigned long __cil_tmp143 ;
4680 u32 __cil_tmp144 ;
4681 dma_addr_t __cil_tmp145 ;
4682 unsigned long __cil_tmp146 ;
4683 unsigned long __cil_tmp147 ;
4684 unsigned long __cil_tmp148 ;
4685
4686 {
4687#line 154
4688 retval = 0;
4689#line 158
4690 __cil_tmp20 = (unsigned long )index;
4691#line 158
4692 __cil_tmp21 = (unsigned long )udc;
4693#line 158
4694 __cil_tmp22 = __cil_tmp21 + 1344;
4695#line 158
4696 __cil_tmp23 = *((struct mv_dqh **)__cil_tmp22);
4697#line 158
4698 curr_dqh = __cil_tmp23 + __cil_tmp20;
4699#line 159
4700 direction = index % 2;
4701#line 161
4702 __cil_tmp24 = (unsigned long )curr_req;
4703#line 161
4704 __cil_tmp25 = __cil_tmp24 + 96;
4705#line 161
4706 curr_dtd = *((struct mv_dtd **)__cil_tmp25);
4707#line 162
4708 td_complete = 0;
4709#line 163
4710 __cil_tmp26 = 0 + 8;
4711#line 163
4712 __cil_tmp27 = (unsigned long )curr_req;
4713#line 163
4714 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
4715#line 163
4716 __cil_tmp29 = *((unsigned int *)__cil_tmp28);
4717#line 163
4718 actual = (int )__cil_tmp29;
4719#line 165
4720 i = 0;
4721#line 165
4722 goto ldv_25384;
4723 ldv_25383: ;
4724 {
4725#line 166
4726 __cil_tmp30 = (unsigned long )curr_dtd;
4727#line 166
4728 __cil_tmp31 = __cil_tmp30 + 4;
4729#line 166
4730 __cil_tmp32 = *((u32 *)__cil_tmp31);
4731#line 166
4732 __cil_tmp33 = __cil_tmp32 & 128U;
4733#line 166
4734 if (__cil_tmp33 != 0U) {
4735 {
4736#line 167
4737 __cil_tmp34 = & descriptor;
4738#line 167
4739 *((char **)__cil_tmp34) = "mv_udc";
4740#line 167
4741 __cil_tmp35 = (unsigned long )(& descriptor) + 8;
4742#line 167
4743 *((char **)__cil_tmp35) = "process_ep_req";
4744#line 167
4745 __cil_tmp36 = (unsigned long )(& descriptor) + 16;
4746#line 167
4747 *((char **)__cil_tmp36) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
4748#line 167
4749 __cil_tmp37 = (unsigned long )(& descriptor) + 24;
4750#line 167
4751 *((char **)__cil_tmp37) = "%s, dTD not completed\n";
4752#line 167
4753 __cil_tmp38 = (unsigned long )(& descriptor) + 32;
4754#line 167
4755 *((unsigned int *)__cil_tmp38) = 168U;
4756#line 167
4757 __cil_tmp39 = (unsigned long )(& descriptor) + 35;
4758#line 167
4759 *((unsigned char *)__cil_tmp39) = (unsigned char)1;
4760#line 167
4761 __cil_tmp40 = (unsigned long )(& descriptor) + 35;
4762#line 167
4763 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
4764#line 167
4765 __cil_tmp42 = (long )__cil_tmp41;
4766#line 167
4767 __cil_tmp43 = __cil_tmp42 & 1L;
4768#line 167
4769 tmp = __builtin_expect(__cil_tmp43, 0L);
4770 }
4771#line 167
4772 if (tmp != 0L) {
4773 {
4774#line 167
4775 __cil_tmp44 = (unsigned long )udc;
4776#line 167
4777 __cil_tmp45 = __cil_tmp44 + 1296;
4778#line 167
4779 __cil_tmp46 = *((struct platform_device **)__cil_tmp45);
4780#line 167
4781 __cil_tmp47 = (unsigned long )__cil_tmp46;
4782#line 167
4783 __cil_tmp48 = __cil_tmp47 + 16;
4784#line 167
4785 __cil_tmp49 = (struct device *)__cil_tmp48;
4786#line 167
4787 __cil_tmp50 = (struct device *)__cil_tmp49;
4788#line 167
4789 __cil_tmp51 = (unsigned long )index;
4790#line 167
4791 __cil_tmp52 = (unsigned long )udc;
4792#line 167
4793 __cil_tmp53 = __cil_tmp52 + 1376;
4794#line 167
4795 __cil_tmp54 = *((struct mv_ep **)__cil_tmp53);
4796#line 167
4797 __cil_tmp55 = __cil_tmp54 + __cil_tmp51;
4798#line 167
4799 __cil_tmp56 = (unsigned long )__cil_tmp55;
4800#line 167
4801 __cil_tmp57 = __cil_tmp56 + 108;
4802#line 167
4803 __cil_tmp58 = (char (*)[14U])__cil_tmp57;
4804#line 167
4805 __cil_tmp59 = (char *)__cil_tmp58;
4806#line 167
4807 __dynamic_dev_dbg(& descriptor, __cil_tmp50, "%s, dTD not completed\n", __cil_tmp59);
4808 }
4809 } else {
4810
4811 }
4812#line 169
4813 return (1);
4814 } else {
4815
4816 }
4817 }
4818#line 172
4819 __cil_tmp60 = (unsigned long )curr_dtd;
4820#line 172
4821 __cil_tmp61 = __cil_tmp60 + 4;
4822#line 172
4823 __cil_tmp62 = *((u32 *)__cil_tmp61);
4824#line 172
4825 errors = __cil_tmp62 & 104U;
4826#line 173
4827 if (errors == 0U) {
4828#line 174
4829 __cil_tmp63 = (unsigned long )curr_dtd;
4830#line 174
4831 __cil_tmp64 = __cil_tmp63 + 4;
4832#line 174
4833 __cil_tmp65 = *((u32 *)__cil_tmp64);
4834#line 174
4835 __cil_tmp66 = __cil_tmp65 & 2147418112U;
4836#line 174
4837 __cil_tmp67 = __cil_tmp66 >> 16;
4838#line 174
4839 remaining_length = (int )__cil_tmp67;
4840#line 177
4841 actual = actual - remaining_length;
4842#line 179
4843 if (remaining_length != 0) {
4844#line 180
4845 if (direction != 0) {
4846 {
4847#line 181
4848 __cil_tmp68 = & descriptor___0;
4849#line 181
4850 *((char **)__cil_tmp68) = "mv_udc";
4851#line 181
4852 __cil_tmp69 = (unsigned long )(& descriptor___0) + 8;
4853#line 181
4854 *((char **)__cil_tmp69) = "process_ep_req";
4855#line 181
4856 __cil_tmp70 = (unsigned long )(& descriptor___0) + 16;
4857#line 181
4858 *((char **)__cil_tmp70) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
4859#line 181
4860 __cil_tmp71 = (unsigned long )(& descriptor___0) + 24;
4861#line 181
4862 *((char **)__cil_tmp71) = "TX dTD remains data\n";
4863#line 181
4864 __cil_tmp72 = (unsigned long )(& descriptor___0) + 32;
4865#line 181
4866 *((unsigned int *)__cil_tmp72) = 182U;
4867#line 181
4868 __cil_tmp73 = (unsigned long )(& descriptor___0) + 35;
4869#line 181
4870 *((unsigned char *)__cil_tmp73) = (unsigned char)1;
4871#line 181
4872 __cil_tmp74 = (unsigned long )(& descriptor___0) + 35;
4873#line 181
4874 __cil_tmp75 = *((unsigned char *)__cil_tmp74);
4875#line 181
4876 __cil_tmp76 = (long )__cil_tmp75;
4877#line 181
4878 __cil_tmp77 = __cil_tmp76 & 1L;
4879#line 181
4880 tmp___0 = __builtin_expect(__cil_tmp77, 0L);
4881 }
4882#line 181
4883 if (tmp___0 != 0L) {
4884 {
4885#line 181
4886 __cil_tmp78 = (unsigned long )udc;
4887#line 181
4888 __cil_tmp79 = __cil_tmp78 + 1296;
4889#line 181
4890 __cil_tmp80 = *((struct platform_device **)__cil_tmp79);
4891#line 181
4892 __cil_tmp81 = (unsigned long )__cil_tmp80;
4893#line 181
4894 __cil_tmp82 = __cil_tmp81 + 16;
4895#line 181
4896 __cil_tmp83 = (struct device *)__cil_tmp82;
4897#line 181
4898 __cil_tmp84 = (struct device *)__cil_tmp83;
4899#line 181
4900 __dynamic_dev_dbg(& descriptor___0, __cil_tmp84, "TX dTD remains data\n");
4901 }
4902 } else {
4903
4904 }
4905#line 183
4906 retval = -71;
4907#line 184
4908 goto ldv_25382;
4909 } else {
4910#line 186
4911 goto ldv_25382;
4912 }
4913 } else {
4914
4915 }
4916 } else {
4917#line 189
4918 if (direction != 0) {
4919#line 189
4920 tmp___1 = (char *)"SEND";
4921 } else {
4922#line 189
4923 tmp___1 = (char *)"RECV";
4924 }
4925 {
4926#line 189
4927 __cil_tmp85 = (unsigned long )udc;
4928#line 189
4929 __cil_tmp86 = __cil_tmp85 + 1296;
4930#line 189
4931 __cil_tmp87 = *((struct platform_device **)__cil_tmp86);
4932#line 189
4933 __cil_tmp88 = (unsigned long )__cil_tmp87;
4934#line 189
4935 __cil_tmp89 = __cil_tmp88 + 16;
4936#line 189
4937 __cil_tmp90 = (struct device *)__cil_tmp89;
4938#line 189
4939 __cil_tmp91 = (struct device *)__cil_tmp90;
4940#line 189
4941 __cil_tmp92 = index >> 1;
4942#line 189
4943 _dev_info(__cil_tmp91, "complete_tr error: ep=%d %s: error = 0x%x\n", __cil_tmp92,
4944 tmp___1, errors);
4945 }
4946 {
4947#line 193
4948 __cil_tmp93 = errors & 64U;
4949#line 193
4950 if (__cil_tmp93 != 0U) {
4951#line 195
4952 __cil_tmp94 = (unsigned long )curr_dqh;
4953#line 195
4954 __cil_tmp95 = __cil_tmp94 + 12;
4955#line 195
4956 __cil_tmp96 = ~ errors;
4957#line 195
4958 __cil_tmp97 = (unsigned long )curr_dqh;
4959#line 195
4960 __cil_tmp98 = __cil_tmp97 + 12;
4961#line 195
4962 __cil_tmp99 = *((u32 *)__cil_tmp98);
4963#line 195
4964 *((u32 *)__cil_tmp95) = __cil_tmp99 & __cil_tmp96;
4965#line 196
4966 retval = -32;
4967 } else {
4968 {
4969#line 197
4970 __cil_tmp100 = errors & 32U;
4971#line 197
4972 if (__cil_tmp100 != 0U) {
4973#line 198
4974 retval = -71;
4975 } else {
4976 {
4977#line 199
4978 __cil_tmp101 = errors & 8U;
4979#line 199
4980 if (__cil_tmp101 != 0U) {
4981#line 200
4982 retval = -84;
4983 } else {
4984
4985 }
4986 }
4987 }
4988 }
4989 }
4990 }
4991 }
4992 {
4993#line 203
4994 __cil_tmp102 = (unsigned long )curr_req;
4995#line 203
4996 __cil_tmp103 = __cil_tmp102 + 140;
4997#line 203
4998 __cil_tmp104 = *((unsigned int *)__cil_tmp103);
4999#line 203
5000 __cil_tmp105 = __cil_tmp104 - 1U;
5001#line 203
5002 __cil_tmp106 = (unsigned int )i;
5003#line 203
5004 if (__cil_tmp106 != __cil_tmp105) {
5005#line 204
5006 __cil_tmp107 = (unsigned long )curr_dtd;
5007#line 204
5008 __cil_tmp108 = __cil_tmp107 + 40;
5009#line 204
5010 curr_dtd = *((struct mv_dtd **)__cil_tmp108);
5011 } else {
5012
5013 }
5014 }
5015#line 165
5016 i = i + 1;
5017 ldv_25384: ;
5018 {
5019#line 165
5020 __cil_tmp109 = (unsigned long )curr_req;
5021#line 165
5022 __cil_tmp110 = __cil_tmp109 + 140;
5023#line 165
5024 __cil_tmp111 = *((unsigned int *)__cil_tmp110);
5025#line 165
5026 __cil_tmp112 = (unsigned int )i;
5027#line 165
5028 if (__cil_tmp112 < __cil_tmp111) {
5029#line 166
5030 goto ldv_25383;
5031 } else {
5032#line 168
5033 goto ldv_25382;
5034 }
5035 }
5036 ldv_25382: ;
5037#line 206
5038 if (retval != 0) {
5039#line 207
5040 return (retval);
5041 } else {
5042
5043 }
5044#line 209
5045 if (direction == 0) {
5046#line 210
5047 __cil_tmp113 = (unsigned long )curr_req;
5048#line 210
5049 __cil_tmp114 = __cil_tmp113 + 112;
5050#line 210
5051 __cil_tmp115 = *((struct mv_ep **)__cil_tmp114);
5052#line 210
5053 __cil_tmp116 = (unsigned long )__cil_tmp115;
5054#line 210
5055 __cil_tmp117 = __cil_tmp116 + 123;
5056#line 210
5057 __cil_tmp118 = *((unsigned char *)__cil_tmp117);
5058#line 210
5059 __cil_tmp119 = (int )__cil_tmp118;
5060#line 210
5061 __cil_tmp120 = 1 << __cil_tmp119;
5062#line 210
5063 bit_pos = (u32 )__cil_tmp120;
5064 } else {
5065#line 212
5066 __cil_tmp121 = (unsigned long )curr_req;
5067#line 212
5068 __cil_tmp122 = __cil_tmp121 + 112;
5069#line 212
5070 __cil_tmp123 = *((struct mv_ep **)__cil_tmp122);
5071#line 212
5072 __cil_tmp124 = (unsigned long )__cil_tmp123;
5073#line 212
5074 __cil_tmp125 = __cil_tmp124 + 123;
5075#line 212
5076 __cil_tmp126 = *((unsigned char *)__cil_tmp125);
5077#line 212
5078 __cil_tmp127 = (int )__cil_tmp126;
5079#line 212
5080 __cil_tmp128 = __cil_tmp127 + 16;
5081#line 212
5082 __cil_tmp129 = 1 << __cil_tmp128;
5083#line 212
5084 bit_pos = (u32 )__cil_tmp129;
5085 }
5086#line 214
5087 goto ldv_25390;
5088 ldv_25389: ;
5089 {
5090#line 215
5091 __cil_tmp130 = *((u32 *)curr_dtd);
5092#line 215
5093 if (__cil_tmp130 == 1U) {
5094#line 216
5095 goto ldv_25386;
5096 ldv_25385:
5097 {
5098#line 217
5099 ___udelay(4295UL);
5100 }
5101 ldv_25386:
5102 {
5103#line 216
5104 __cil_tmp131 = (unsigned long )udc;
5105#line 216
5106 __cil_tmp132 = __cil_tmp131 + 1320;
5107#line 216
5108 __cil_tmp133 = *((struct mv_op_regs **)__cil_tmp132);
5109#line 216
5110 __cil_tmp134 = (unsigned long )__cil_tmp133;
5111#line 216
5112 __cil_tmp135 = __cil_tmp134 + 120;
5113#line 216
5114 __cil_tmp136 = (u32 *)__cil_tmp135;
5115#line 216
5116 __cil_tmp137 = (void volatile *)__cil_tmp136;
5117#line 216
5118 tmp___2 = readl(__cil_tmp137);
5119 }
5120 {
5121#line 216
5122 __cil_tmp138 = tmp___2 & bit_pos;
5123#line 216
5124 if (__cil_tmp138 != 0U) {
5125#line 217
5126 goto ldv_25385;
5127 } else {
5128#line 219
5129 goto ldv_25387;
5130 }
5131 }
5132 ldv_25387: ;
5133#line 218
5134 goto ldv_25388;
5135 } else {
5136
5137 }
5138 }
5139 {
5140#line 220
5141 ___udelay(4295UL);
5142 }
5143 ldv_25390: ;
5144 {
5145#line 214
5146 __cil_tmp139 = (unsigned long )curr_dtd;
5147#line 214
5148 __cil_tmp140 = __cil_tmp139 + 32;
5149#line 214
5150 __cil_tmp141 = *((dma_addr_t *)__cil_tmp140);
5151#line 214
5152 __cil_tmp142 = (unsigned long )curr_dqh;
5153#line 214
5154 __cil_tmp143 = __cil_tmp142 + 4;
5155#line 214
5156 __cil_tmp144 = *((u32 *)__cil_tmp143);
5157#line 214
5158 __cil_tmp145 = (dma_addr_t )__cil_tmp144;
5159#line 214
5160 if (__cil_tmp145 == __cil_tmp141) {
5161#line 215
5162 goto ldv_25389;
5163 } else {
5164#line 217
5165 goto ldv_25388;
5166 }
5167 }
5168 ldv_25388:
5169#line 223
5170 __cil_tmp146 = 0 + 84;
5171#line 223
5172 __cil_tmp147 = (unsigned long )curr_req;
5173#line 223
5174 __cil_tmp148 = __cil_tmp147 + __cil_tmp146;
5175#line 223
5176 *((unsigned int *)__cil_tmp148) = (unsigned int )actual;
5177#line 225
5178 return (0);
5179}
5180}
5181#line 233 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
5182static void done(struct mv_ep *ep , struct mv_req *req , int status )
5183{ struct mv_udc *udc ;
5184 unsigned char stopped ;
5185 struct mv_dtd *curr_td ;
5186 struct mv_dtd *next_td ;
5187 int j ;
5188 int tmp___0 ;
5189 int tmp___1 ;
5190 int tmp___3 ;
5191 int tmp___4 ;
5192 unsigned long __cil_tmp15 ;
5193 unsigned long __cil_tmp16 ;
5194 unsigned long __cil_tmp17 ;
5195 unsigned long __cil_tmp18 ;
5196 unsigned long __cil_tmp19 ;
5197 unsigned long __cil_tmp20 ;
5198 struct list_head *__cil_tmp21 ;
5199 unsigned long __cil_tmp22 ;
5200 unsigned long __cil_tmp23 ;
5201 unsigned long __cil_tmp24 ;
5202 int __cil_tmp25 ;
5203 unsigned long __cil_tmp26 ;
5204 unsigned long __cil_tmp27 ;
5205 unsigned long __cil_tmp28 ;
5206 unsigned long __cil_tmp29 ;
5207 unsigned long __cil_tmp30 ;
5208 unsigned long __cil_tmp31 ;
5209 unsigned long __cil_tmp32 ;
5210 unsigned long __cil_tmp33 ;
5211 unsigned long __cil_tmp34 ;
5212 unsigned long __cil_tmp35 ;
5213 unsigned int __cil_tmp36 ;
5214 unsigned int __cil_tmp37 ;
5215 unsigned int __cil_tmp38 ;
5216 unsigned long __cil_tmp39 ;
5217 unsigned long __cil_tmp40 ;
5218 unsigned long __cil_tmp41 ;
5219 unsigned long __cil_tmp42 ;
5220 struct dma_pool *__cil_tmp43 ;
5221 void *__cil_tmp44 ;
5222 unsigned long __cil_tmp45 ;
5223 unsigned long __cil_tmp46 ;
5224 dma_addr_t __cil_tmp47 ;
5225 unsigned long __cil_tmp48 ;
5226 unsigned long __cil_tmp49 ;
5227 unsigned int __cil_tmp50 ;
5228 unsigned int __cil_tmp51 ;
5229 unsigned char *__cil_tmp52 ;
5230 unsigned char *__cil_tmp53 ;
5231 unsigned char __cil_tmp54 ;
5232 unsigned int __cil_tmp55 ;
5233 unsigned short *__cil_tmp56 ;
5234 unsigned short *__cil_tmp57 ;
5235 unsigned short __cil_tmp58 ;
5236 unsigned int __cil_tmp59 ;
5237 unsigned long __cil_tmp60 ;
5238 unsigned long __cil_tmp61 ;
5239 struct mv_udc *__cil_tmp62 ;
5240 unsigned long __cil_tmp63 ;
5241 unsigned long __cil_tmp64 ;
5242 unsigned int __cil_tmp65 ;
5243 unsigned long __cil_tmp66 ;
5244 unsigned long __cil_tmp67 ;
5245 u32 __cil_tmp68 ;
5246 unsigned long __cil_tmp69 ;
5247 unsigned long __cil_tmp70 ;
5248 unsigned long __cil_tmp71 ;
5249 struct mv_udc *__cil_tmp72 ;
5250 unsigned long __cil_tmp73 ;
5251 unsigned long __cil_tmp74 ;
5252 struct device *__cil_tmp75 ;
5253 unsigned long __cil_tmp76 ;
5254 unsigned long __cil_tmp77 ;
5255 unsigned long __cil_tmp78 ;
5256 dma_addr_t __cil_tmp79 ;
5257 unsigned long __cil_tmp80 ;
5258 unsigned long __cil_tmp81 ;
5259 unsigned long __cil_tmp82 ;
5260 unsigned int __cil_tmp83 ;
5261 size_t __cil_tmp84 ;
5262 enum dma_data_direction __cil_tmp85 ;
5263 struct dma_attrs *__cil_tmp86 ;
5264 unsigned long __cil_tmp87 ;
5265 unsigned long __cil_tmp88 ;
5266 unsigned long __cil_tmp89 ;
5267 unsigned long __cil_tmp90 ;
5268 unsigned long __cil_tmp91 ;
5269 unsigned short *__cil_tmp92 ;
5270 unsigned short *__cil_tmp93 ;
5271 unsigned short __cil_tmp94 ;
5272 unsigned int __cil_tmp95 ;
5273 unsigned long __cil_tmp96 ;
5274 unsigned long __cil_tmp97 ;
5275 struct mv_udc *__cil_tmp98 ;
5276 unsigned long __cil_tmp99 ;
5277 unsigned long __cil_tmp100 ;
5278 unsigned int __cil_tmp101 ;
5279 unsigned long __cil_tmp102 ;
5280 unsigned long __cil_tmp103 ;
5281 u32 __cil_tmp104 ;
5282 unsigned long __cil_tmp105 ;
5283 unsigned long __cil_tmp106 ;
5284 unsigned long __cil_tmp107 ;
5285 struct mv_udc *__cil_tmp108 ;
5286 unsigned long __cil_tmp109 ;
5287 unsigned long __cil_tmp110 ;
5288 struct device *__cil_tmp111 ;
5289 unsigned long __cil_tmp112 ;
5290 unsigned long __cil_tmp113 ;
5291 unsigned long __cil_tmp114 ;
5292 dma_addr_t __cil_tmp115 ;
5293 unsigned long __cil_tmp116 ;
5294 unsigned long __cil_tmp117 ;
5295 unsigned long __cil_tmp118 ;
5296 unsigned int __cil_tmp119 ;
5297 size_t __cil_tmp120 ;
5298 enum dma_data_direction __cil_tmp121 ;
5299 unsigned long __cil_tmp122 ;
5300 unsigned long __cil_tmp123 ;
5301 struct platform_device *__cil_tmp124 ;
5302 unsigned long __cil_tmp125 ;
5303 unsigned long __cil_tmp126 ;
5304 struct device *__cil_tmp127 ;
5305 struct device *__cil_tmp128 ;
5306 unsigned long __cil_tmp129 ;
5307 unsigned long __cil_tmp130 ;
5308 unsigned long __cil_tmp131 ;
5309 char *__cil_tmp132 ;
5310 struct usb_request *__cil_tmp133 ;
5311 unsigned long __cil_tmp134 ;
5312 unsigned long __cil_tmp135 ;
5313 unsigned long __cil_tmp136 ;
5314 unsigned int __cil_tmp137 ;
5315 unsigned long __cil_tmp138 ;
5316 unsigned long __cil_tmp139 ;
5317 unsigned long __cil_tmp140 ;
5318 unsigned int __cil_tmp141 ;
5319 unsigned long __cil_tmp142 ;
5320 unsigned long __cil_tmp143 ;
5321 unsigned long __cil_tmp144 ;
5322 unsigned long __cil_tmp145 ;
5323 struct mv_udc *__cil_tmp146 ;
5324 unsigned long __cil_tmp147 ;
5325 unsigned long __cil_tmp148 ;
5326 spinlock_t *__cil_tmp149 ;
5327 void (*__cil_tmp150)(struct usb_ep * , struct usb_request * ) ;
5328 unsigned long __cil_tmp151 ;
5329 unsigned long __cil_tmp152 ;
5330 unsigned long __cil_tmp153 ;
5331 unsigned long __cil_tmp154 ;
5332 void (*__cil_tmp155)(struct usb_ep * , struct usb_request * ) ;
5333 unsigned long __cil_tmp156 ;
5334 unsigned long __cil_tmp157 ;
5335 unsigned long __cil_tmp158 ;
5336 unsigned long __cil_tmp159 ;
5337 void (*__cil_tmp160)(struct usb_ep * , struct usb_request * ) ;
5338 struct usb_ep *__cil_tmp161 ;
5339 struct usb_request *__cil_tmp162 ;
5340 unsigned long __cil_tmp163 ;
5341 unsigned long __cil_tmp164 ;
5342 struct mv_udc *__cil_tmp165 ;
5343 unsigned long __cil_tmp166 ;
5344 unsigned long __cil_tmp167 ;
5345 spinlock_t *__cil_tmp168 ;
5346 unsigned long __cil_tmp169 ;
5347 unsigned long __cil_tmp170 ;
5348
5349 {
5350 {
5351#line 235
5352 udc = (struct mv_udc *)0;
5353#line 236
5354 __cil_tmp15 = (unsigned long )ep;
5355#line 236
5356 __cil_tmp16 = __cil_tmp15 + 122;
5357#line 236
5358 stopped = *((unsigned char *)__cil_tmp16);
5359#line 240
5360 __cil_tmp17 = (unsigned long )ep;
5361#line 240
5362 __cil_tmp18 = __cil_tmp17 + 64;
5363#line 240
5364 udc = *((struct mv_udc **)__cil_tmp18);
5365#line 242
5366 __cil_tmp19 = (unsigned long )req;
5367#line 242
5368 __cil_tmp20 = __cil_tmp19 + 120;
5369#line 242
5370 __cil_tmp21 = (struct list_head *)__cil_tmp20;
5371#line 242
5372 list_del_init(__cil_tmp21);
5373 }
5374 {
5375#line 245
5376 __cil_tmp22 = 0 + 80;
5377#line 245
5378 __cil_tmp23 = (unsigned long )req;
5379#line 245
5380 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
5381#line 245
5382 __cil_tmp25 = *((int *)__cil_tmp24);
5383#line 245
5384 if (__cil_tmp25 == -115) {
5385#line 246
5386 __cil_tmp26 = 0 + 80;
5387#line 246
5388 __cil_tmp27 = (unsigned long )req;
5389#line 246
5390 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
5391#line 246
5392 *((int *)__cil_tmp28) = status;
5393 } else {
5394#line 248
5395 __cil_tmp29 = 0 + 80;
5396#line 248
5397 __cil_tmp30 = (unsigned long )req;
5398#line 248
5399 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
5400#line 248
5401 status = *((int *)__cil_tmp31);
5402 }
5403 }
5404#line 251
5405 __cil_tmp32 = (unsigned long )req;
5406#line 251
5407 __cil_tmp33 = __cil_tmp32 + 96;
5408#line 251
5409 next_td = *((struct mv_dtd **)__cil_tmp33);
5410#line 252
5411 j = 0;
5412#line 252
5413 goto ldv_25402;
5414 ldv_25401:
5415#line 253
5416 curr_td = next_td;
5417 {
5418#line 254
5419 __cil_tmp34 = (unsigned long )req;
5420#line 254
5421 __cil_tmp35 = __cil_tmp34 + 140;
5422#line 254
5423 __cil_tmp36 = *((unsigned int *)__cil_tmp35);
5424#line 254
5425 __cil_tmp37 = __cil_tmp36 - 1U;
5426#line 254
5427 __cil_tmp38 = (unsigned int )j;
5428#line 254
5429 if (__cil_tmp38 != __cil_tmp37) {
5430#line 255
5431 __cil_tmp39 = (unsigned long )curr_td;
5432#line 255
5433 __cil_tmp40 = __cil_tmp39 + 40;
5434#line 255
5435 next_td = *((struct mv_dtd **)__cil_tmp40);
5436 } else {
5437
5438 }
5439 }
5440 {
5441#line 256
5442 __cil_tmp41 = (unsigned long )udc;
5443#line 256
5444 __cil_tmp42 = __cil_tmp41 + 1368;
5445#line 256
5446 __cil_tmp43 = *((struct dma_pool **)__cil_tmp42);
5447#line 256
5448 __cil_tmp44 = (void *)curr_td;
5449#line 256
5450 __cil_tmp45 = (unsigned long )curr_td;
5451#line 256
5452 __cil_tmp46 = __cil_tmp45 + 32;
5453#line 256
5454 __cil_tmp47 = *((dma_addr_t *)__cil_tmp46);
5455#line 256
5456 dma_pool_free(__cil_tmp43, __cil_tmp44, __cil_tmp47);
5457#line 252
5458 j = j + 1;
5459 }
5460 ldv_25402: ;
5461 {
5462#line 252
5463 __cil_tmp48 = (unsigned long )req;
5464#line 252
5465 __cil_tmp49 = __cil_tmp48 + 140;
5466#line 252
5467 __cil_tmp50 = *((unsigned int *)__cil_tmp49);
5468#line 252
5469 __cil_tmp51 = (unsigned int )j;
5470#line 252
5471 if (__cil_tmp51 < __cil_tmp50) {
5472#line 253
5473 goto ldv_25401;
5474 } else {
5475#line 255
5476 goto ldv_25403;
5477 }
5478 }
5479 ldv_25403: ;
5480 {
5481#line 259
5482 __cil_tmp52 = (unsigned char *)req;
5483#line 259
5484 __cil_tmp53 = __cil_tmp52 + 144UL;
5485#line 259
5486 __cil_tmp54 = *__cil_tmp53;
5487#line 259
5488 __cil_tmp55 = (unsigned int )__cil_tmp54;
5489#line 259
5490 if (__cil_tmp55 != 0U) {
5491 {
5492#line 260
5493 __cil_tmp56 = (unsigned short *)ep;
5494#line 260
5495 __cil_tmp57 = __cil_tmp56 + 61UL;
5496#line 260
5497 __cil_tmp58 = *__cil_tmp57;
5498#line 260
5499 __cil_tmp59 = (unsigned int )__cil_tmp58;
5500#line 260
5501 if (__cil_tmp59 == 0U) {
5502#line 260
5503 __cil_tmp60 = (unsigned long )ep;
5504#line 260
5505 __cil_tmp61 = __cil_tmp60 + 64;
5506#line 260
5507 __cil_tmp62 = *((struct mv_udc **)__cil_tmp61);
5508#line 260
5509 __cil_tmp63 = (unsigned long )__cil_tmp62;
5510#line 260
5511 __cil_tmp64 = __cil_tmp63 + 1436;
5512#line 260
5513 __cil_tmp65 = *((unsigned int *)__cil_tmp64);
5514#line 260
5515 tmp___1 = __cil_tmp65 == 1U;
5516 } else {
5517#line 260
5518 __cil_tmp66 = (unsigned long )ep;
5519#line 260
5520 __cil_tmp67 = __cil_tmp66 + 104;
5521#line 260
5522 __cil_tmp68 = *((u32 *)__cil_tmp67);
5523#line 260
5524 tmp___1 = __cil_tmp68 == 1U;
5525 }
5526 }
5527#line 260
5528 if (tmp___1) {
5529#line 260
5530 tmp___0 = 1;
5531 } else {
5532#line 260
5533 tmp___0 = 2;
5534 }
5535 {
5536#line 260
5537 __cil_tmp69 = 0 + 56;
5538#line 260
5539 __cil_tmp70 = (unsigned long )ep;
5540#line 260
5541 __cil_tmp71 = __cil_tmp70 + 64;
5542#line 260
5543 __cil_tmp72 = *((struct mv_udc **)__cil_tmp71);
5544#line 260
5545 __cil_tmp73 = (unsigned long )__cil_tmp72;
5546#line 260
5547 __cil_tmp74 = __cil_tmp73 + __cil_tmp69;
5548#line 260
5549 __cil_tmp75 = *((struct device **)__cil_tmp74);
5550#line 260
5551 __cil_tmp76 = 0 + 16;
5552#line 260
5553 __cil_tmp77 = (unsigned long )req;
5554#line 260
5555 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
5556#line 260
5557 __cil_tmp79 = *((dma_addr_t *)__cil_tmp78);
5558#line 260
5559 __cil_tmp80 = 0 + 8;
5560#line 260
5561 __cil_tmp81 = (unsigned long )req;
5562#line 260
5563 __cil_tmp82 = __cil_tmp81 + __cil_tmp80;
5564#line 260
5565 __cil_tmp83 = *((unsigned int *)__cil_tmp82);
5566#line 260
5567 __cil_tmp84 = (size_t )__cil_tmp83;
5568#line 260
5569 __cil_tmp85 = (enum dma_data_direction )tmp___0;
5570#line 260
5571 __cil_tmp86 = (struct dma_attrs *)0;
5572#line 260
5573 dma_unmap_single_attrs(__cil_tmp75, __cil_tmp79, __cil_tmp84, __cil_tmp85, __cil_tmp86);
5574#line 264
5575 __cil_tmp87 = 0 + 16;
5576#line 264
5577 __cil_tmp88 = (unsigned long )req;
5578#line 264
5579 __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
5580#line 264
5581 *((dma_addr_t *)__cil_tmp89) = 0xffffffffffffffffULL;
5582#line 265
5583 __cil_tmp90 = (unsigned long )req;
5584#line 265
5585 __cil_tmp91 = __cil_tmp90 + 144;
5586#line 265
5587 *((unsigned char *)__cil_tmp91) = (unsigned char)0;
5588 }
5589 } else {
5590 {
5591#line 267
5592 __cil_tmp92 = (unsigned short *)ep;
5593#line 267
5594 __cil_tmp93 = __cil_tmp92 + 61UL;
5595#line 267
5596 __cil_tmp94 = *__cil_tmp93;
5597#line 267
5598 __cil_tmp95 = (unsigned int )__cil_tmp94;
5599#line 267
5600 if (__cil_tmp95 == 0U) {
5601#line 267
5602 __cil_tmp96 = (unsigned long )ep;
5603#line 267
5604 __cil_tmp97 = __cil_tmp96 + 64;
5605#line 267
5606 __cil_tmp98 = *((struct mv_udc **)__cil_tmp97);
5607#line 267
5608 __cil_tmp99 = (unsigned long )__cil_tmp98;
5609#line 267
5610 __cil_tmp100 = __cil_tmp99 + 1436;
5611#line 267
5612 __cil_tmp101 = *((unsigned int *)__cil_tmp100);
5613#line 267
5614 tmp___4 = __cil_tmp101 == 1U;
5615 } else {
5616#line 267
5617 __cil_tmp102 = (unsigned long )ep;
5618#line 267
5619 __cil_tmp103 = __cil_tmp102 + 104;
5620#line 267
5621 __cil_tmp104 = *((u32 *)__cil_tmp103);
5622#line 267
5623 tmp___4 = __cil_tmp104 == 1U;
5624 }
5625 }
5626#line 267
5627 if (tmp___4) {
5628#line 267
5629 tmp___3 = 1;
5630 } else {
5631#line 267
5632 tmp___3 = 2;
5633 }
5634 {
5635#line 267
5636 __cil_tmp105 = 0 + 56;
5637#line 267
5638 __cil_tmp106 = (unsigned long )ep;
5639#line 267
5640 __cil_tmp107 = __cil_tmp106 + 64;
5641#line 267
5642 __cil_tmp108 = *((struct mv_udc **)__cil_tmp107);
5643#line 267
5644 __cil_tmp109 = (unsigned long )__cil_tmp108;
5645#line 267
5646 __cil_tmp110 = __cil_tmp109 + __cil_tmp105;
5647#line 267
5648 __cil_tmp111 = *((struct device **)__cil_tmp110);
5649#line 267
5650 __cil_tmp112 = 0 + 16;
5651#line 267
5652 __cil_tmp113 = (unsigned long )req;
5653#line 267
5654 __cil_tmp114 = __cil_tmp113 + __cil_tmp112;
5655#line 267
5656 __cil_tmp115 = *((dma_addr_t *)__cil_tmp114);
5657#line 267
5658 __cil_tmp116 = 0 + 8;
5659#line 267
5660 __cil_tmp117 = (unsigned long )req;
5661#line 267
5662 __cil_tmp118 = __cil_tmp117 + __cil_tmp116;
5663#line 267
5664 __cil_tmp119 = *((unsigned int *)__cil_tmp118);
5665#line 267
5666 __cil_tmp120 = (size_t )__cil_tmp119;
5667#line 267
5668 __cil_tmp121 = (enum dma_data_direction )tmp___3;
5669#line 267
5670 dma_sync_single_for_cpu(__cil_tmp111, __cil_tmp115, __cil_tmp120, __cil_tmp121);
5671 }
5672 }
5673 }
5674#line 272
5675 if (status != 0) {
5676#line 272
5677 if (status != -108) {
5678 {
5679#line 273
5680 __cil_tmp122 = (unsigned long )udc;
5681#line 273
5682 __cil_tmp123 = __cil_tmp122 + 1296;
5683#line 273
5684 __cil_tmp124 = *((struct platform_device **)__cil_tmp123);
5685#line 273
5686 __cil_tmp125 = (unsigned long )__cil_tmp124;
5687#line 273
5688 __cil_tmp126 = __cil_tmp125 + 16;
5689#line 273
5690 __cil_tmp127 = (struct device *)__cil_tmp126;
5691#line 273
5692 __cil_tmp128 = (struct device *)__cil_tmp127;
5693#line 273
5694 __cil_tmp129 = 0 + 8;
5695#line 273
5696 __cil_tmp130 = (unsigned long )ep;
5697#line 273
5698 __cil_tmp131 = __cil_tmp130 + __cil_tmp129;
5699#line 273
5700 __cil_tmp132 = *((char **)__cil_tmp131);
5701#line 273
5702 __cil_tmp133 = (struct usb_request *)req;
5703#line 273
5704 __cil_tmp134 = 0 + 84;
5705#line 273
5706 __cil_tmp135 = (unsigned long )req;
5707#line 273
5708 __cil_tmp136 = __cil_tmp135 + __cil_tmp134;
5709#line 273
5710 __cil_tmp137 = *((unsigned int *)__cil_tmp136);
5711#line 273
5712 __cil_tmp138 = 0 + 8;
5713#line 273
5714 __cil_tmp139 = (unsigned long )req;
5715#line 273
5716 __cil_tmp140 = __cil_tmp139 + __cil_tmp138;
5717#line 273
5718 __cil_tmp141 = *((unsigned int *)__cil_tmp140);
5719#line 273
5720 _dev_info(__cil_tmp128, "complete %s req %p stat %d len %u/%u", __cil_tmp132,
5721 __cil_tmp133, status, __cil_tmp137, __cil_tmp141);
5722 }
5723 } else {
5724
5725 }
5726 } else {
5727
5728 }
5729 {
5730#line 277
5731 __cil_tmp142 = (unsigned long )ep;
5732#line 277
5733 __cil_tmp143 = __cil_tmp142 + 122;
5734#line 277
5735 *((unsigned char *)__cil_tmp143) = (unsigned char)1;
5736#line 279
5737 __cil_tmp144 = (unsigned long )ep;
5738#line 279
5739 __cil_tmp145 = __cil_tmp144 + 64;
5740#line 279
5741 __cil_tmp146 = *((struct mv_udc **)__cil_tmp145);
5742#line 279
5743 __cil_tmp147 = (unsigned long )__cil_tmp146;
5744#line 279
5745 __cil_tmp148 = __cil_tmp147 + 1216;
5746#line 279
5747 __cil_tmp149 = (spinlock_t *)__cil_tmp148;
5748#line 279
5749 spin_unlock(__cil_tmp149);
5750 }
5751 {
5752#line 284
5753 __cil_tmp150 = (void (*)(struct usb_ep * , struct usb_request * ))0;
5754#line 284
5755 __cil_tmp151 = (unsigned long )__cil_tmp150;
5756#line 284
5757 __cil_tmp152 = 0 + 48;
5758#line 284
5759 __cil_tmp153 = (unsigned long )req;
5760#line 284
5761 __cil_tmp154 = __cil_tmp153 + __cil_tmp152;
5762#line 284
5763 __cil_tmp155 = *((void (**)(struct usb_ep * , struct usb_request * ))__cil_tmp154);
5764#line 284
5765 __cil_tmp156 = (unsigned long )__cil_tmp155;
5766#line 284
5767 if (__cil_tmp156 != __cil_tmp151) {
5768 {
5769#line 285
5770 __cil_tmp157 = 0 + 48;
5771#line 285
5772 __cil_tmp158 = (unsigned long )req;
5773#line 285
5774 __cil_tmp159 = __cil_tmp158 + __cil_tmp157;
5775#line 285
5776 __cil_tmp160 = *((void (**)(struct usb_ep * , struct usb_request * ))__cil_tmp159);
5777#line 285
5778 __cil_tmp161 = (struct usb_ep *)ep;
5779#line 285
5780 __cil_tmp162 = (struct usb_request *)req;
5781#line 285
5782 (*__cil_tmp160)(__cil_tmp161, __cil_tmp162);
5783 }
5784 } else {
5785
5786 }
5787 }
5788 {
5789#line 287
5790 __cil_tmp163 = (unsigned long )ep;
5791#line 287
5792 __cil_tmp164 = __cil_tmp163 + 64;
5793#line 287
5794 __cil_tmp165 = *((struct mv_udc **)__cil_tmp164);
5795#line 287
5796 __cil_tmp166 = (unsigned long )__cil_tmp165;
5797#line 287
5798 __cil_tmp167 = __cil_tmp166 + 1216;
5799#line 287
5800 __cil_tmp168 = (spinlock_t *)__cil_tmp167;
5801#line 287
5802 spin_lock(__cil_tmp168);
5803#line 288
5804 __cil_tmp169 = (unsigned long )ep;
5805#line 288
5806 __cil_tmp170 = __cil_tmp169 + 122;
5807#line 288
5808 *((unsigned char *)__cil_tmp170) = stopped;
5809 }
5810#line 289
5811 return;
5812}
5813}
5814#line 291 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
5815static int queue_dtd(struct mv_ep *ep , struct mv_req *req )
5816{ struct mv_udc *udc ;
5817 struct mv_dqh *dqh ;
5818 u32 bit_pos ;
5819 u32 direction ;
5820 u32 usbcmd ;
5821 u32 epstatus ;
5822 unsigned int loops ;
5823 int retval ;
5824 int tmp ;
5825 struct mv_req *lastreq ;
5826 struct list_head *__mptr ;
5827 unsigned int tmp___0 ;
5828 unsigned int tmp___1 ;
5829 unsigned int tmp___2 ;
5830 int tmp___3 ;
5831 unsigned long __cil_tmp18 ;
5832 unsigned long __cil_tmp19 ;
5833 unsigned short *__cil_tmp20 ;
5834 unsigned short *__cil_tmp21 ;
5835 unsigned short __cil_tmp22 ;
5836 unsigned int __cil_tmp23 ;
5837 unsigned long __cil_tmp24 ;
5838 unsigned long __cil_tmp25 ;
5839 struct mv_udc *__cil_tmp26 ;
5840 unsigned long __cil_tmp27 ;
5841 unsigned long __cil_tmp28 ;
5842 unsigned long __cil_tmp29 ;
5843 unsigned long __cil_tmp30 ;
5844 unsigned long __cil_tmp31 ;
5845 unsigned long __cil_tmp32 ;
5846 unsigned char __cil_tmp33 ;
5847 int __cil_tmp34 ;
5848 int __cil_tmp35 ;
5849 u32 __cil_tmp36 ;
5850 u32 __cil_tmp37 ;
5851 unsigned long __cil_tmp38 ;
5852 unsigned long __cil_tmp39 ;
5853 unsigned long __cil_tmp40 ;
5854 struct mv_dqh *__cil_tmp41 ;
5855 unsigned long __cil_tmp42 ;
5856 unsigned long __cil_tmp43 ;
5857 unsigned char __cil_tmp44 ;
5858 int __cil_tmp45 ;
5859 int __cil_tmp46 ;
5860 int __cil_tmp47 ;
5861 unsigned long __cil_tmp48 ;
5862 unsigned long __cil_tmp49 ;
5863 struct list_head *__cil_tmp50 ;
5864 struct list_head *__cil_tmp51 ;
5865 unsigned long __cil_tmp52 ;
5866 unsigned long __cil_tmp53 ;
5867 unsigned long __cil_tmp54 ;
5868 struct list_head *__cil_tmp55 ;
5869 struct mv_req *__cil_tmp56 ;
5870 unsigned long __cil_tmp57 ;
5871 unsigned long __cil_tmp58 ;
5872 struct mv_dtd *__cil_tmp59 ;
5873 unsigned long __cil_tmp60 ;
5874 unsigned long __cil_tmp61 ;
5875 struct mv_dtd *__cil_tmp62 ;
5876 unsigned long __cil_tmp63 ;
5877 unsigned long __cil_tmp64 ;
5878 dma_addr_t __cil_tmp65 ;
5879 u32 __cil_tmp66 ;
5880 unsigned long __cil_tmp67 ;
5881 unsigned long __cil_tmp68 ;
5882 struct mv_op_regs *__cil_tmp69 ;
5883 unsigned long __cil_tmp70 ;
5884 unsigned long __cil_tmp71 ;
5885 u32 *__cil_tmp72 ;
5886 void volatile *__cil_tmp73 ;
5887 unsigned int __cil_tmp74 ;
5888 unsigned long __cil_tmp75 ;
5889 unsigned long __cil_tmp76 ;
5890 struct mv_op_regs *__cil_tmp77 ;
5891 u32 *__cil_tmp78 ;
5892 void volatile *__cil_tmp79 ;
5893 unsigned long __cil_tmp80 ;
5894 unsigned long __cil_tmp81 ;
5895 struct mv_op_regs *__cil_tmp82 ;
5896 u32 *__cil_tmp83 ;
5897 void volatile *__cil_tmp84 ;
5898 unsigned long __cil_tmp85 ;
5899 unsigned long __cil_tmp86 ;
5900 struct mv_op_regs *__cil_tmp87 ;
5901 unsigned long __cil_tmp88 ;
5902 unsigned long __cil_tmp89 ;
5903 u32 *__cil_tmp90 ;
5904 void volatile *__cil_tmp91 ;
5905 unsigned long __cil_tmp92 ;
5906 unsigned long __cil_tmp93 ;
5907 struct mv_op_regs *__cil_tmp94 ;
5908 u32 *__cil_tmp95 ;
5909 void volatile *__cil_tmp96 ;
5910 unsigned int __cil_tmp97 ;
5911 unsigned long __cil_tmp98 ;
5912 unsigned long __cil_tmp99 ;
5913 struct platform_device *__cil_tmp100 ;
5914 unsigned long __cil_tmp101 ;
5915 unsigned long __cil_tmp102 ;
5916 struct device *__cil_tmp103 ;
5917 struct device *__cil_tmp104 ;
5918 unsigned long __cil_tmp105 ;
5919 unsigned long __cil_tmp106 ;
5920 struct mv_op_regs *__cil_tmp107 ;
5921 u32 *__cil_tmp108 ;
5922 void volatile *__cil_tmp109 ;
5923 unsigned long __cil_tmp110 ;
5924 unsigned long __cil_tmp111 ;
5925 struct mv_op_regs *__cil_tmp112 ;
5926 u32 *__cil_tmp113 ;
5927 void volatile *__cil_tmp114 ;
5928 unsigned long __cil_tmp115 ;
5929 unsigned long __cil_tmp116 ;
5930 unsigned long __cil_tmp117 ;
5931 unsigned long __cil_tmp118 ;
5932 struct mv_dtd *__cil_tmp119 ;
5933 unsigned long __cil_tmp120 ;
5934 unsigned long __cil_tmp121 ;
5935 dma_addr_t __cil_tmp122 ;
5936 u32 __cil_tmp123 ;
5937 unsigned long __cil_tmp124 ;
5938 unsigned long __cil_tmp125 ;
5939 unsigned long __cil_tmp126 ;
5940 unsigned long __cil_tmp127 ;
5941 u32 __cil_tmp128 ;
5942 unsigned long __cil_tmp129 ;
5943 unsigned long __cil_tmp130 ;
5944 struct mv_op_regs *__cil_tmp131 ;
5945 unsigned long __cil_tmp132 ;
5946 unsigned long __cil_tmp133 ;
5947 u32 *__cil_tmp134 ;
5948 void volatile *__cil_tmp135 ;
5949
5950 {
5951#line 298
5952 retval = 0;
5953#line 300
5954 __cil_tmp18 = (unsigned long )ep;
5955#line 300
5956 __cil_tmp19 = __cil_tmp18 + 64;
5957#line 300
5958 udc = *((struct mv_udc **)__cil_tmp19);
5959 {
5960#line 301
5961 __cil_tmp20 = (unsigned short *)ep;
5962#line 301
5963 __cil_tmp21 = __cil_tmp20 + 61UL;
5964#line 301
5965 __cil_tmp22 = *__cil_tmp21;
5966#line 301
5967 __cil_tmp23 = (unsigned int )__cil_tmp22;
5968#line 301
5969 if (__cil_tmp23 == 0U) {
5970#line 301
5971 __cil_tmp24 = (unsigned long )ep;
5972#line 301
5973 __cil_tmp25 = __cil_tmp24 + 64;
5974#line 301
5975 __cil_tmp26 = *((struct mv_udc **)__cil_tmp25);
5976#line 301
5977 __cil_tmp27 = (unsigned long )__cil_tmp26;
5978#line 301
5979 __cil_tmp28 = __cil_tmp27 + 1436;
5980#line 301
5981 direction = *((unsigned int *)__cil_tmp28);
5982 } else {
5983#line 301
5984 __cil_tmp29 = (unsigned long )ep;
5985#line 301
5986 __cil_tmp30 = __cil_tmp29 + 104;
5987#line 301
5988 direction = *((u32 *)__cil_tmp30);
5989 }
5990 }
5991#line 302
5992 __cil_tmp31 = (unsigned long )ep;
5993#line 302
5994 __cil_tmp32 = __cil_tmp31 + 123;
5995#line 302
5996 __cil_tmp33 = *((unsigned char *)__cil_tmp32);
5997#line 302
5998 __cil_tmp34 = (int )__cil_tmp33;
5999#line 302
6000 __cil_tmp35 = __cil_tmp34 * 2;
6001#line 302
6002 __cil_tmp36 = (u32 )__cil_tmp35;
6003#line 302
6004 __cil_tmp37 = __cil_tmp36 + direction;
6005#line 302
6006 __cil_tmp38 = (unsigned long )__cil_tmp37;
6007#line 302
6008 __cil_tmp39 = (unsigned long )udc;
6009#line 302
6010 __cil_tmp40 = __cil_tmp39 + 1344;
6011#line 302
6012 __cil_tmp41 = *((struct mv_dqh **)__cil_tmp40);
6013#line 302
6014 dqh = __cil_tmp41 + __cil_tmp38;
6015#line 303
6016 if (direction == 0U) {
6017#line 303
6018 tmp = 0;
6019 } else {
6020#line 303
6021 tmp = 16;
6022 }
6023 {
6024#line 303
6025 __cil_tmp42 = (unsigned long )ep;
6026#line 303
6027 __cil_tmp43 = __cil_tmp42 + 123;
6028#line 303
6029 __cil_tmp44 = *((unsigned char *)__cil_tmp43);
6030#line 303
6031 __cil_tmp45 = (int )__cil_tmp44;
6032#line 303
6033 __cil_tmp46 = tmp + __cil_tmp45;
6034#line 303
6035 __cil_tmp47 = 1 << __cil_tmp46;
6036#line 303
6037 bit_pos = (u32 )__cil_tmp47;
6038#line 306
6039 __cil_tmp48 = (unsigned long )ep;
6040#line 306
6041 __cil_tmp49 = __cil_tmp48 + 72;
6042#line 306
6043 __cil_tmp50 = (struct list_head *)__cil_tmp49;
6044#line 306
6045 __cil_tmp51 = (struct list_head *)__cil_tmp50;
6046#line 306
6047 tmp___3 = list_empty(__cil_tmp51);
6048 }
6049#line 306
6050 if (tmp___3 == 0) {
6051 {
6052#line 308
6053 __cil_tmp52 = 72 + 8;
6054#line 308
6055 __cil_tmp53 = (unsigned long )ep;
6056#line 308
6057 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
6058#line 308
6059 __cil_tmp55 = *((struct list_head **)__cil_tmp54);
6060#line 308
6061 __mptr = (struct list_head *)__cil_tmp55;
6062#line 308
6063 __cil_tmp56 = (struct mv_req *)__mptr;
6064#line 308
6065 lastreq = __cil_tmp56 + 0xffffffffffffff88UL;
6066#line 309
6067 __cil_tmp57 = (unsigned long )lastreq;
6068#line 309
6069 __cil_tmp58 = __cil_tmp57 + 104;
6070#line 309
6071 __cil_tmp59 = *((struct mv_dtd **)__cil_tmp58);
6072#line 309
6073 __cil_tmp60 = (unsigned long )req;
6074#line 309
6075 __cil_tmp61 = __cil_tmp60 + 96;
6076#line 309
6077 __cil_tmp62 = *((struct mv_dtd **)__cil_tmp61);
6078#line 309
6079 __cil_tmp63 = (unsigned long )__cil_tmp62;
6080#line 309
6081 __cil_tmp64 = __cil_tmp63 + 32;
6082#line 309
6083 __cil_tmp65 = *((dma_addr_t *)__cil_tmp64);
6084#line 309
6085 __cil_tmp66 = (u32 )__cil_tmp65;
6086#line 309
6087 *((u32 *)__cil_tmp59) = __cil_tmp66 & 4294967264U;
6088#line 312
6089 __asm__ volatile ("sfence": : : "memory");
6090#line 314
6091 __cil_tmp67 = (unsigned long )udc;
6092#line 314
6093 __cil_tmp68 = __cil_tmp67 + 1320;
6094#line 314
6095 __cil_tmp69 = *((struct mv_op_regs **)__cil_tmp68);
6096#line 314
6097 __cil_tmp70 = (unsigned long )__cil_tmp69;
6098#line 314
6099 __cil_tmp71 = __cil_tmp70 + 112;
6100#line 314
6101 __cil_tmp72 = (u32 *)__cil_tmp71;
6102#line 314
6103 __cil_tmp73 = (void volatile *)__cil_tmp72;
6104#line 314
6105 tmp___0 = readl(__cil_tmp73);
6106 }
6107 {
6108#line 314
6109 __cil_tmp74 = tmp___0 & bit_pos;
6110#line 314
6111 if (__cil_tmp74 != 0U) {
6112#line 315
6113 goto done;
6114 } else {
6115
6116 }
6117 }
6118#line 317
6119 loops = 62U;
6120 ldv_25421:
6121 {
6122#line 320
6123 __cil_tmp75 = (unsigned long )udc;
6124#line 320
6125 __cil_tmp76 = __cil_tmp75 + 1320;
6126#line 320
6127 __cil_tmp77 = *((struct mv_op_regs **)__cil_tmp76);
6128#line 320
6129 __cil_tmp78 = (u32 *)__cil_tmp77;
6130#line 320
6131 __cil_tmp79 = (void volatile *)__cil_tmp78;
6132#line 320
6133 usbcmd = readl(__cil_tmp79);
6134#line 321
6135 usbcmd = usbcmd | 16384U;
6136#line 322
6137 __cil_tmp80 = (unsigned long )udc;
6138#line 322
6139 __cil_tmp81 = __cil_tmp80 + 1320;
6140#line 322
6141 __cil_tmp82 = *((struct mv_op_regs **)__cil_tmp81);
6142#line 322
6143 __cil_tmp83 = (u32 *)__cil_tmp82;
6144#line 322
6145 __cil_tmp84 = (void volatile *)__cil_tmp83;
6146#line 322
6147 writel(usbcmd, __cil_tmp84);
6148#line 325
6149 __cil_tmp85 = (unsigned long )udc;
6150#line 325
6151 __cil_tmp86 = __cil_tmp85 + 1320;
6152#line 325
6153 __cil_tmp87 = *((struct mv_op_regs **)__cil_tmp86);
6154#line 325
6155 __cil_tmp88 = (unsigned long )__cil_tmp87;
6156#line 325
6157 __cil_tmp89 = __cil_tmp88 + 120;
6158#line 325
6159 __cil_tmp90 = (u32 *)__cil_tmp89;
6160#line 325
6161 __cil_tmp91 = (void volatile *)__cil_tmp90;
6162#line 325
6163 tmp___1 = readl(__cil_tmp91);
6164#line 325
6165 epstatus = tmp___1 & bit_pos;
6166#line 334
6167 __cil_tmp92 = (unsigned long )udc;
6168#line 334
6169 __cil_tmp93 = __cil_tmp92 + 1320;
6170#line 334
6171 __cil_tmp94 = *((struct mv_op_regs **)__cil_tmp93);
6172#line 334
6173 __cil_tmp95 = (u32 *)__cil_tmp94;
6174#line 334
6175 __cil_tmp96 = (void volatile *)__cil_tmp95;
6176#line 334
6177 tmp___2 = readl(__cil_tmp96);
6178 }
6179 {
6180#line 334
6181 __cil_tmp97 = tmp___2 & 16384U;
6182#line 334
6183 if (__cil_tmp97 != 0U) {
6184#line 336
6185 goto ldv_25420;
6186 } else {
6187
6188 }
6189 }
6190#line 338
6191 loops = loops - 1U;
6192#line 339
6193 if (loops == 0U) {
6194 {
6195#line 340
6196 __cil_tmp98 = (unsigned long )udc;
6197#line 340
6198 __cil_tmp99 = __cil_tmp98 + 1296;
6199#line 340
6200 __cil_tmp100 = *((struct platform_device **)__cil_tmp99);
6201#line 340
6202 __cil_tmp101 = (unsigned long )__cil_tmp100;
6203#line 340
6204 __cil_tmp102 = __cil_tmp101 + 16;
6205#line 340
6206 __cil_tmp103 = (struct device *)__cil_tmp102;
6207#line 340
6208 __cil_tmp104 = (struct device *)__cil_tmp103;
6209#line 340
6210 dev_err(__cil_tmp104, "Timeout for ATDTW_TRIPWIRE...\n");
6211#line 342
6212 retval = -62;
6213 }
6214#line 343
6215 goto done;
6216 } else {
6217
6218 }
6219 {
6220#line 345
6221 ___udelay(68720UL);
6222 }
6223#line 346
6224 goto ldv_25421;
6225 ldv_25420:
6226 {
6227#line 349
6228 __cil_tmp105 = (unsigned long )udc;
6229#line 349
6230 __cil_tmp106 = __cil_tmp105 + 1320;
6231#line 349
6232 __cil_tmp107 = *((struct mv_op_regs **)__cil_tmp106);
6233#line 349
6234 __cil_tmp108 = (u32 *)__cil_tmp107;
6235#line 349
6236 __cil_tmp109 = (void volatile *)__cil_tmp108;
6237#line 349
6238 usbcmd = readl(__cil_tmp109);
6239#line 350
6240 usbcmd = usbcmd & 4294950911U;
6241#line 351
6242 __cil_tmp110 = (unsigned long )udc;
6243#line 351
6244 __cil_tmp111 = __cil_tmp110 + 1320;
6245#line 351
6246 __cil_tmp112 = *((struct mv_op_regs **)__cil_tmp111);
6247#line 351
6248 __cil_tmp113 = (u32 *)__cil_tmp112;
6249#line 351
6250 __cil_tmp114 = (void volatile *)__cil_tmp113;
6251#line 351
6252 writel(usbcmd, __cil_tmp114);
6253 }
6254#line 353
6255 if (epstatus != 0U) {
6256#line 354
6257 goto done;
6258 } else {
6259
6260 }
6261 } else {
6262
6263 }
6264 {
6265#line 358
6266 __cil_tmp115 = (unsigned long )dqh;
6267#line 358
6268 __cil_tmp116 = __cil_tmp115 + 8;
6269#line 358
6270 __cil_tmp117 = (unsigned long )req;
6271#line 358
6272 __cil_tmp118 = __cil_tmp117 + 96;
6273#line 358
6274 __cil_tmp119 = *((struct mv_dtd **)__cil_tmp118);
6275#line 358
6276 __cil_tmp120 = (unsigned long )__cil_tmp119;
6277#line 358
6278 __cil_tmp121 = __cil_tmp120 + 32;
6279#line 358
6280 __cil_tmp122 = *((dma_addr_t *)__cil_tmp121);
6281#line 358
6282 __cil_tmp123 = (u32 )__cil_tmp122;
6283#line 358
6284 *((u32 *)__cil_tmp116) = __cil_tmp123 & 4294967264U;
6285#line 362
6286 __cil_tmp124 = (unsigned long )dqh;
6287#line 362
6288 __cil_tmp125 = __cil_tmp124 + 12;
6289#line 362
6290 __cil_tmp126 = (unsigned long )dqh;
6291#line 362
6292 __cil_tmp127 = __cil_tmp126 + 12;
6293#line 362
6294 __cil_tmp128 = *((u32 *)__cil_tmp127);
6295#line 362
6296 *((u32 *)__cil_tmp125) = __cil_tmp128 & 4294967103U;
6297#line 365
6298 __asm__ volatile ("sfence": : : "memory");
6299#line 368
6300 __cil_tmp129 = (unsigned long )udc;
6301#line 368
6302 __cil_tmp130 = __cil_tmp129 + 1320;
6303#line 368
6304 __cil_tmp131 = *((struct mv_op_regs **)__cil_tmp130);
6305#line 368
6306 __cil_tmp132 = (unsigned long )__cil_tmp131;
6307#line 368
6308 __cil_tmp133 = __cil_tmp132 + 112;
6309#line 368
6310 __cil_tmp134 = (u32 *)__cil_tmp133;
6311#line 368
6312 __cil_tmp135 = (void volatile *)__cil_tmp134;
6313#line 368
6314 writel(bit_pos, __cil_tmp135);
6315 }
6316 done: ;
6317#line 371
6318 return (retval);
6319}
6320}
6321#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
6322static struct mv_dtd *build_dtd(struct mv_req *req , unsigned int *length , dma_addr_t *dma ,
6323 int *is_last )
6324{ u32 temp ;
6325 struct mv_dtd *dtd ;
6326 struct mv_udc *udc ;
6327 unsigned int _min1 ;
6328 unsigned int _min2 ;
6329 unsigned int tmp ;
6330 void *tmp___0 ;
6331 unsigned long __cil_tmp12 ;
6332 unsigned long __cil_tmp13 ;
6333 unsigned long __cil_tmp14 ;
6334 unsigned int __cil_tmp15 ;
6335 unsigned long __cil_tmp16 ;
6336 unsigned long __cil_tmp17 ;
6337 unsigned long __cil_tmp18 ;
6338 unsigned int __cil_tmp19 ;
6339 unsigned long __cil_tmp20 ;
6340 unsigned long __cil_tmp21 ;
6341 struct mv_ep *__cil_tmp22 ;
6342 unsigned long __cil_tmp23 ;
6343 unsigned long __cil_tmp24 ;
6344 unsigned long __cil_tmp25 ;
6345 unsigned long __cil_tmp26 ;
6346 struct dma_pool *__cil_tmp27 ;
6347 struct mv_dtd *__cil_tmp28 ;
6348 unsigned long __cil_tmp29 ;
6349 unsigned long __cil_tmp30 ;
6350 unsigned long __cil_tmp31 ;
6351 unsigned long __cil_tmp32 ;
6352 unsigned long __cil_tmp33 ;
6353 unsigned long __cil_tmp34 ;
6354 unsigned long __cil_tmp35 ;
6355 unsigned int __cil_tmp36 ;
6356 unsigned long __cil_tmp37 ;
6357 unsigned long __cil_tmp38 ;
6358 unsigned long __cil_tmp39 ;
6359 dma_addr_t __cil_tmp40 ;
6360 unsigned int __cil_tmp41 ;
6361 unsigned long __cil_tmp42 ;
6362 unsigned long __cil_tmp43 ;
6363 unsigned long __cil_tmp44 ;
6364 unsigned long __cil_tmp45 ;
6365 unsigned long __cil_tmp46 ;
6366 unsigned long __cil_tmp47 ;
6367 unsigned long __cil_tmp48 ;
6368 unsigned long __cil_tmp49 ;
6369 unsigned long __cil_tmp50 ;
6370 unsigned long __cil_tmp51 ;
6371 unsigned long __cil_tmp52 ;
6372 unsigned long __cil_tmp53 ;
6373 unsigned long __cil_tmp54 ;
6374 unsigned int __cil_tmp55 ;
6375 unsigned long __cil_tmp56 ;
6376 unsigned long __cil_tmp57 ;
6377 unsigned long __cil_tmp58 ;
6378 unsigned int __cil_tmp59 ;
6379 unsigned char *__cil_tmp60 ;
6380 unsigned char *__cil_tmp61 ;
6381 unsigned char __cil_tmp62 ;
6382 unsigned int __cil_tmp63 ;
6383 unsigned int __cil_tmp64 ;
6384 unsigned long __cil_tmp65 ;
6385 unsigned long __cil_tmp66 ;
6386 unsigned long __cil_tmp67 ;
6387 struct mv_ep *__cil_tmp68 ;
6388 unsigned long __cil_tmp69 ;
6389 unsigned long __cil_tmp70 ;
6390 unsigned short __cil_tmp71 ;
6391 unsigned int __cil_tmp72 ;
6392 unsigned int __cil_tmp73 ;
6393 unsigned int __cil_tmp74 ;
6394 unsigned long __cil_tmp75 ;
6395 unsigned long __cil_tmp76 ;
6396 unsigned long __cil_tmp77 ;
6397 unsigned int __cil_tmp78 ;
6398 unsigned long __cil_tmp79 ;
6399 unsigned long __cil_tmp80 ;
6400 unsigned long __cil_tmp81 ;
6401 unsigned int __cil_tmp82 ;
6402 unsigned int __cil_tmp83 ;
6403 unsigned int __cil_tmp84 ;
6404 int __cil_tmp85 ;
6405 unsigned char *__cil_tmp86 ;
6406 unsigned char *__cil_tmp87 ;
6407 unsigned char __cil_tmp88 ;
6408 unsigned int __cil_tmp89 ;
6409 unsigned long __cil_tmp90 ;
6410 unsigned long __cil_tmp91 ;
6411
6412 {
6413#line 383
6414 __cil_tmp12 = 0 + 84;
6415#line 383
6416 __cil_tmp13 = (unsigned long )req;
6417#line 383
6418 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
6419#line 383
6420 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
6421#line 383
6422 __cil_tmp16 = 0 + 8;
6423#line 383
6424 __cil_tmp17 = (unsigned long )req;
6425#line 383
6426 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
6427#line 383
6428 __cil_tmp19 = *((unsigned int *)__cil_tmp18);
6429#line 383
6430 _min1 = __cil_tmp19 - __cil_tmp15;
6431#line 383
6432 _min2 = 16384U;
6433#line 383
6434 if (_min1 < _min2) {
6435#line 383
6436 tmp = _min1;
6437 } else {
6438#line 383
6439 tmp = _min2;
6440 }
6441 {
6442#line 383
6443 *length = tmp;
6444#line 386
6445 __cil_tmp20 = (unsigned long )req;
6446#line 386
6447 __cil_tmp21 = __cil_tmp20 + 112;
6448#line 386
6449 __cil_tmp22 = *((struct mv_ep **)__cil_tmp21);
6450#line 386
6451 __cil_tmp23 = (unsigned long )__cil_tmp22;
6452#line 386
6453 __cil_tmp24 = __cil_tmp23 + 64;
6454#line 386
6455 udc = *((struct mv_udc **)__cil_tmp24);
6456#line 392
6457 __cil_tmp25 = (unsigned long )udc;
6458#line 392
6459 __cil_tmp26 = __cil_tmp25 + 1368;
6460#line 392
6461 __cil_tmp27 = *((struct dma_pool **)__cil_tmp26);
6462#line 392
6463 tmp___0 = ldv_dma_pool_alloc_19(__cil_tmp27, 208U, dma);
6464#line 392
6465 dtd = (struct mv_dtd *)tmp___0;
6466 }
6467 {
6468#line 393
6469 __cil_tmp28 = (struct mv_dtd *)0;
6470#line 393
6471 __cil_tmp29 = (unsigned long )__cil_tmp28;
6472#line 393
6473 __cil_tmp30 = (unsigned long )dtd;
6474#line 393
6475 if (__cil_tmp30 == __cil_tmp29) {
6476#line 394
6477 return (dtd);
6478 } else {
6479
6480 }
6481 }
6482#line 396
6483 __cil_tmp31 = (unsigned long )dtd;
6484#line 396
6485 __cil_tmp32 = __cil_tmp31 + 32;
6486#line 396
6487 *((dma_addr_t *)__cil_tmp32) = *dma;
6488#line 398
6489 __cil_tmp33 = 0 + 84;
6490#line 398
6491 __cil_tmp34 = (unsigned long )req;
6492#line 398
6493 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
6494#line 398
6495 __cil_tmp36 = *((unsigned int *)__cil_tmp35);
6496#line 398
6497 __cil_tmp37 = 0 + 16;
6498#line 398
6499 __cil_tmp38 = (unsigned long )req;
6500#line 398
6501 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
6502#line 398
6503 __cil_tmp40 = *((dma_addr_t *)__cil_tmp39);
6504#line 398
6505 __cil_tmp41 = (unsigned int )__cil_tmp40;
6506#line 398
6507 temp = __cil_tmp41 + __cil_tmp36;
6508#line 399
6509 __cil_tmp42 = (unsigned long )dtd;
6510#line 399
6511 __cil_tmp43 = __cil_tmp42 + 8;
6512#line 399
6513 *((u32 *)__cil_tmp43) = temp;
6514#line 400
6515 temp = temp & 4294963200U;
6516#line 401
6517 __cil_tmp44 = (unsigned long )dtd;
6518#line 401
6519 __cil_tmp45 = __cil_tmp44 + 12;
6520#line 401
6521 *((u32 *)__cil_tmp45) = temp + 4096U;
6522#line 402
6523 __cil_tmp46 = (unsigned long )dtd;
6524#line 402
6525 __cil_tmp47 = __cil_tmp46 + 16;
6526#line 402
6527 *((u32 *)__cil_tmp47) = temp + 8192U;
6528#line 403
6529 __cil_tmp48 = (unsigned long )dtd;
6530#line 403
6531 __cil_tmp49 = __cil_tmp48 + 20;
6532#line 403
6533 *((u32 *)__cil_tmp49) = temp + 12288U;
6534#line 404
6535 __cil_tmp50 = (unsigned long )dtd;
6536#line 404
6537 __cil_tmp51 = __cil_tmp50 + 24;
6538#line 404
6539 *((u32 *)__cil_tmp51) = temp + 16384U;
6540#line 406
6541 __cil_tmp52 = 0 + 84;
6542#line 406
6543 __cil_tmp53 = (unsigned long )req;
6544#line 406
6545 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
6546#line 406
6547 __cil_tmp55 = *length;
6548#line 406
6549 __cil_tmp56 = 0 + 84;
6550#line 406
6551 __cil_tmp57 = (unsigned long )req;
6552#line 406
6553 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
6554#line 406
6555 __cil_tmp59 = *((unsigned int *)__cil_tmp58);
6556#line 406
6557 *((unsigned int *)__cil_tmp54) = __cil_tmp59 + __cil_tmp55;
6558 {
6559#line 409
6560 __cil_tmp60 = (unsigned char *)req;
6561#line 409
6562 __cil_tmp61 = __cil_tmp60 + 42UL;
6563#line 409
6564 __cil_tmp62 = *__cil_tmp61;
6565#line 409
6566 __cil_tmp63 = (unsigned int )__cil_tmp62;
6567#line 409
6568 if (__cil_tmp63 != 0U) {
6569 {
6570#line 410
6571 __cil_tmp64 = *length;
6572#line 410
6573 if (__cil_tmp64 == 0U) {
6574#line 411
6575 *is_last = 1;
6576 } else {
6577 {
6578#line 410
6579 __cil_tmp65 = 0 + 40;
6580#line 410
6581 __cil_tmp66 = (unsigned long )req;
6582#line 410
6583 __cil_tmp67 = __cil_tmp66 + 112;
6584#line 410
6585 __cil_tmp68 = *((struct mv_ep **)__cil_tmp67);
6586#line 410
6587 __cil_tmp69 = (unsigned long )__cil_tmp68;
6588#line 410
6589 __cil_tmp70 = __cil_tmp69 + __cil_tmp65;
6590#line 410
6591 __cil_tmp71 = *((unsigned short *)__cil_tmp70);
6592#line 410
6593 __cil_tmp72 = (unsigned int )__cil_tmp71;
6594#line 410
6595 __cil_tmp73 = *length;
6596#line 410
6597 __cil_tmp74 = __cil_tmp73 % __cil_tmp72;
6598#line 410
6599 if (__cil_tmp74 != 0U) {
6600#line 411
6601 *is_last = 1;
6602 } else {
6603#line 413
6604 *is_last = 0;
6605 }
6606 }
6607 }
6608 }
6609 } else {
6610 {
6611#line 414
6612 __cil_tmp75 = 0 + 84;
6613#line 414
6614 __cil_tmp76 = (unsigned long )req;
6615#line 414
6616 __cil_tmp77 = __cil_tmp76 + __cil_tmp75;
6617#line 414
6618 __cil_tmp78 = *((unsigned int *)__cil_tmp77);
6619#line 414
6620 __cil_tmp79 = 0 + 8;
6621#line 414
6622 __cil_tmp80 = (unsigned long )req;
6623#line 414
6624 __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
6625#line 414
6626 __cil_tmp82 = *((unsigned int *)__cil_tmp81);
6627#line 414
6628 if (__cil_tmp82 == __cil_tmp78) {
6629#line 415
6630 *is_last = 1;
6631 } else {
6632#line 417
6633 *is_last = 0;
6634 }
6635 }
6636 }
6637 }
6638#line 420
6639 __cil_tmp83 = *length;
6640#line 420
6641 __cil_tmp84 = __cil_tmp83 << 16;
6642#line 420
6643 temp = __cil_tmp84 | 128U;
6644 {
6645#line 423
6646 __cil_tmp85 = *is_last;
6647#line 423
6648 if (__cil_tmp85 != 0) {
6649 {
6650#line 423
6651 __cil_tmp86 = (unsigned char *)req;
6652#line 423
6653 __cil_tmp87 = __cil_tmp86 + 42UL;
6654#line 423
6655 __cil_tmp88 = *__cil_tmp87;
6656#line 423
6657 __cil_tmp89 = (unsigned int )__cil_tmp88;
6658#line 423
6659 if (__cil_tmp89 == 0U) {
6660#line 424
6661 temp = temp | 32768U;
6662 } else {
6663
6664 }
6665 }
6666 } else {
6667
6668 }
6669 }
6670#line 426
6671 __cil_tmp90 = (unsigned long )dtd;
6672#line 426
6673 __cil_tmp91 = __cil_tmp90 + 4;
6674#line 426
6675 *((u32 *)__cil_tmp91) = temp;
6676#line 428
6677 __asm__ volatile ("mfence": : : "memory");
6678#line 430
6679 return (dtd);
6680}
6681}
6682#line 434 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
6683static int req_to_dtd(struct mv_req *req )
6684{ unsigned int count ;
6685 int is_last ;
6686 int is_first ;
6687 struct mv_dtd *dtd ;
6688 struct mv_dtd *last_dtd ;
6689 struct mv_udc *udc ;
6690 dma_addr_t dma ;
6691 unsigned long __cil_tmp9 ;
6692 unsigned long __cil_tmp10 ;
6693 struct mv_ep *__cil_tmp11 ;
6694 unsigned long __cil_tmp12 ;
6695 unsigned long __cil_tmp13 ;
6696 struct mv_dtd *__cil_tmp14 ;
6697 unsigned long __cil_tmp15 ;
6698 unsigned long __cil_tmp16 ;
6699 unsigned long __cil_tmp17 ;
6700 unsigned long __cil_tmp18 ;
6701 dma_addr_t *__cil_tmp19 ;
6702 dma_addr_t __cil_tmp20 ;
6703 unsigned long __cil_tmp21 ;
6704 unsigned long __cil_tmp22 ;
6705 unsigned long __cil_tmp23 ;
6706 unsigned long __cil_tmp24 ;
6707 unsigned long __cil_tmp25 ;
6708 unsigned long __cil_tmp26 ;
6709 unsigned int __cil_tmp27 ;
6710 int *__cil_tmp28 ;
6711 int __cil_tmp29 ;
6712 unsigned long __cil_tmp30 ;
6713 unsigned long __cil_tmp31 ;
6714
6715 {
6716#line 437
6717 is_first = 1;
6718#line 438
6719 last_dtd = (struct mv_dtd *)0;
6720#line 442
6721 __cil_tmp9 = (unsigned long )req;
6722#line 442
6723 __cil_tmp10 = __cil_tmp9 + 112;
6724#line 442
6725 __cil_tmp11 = *((struct mv_ep **)__cil_tmp10);
6726#line 442
6727 __cil_tmp12 = (unsigned long )__cil_tmp11;
6728#line 442
6729 __cil_tmp13 = __cil_tmp12 + 64;
6730#line 442
6731 udc = *((struct mv_udc **)__cil_tmp13);
6732 ldv_25444:
6733 {
6734#line 445
6735 dtd = build_dtd(req, & count, & dma, & is_last);
6736 }
6737 {
6738#line 446
6739 __cil_tmp14 = (struct mv_dtd *)0;
6740#line 446
6741 __cil_tmp15 = (unsigned long )__cil_tmp14;
6742#line 446
6743 __cil_tmp16 = (unsigned long )dtd;
6744#line 446
6745 if (__cil_tmp16 == __cil_tmp15) {
6746#line 447
6747 return (-12);
6748 } else {
6749
6750 }
6751 }
6752#line 449
6753 if (is_first != 0) {
6754#line 450
6755 is_first = 0;
6756#line 451
6757 __cil_tmp17 = (unsigned long )req;
6758#line 451
6759 __cil_tmp18 = __cil_tmp17 + 96;
6760#line 451
6761 *((struct mv_dtd **)__cil_tmp18) = dtd;
6762 } else {
6763#line 453
6764 __cil_tmp19 = & dma;
6765#line 453
6766 __cil_tmp20 = *__cil_tmp19;
6767#line 453
6768 *((u32 *)last_dtd) = (u32 )__cil_tmp20;
6769#line 454
6770 __cil_tmp21 = (unsigned long )last_dtd;
6771#line 454
6772 __cil_tmp22 = __cil_tmp21 + 40;
6773#line 454
6774 *((struct mv_dtd **)__cil_tmp22) = dtd;
6775 }
6776#line 456
6777 last_dtd = dtd;
6778#line 457
6779 __cil_tmp23 = (unsigned long )req;
6780#line 457
6781 __cil_tmp24 = __cil_tmp23 + 140;
6782#line 457
6783 __cil_tmp25 = (unsigned long )req;
6784#line 457
6785 __cil_tmp26 = __cil_tmp25 + 140;
6786#line 457
6787 __cil_tmp27 = *((unsigned int *)__cil_tmp26);
6788#line 457
6789 *((unsigned int *)__cil_tmp24) = __cil_tmp27 + 1U;
6790 {
6791#line 458
6792 __cil_tmp28 = & is_last;
6793#line 458
6794 __cil_tmp29 = *__cil_tmp28;
6795#line 458
6796 if (__cil_tmp29 == 0) {
6797#line 459
6798 goto ldv_25444;
6799 } else {
6800#line 461
6801 goto ldv_25445;
6802 }
6803 }
6804 ldv_25445:
6805#line 461
6806 *((u32 *)dtd) = 1U;
6807#line 463
6808 __cil_tmp30 = (unsigned long )req;
6809#line 463
6810 __cil_tmp31 = __cil_tmp30 + 104;
6811#line 463
6812 *((struct mv_dtd **)__cil_tmp31) = dtd;
6813#line 465
6814 return (0);
6815}
6816}
6817#line 468 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
6818static int mv_ep_enable(struct usb_ep *_ep , struct usb_endpoint_descriptor *desc )
6819{ struct mv_udc *udc ;
6820 struct mv_ep *ep ;
6821 struct mv_dqh *dqh ;
6822 u16 max ;
6823 u32 bit_pos ;
6824 u32 epctrlx ;
6825 u32 direction ;
6826 unsigned char zlt ;
6827 unsigned char ios ;
6828 unsigned char mult ;
6829 unsigned long flags ;
6830 struct usb_ep *__mptr ;
6831 int tmp ;
6832 int tmp___0 ;
6833 unsigned int tmp___1 ;
6834 unsigned int tmp___2 ;
6835 char *tmp___3 ;
6836 unsigned int tmp___4 ;
6837 unsigned int tmp___5 ;
6838 int tmp___6 ;
6839 int tmp___7 ;
6840 unsigned long __cil_tmp24 ;
6841 unsigned long __cil_tmp25 ;
6842 struct usb_ep *__cil_tmp26 ;
6843 unsigned long __cil_tmp27 ;
6844 unsigned long __cil_tmp28 ;
6845 struct usb_endpoint_descriptor *__cil_tmp29 ;
6846 unsigned long __cil_tmp30 ;
6847 unsigned long __cil_tmp31 ;
6848 struct usb_endpoint_descriptor *__cil_tmp32 ;
6849 unsigned long __cil_tmp33 ;
6850 unsigned long __cil_tmp34 ;
6851 unsigned long __cil_tmp35 ;
6852 struct usb_endpoint_descriptor *__cil_tmp36 ;
6853 unsigned long __cil_tmp37 ;
6854 unsigned long __cil_tmp38 ;
6855 unsigned long __cil_tmp39 ;
6856 __u8 __cil_tmp40 ;
6857 unsigned char __cil_tmp41 ;
6858 unsigned int __cil_tmp42 ;
6859 struct usb_gadget_driver *__cil_tmp43 ;
6860 unsigned long __cil_tmp44 ;
6861 unsigned long __cil_tmp45 ;
6862 unsigned long __cil_tmp46 ;
6863 struct usb_gadget_driver *__cil_tmp47 ;
6864 unsigned long __cil_tmp48 ;
6865 unsigned long __cil_tmp49 ;
6866 unsigned long __cil_tmp50 ;
6867 unsigned long __cil_tmp51 ;
6868 enum usb_device_speed __cil_tmp52 ;
6869 unsigned int __cil_tmp53 ;
6870 unsigned short *__cil_tmp54 ;
6871 unsigned short *__cil_tmp55 ;
6872 unsigned short __cil_tmp56 ;
6873 unsigned int __cil_tmp57 ;
6874 unsigned long __cil_tmp58 ;
6875 unsigned long __cil_tmp59 ;
6876 struct mv_udc *__cil_tmp60 ;
6877 unsigned long __cil_tmp61 ;
6878 unsigned long __cil_tmp62 ;
6879 unsigned long __cil_tmp63 ;
6880 unsigned long __cil_tmp64 ;
6881 unsigned long __cil_tmp65 ;
6882 unsigned long __cil_tmp66 ;
6883 unsigned char __cil_tmp67 ;
6884 int __cil_tmp68 ;
6885 int __cil_tmp69 ;
6886 int __cil_tmp70 ;
6887 unsigned long __cil_tmp71 ;
6888 unsigned long __cil_tmp72 ;
6889 struct mv_op_regs *__cil_tmp73 ;
6890 unsigned long __cil_tmp74 ;
6891 unsigned long __cil_tmp75 ;
6892 u32 *__cil_tmp76 ;
6893 void volatile *__cil_tmp77 ;
6894 unsigned int __cil_tmp78 ;
6895 unsigned long __cil_tmp79 ;
6896 unsigned long __cil_tmp80 ;
6897 struct mv_op_regs *__cil_tmp81 ;
6898 unsigned long __cil_tmp82 ;
6899 unsigned long __cil_tmp83 ;
6900 u32 *__cil_tmp84 ;
6901 void volatile *__cil_tmp85 ;
6902 unsigned int __cil_tmp86 ;
6903 unsigned long __cil_tmp87 ;
6904 unsigned long __cil_tmp88 ;
6905 struct mv_op_regs *__cil_tmp89 ;
6906 unsigned long __cil_tmp90 ;
6907 unsigned long __cil_tmp91 ;
6908 u32 *__cil_tmp92 ;
6909 void volatile *__cil_tmp93 ;
6910 unsigned long __cil_tmp94 ;
6911 unsigned long __cil_tmp95 ;
6912 struct mv_op_regs *__cil_tmp96 ;
6913 unsigned long __cil_tmp97 ;
6914 unsigned long __cil_tmp98 ;
6915 u32 *__cil_tmp99 ;
6916 void volatile *__cil_tmp100 ;
6917 unsigned long __cil_tmp101 ;
6918 unsigned long __cil_tmp102 ;
6919 struct platform_device *__cil_tmp103 ;
6920 unsigned long __cil_tmp104 ;
6921 unsigned long __cil_tmp105 ;
6922 struct device *__cil_tmp106 ;
6923 struct device *__cil_tmp107 ;
6924 unsigned long __cil_tmp108 ;
6925 unsigned long __cil_tmp109 ;
6926 unsigned char __cil_tmp110 ;
6927 unsigned int __cil_tmp111 ;
6928 unsigned long __cil_tmp112 ;
6929 unsigned long __cil_tmp113 ;
6930 __u8 __cil_tmp114 ;
6931 int __cil_tmp115 ;
6932 int __cil_tmp116 ;
6933 int __cil_tmp117 ;
6934 unsigned char __cil_tmp118 ;
6935 unsigned int __cil_tmp119 ;
6936 unsigned int __cil_tmp120 ;
6937 unsigned int __cil_tmp121 ;
6938 unsigned int __cil_tmp122 ;
6939 unsigned int __cil_tmp123 ;
6940 unsigned int __cil_tmp124 ;
6941 unsigned long __cil_tmp125 ;
6942 unsigned long __cil_tmp126 ;
6943 unsigned int __cil_tmp127 ;
6944 unsigned int __cil_tmp128 ;
6945 int __cil_tmp129 ;
6946 int __cil_tmp130 ;
6947 int __cil_tmp131 ;
6948 int __cil_tmp132 ;
6949 int __cil_tmp133 ;
6950 int __cil_tmp134 ;
6951 int __cil_tmp135 ;
6952 unsigned long __cil_tmp136 ;
6953 unsigned long __cil_tmp137 ;
6954 unsigned long __cil_tmp138 ;
6955 unsigned long __cil_tmp139 ;
6956 unsigned long __cil_tmp140 ;
6957 unsigned long __cil_tmp141 ;
6958 unsigned long __cil_tmp142 ;
6959 unsigned long __cil_tmp143 ;
6960 unsigned long __cil_tmp144 ;
6961 unsigned long __cil_tmp145 ;
6962 unsigned long __cil_tmp146 ;
6963 unsigned long __cil_tmp147 ;
6964 unsigned long __cil_tmp148 ;
6965 unsigned char __cil_tmp149 ;
6966 unsigned long __cil_tmp150 ;
6967 unsigned long __cil_tmp151 ;
6968 unsigned long __cil_tmp152 ;
6969 struct mv_op_regs *__cil_tmp153 ;
6970 unsigned long __cil_tmp154 ;
6971 unsigned long __cil_tmp155 ;
6972 u32 (*__cil_tmp156)[16U] ;
6973 void volatile *__cil_tmp157 ;
6974 void volatile *__cil_tmp158 ;
6975 unsigned long __cil_tmp159 ;
6976 unsigned long __cil_tmp160 ;
6977 __u8 __cil_tmp161 ;
6978 int __cil_tmp162 ;
6979 int __cil_tmp163 ;
6980 int __cil_tmp164 ;
6981 u32 __cil_tmp165 ;
6982 unsigned int __cil_tmp166 ;
6983 unsigned long __cil_tmp167 ;
6984 unsigned long __cil_tmp168 ;
6985 __u8 __cil_tmp169 ;
6986 int __cil_tmp170 ;
6987 int __cil_tmp171 ;
6988 int __cil_tmp172 ;
6989 u32 __cil_tmp173 ;
6990 unsigned int __cil_tmp174 ;
6991 unsigned long __cil_tmp175 ;
6992 unsigned long __cil_tmp176 ;
6993 unsigned char __cil_tmp177 ;
6994 unsigned long __cil_tmp178 ;
6995 unsigned long __cil_tmp179 ;
6996 unsigned long __cil_tmp180 ;
6997 struct mv_op_regs *__cil_tmp181 ;
6998 unsigned long __cil_tmp182 ;
6999 unsigned long __cil_tmp183 ;
7000 u32 (*__cil_tmp184)[16U] ;
7001 void volatile *__cil_tmp185 ;
7002 void volatile *__cil_tmp186 ;
7003 unsigned long __cil_tmp187 ;
7004 unsigned long __cil_tmp188 ;
7005 unsigned char __cil_tmp189 ;
7006 unsigned long __cil_tmp190 ;
7007 unsigned long __cil_tmp191 ;
7008 unsigned long __cil_tmp192 ;
7009 struct mv_op_regs *__cil_tmp193 ;
7010 unsigned long __cil_tmp194 ;
7011 unsigned long __cil_tmp195 ;
7012 u32 (*__cil_tmp196)[16U] ;
7013 void volatile *__cil_tmp197 ;
7014 void volatile *__cil_tmp198 ;
7015 unsigned int __cil_tmp199 ;
7016 unsigned long __cil_tmp200 ;
7017 unsigned long __cil_tmp201 ;
7018 unsigned char __cil_tmp202 ;
7019 unsigned long __cil_tmp203 ;
7020 unsigned long __cil_tmp204 ;
7021 unsigned long __cil_tmp205 ;
7022 struct mv_op_regs *__cil_tmp206 ;
7023 unsigned long __cil_tmp207 ;
7024 unsigned long __cil_tmp208 ;
7025 u32 (*__cil_tmp209)[16U] ;
7026 void volatile *__cil_tmp210 ;
7027 void volatile *__cil_tmp211 ;
7028 unsigned long __cil_tmp212 ;
7029 unsigned long __cil_tmp213 ;
7030 unsigned char __cil_tmp214 ;
7031 unsigned long __cil_tmp215 ;
7032 unsigned long __cil_tmp216 ;
7033 unsigned long __cil_tmp217 ;
7034 struct mv_op_regs *__cil_tmp218 ;
7035 unsigned long __cil_tmp219 ;
7036 unsigned long __cil_tmp220 ;
7037 u32 (*__cil_tmp221)[16U] ;
7038 void volatile *__cil_tmp222 ;
7039 void volatile *__cil_tmp223 ;
7040 unsigned int __cil_tmp224 ;
7041 unsigned long __cil_tmp225 ;
7042 unsigned long __cil_tmp226 ;
7043 unsigned char __cil_tmp227 ;
7044 unsigned long __cil_tmp228 ;
7045 unsigned long __cil_tmp229 ;
7046 unsigned long __cil_tmp230 ;
7047 struct mv_op_regs *__cil_tmp231 ;
7048 unsigned long __cil_tmp232 ;
7049 unsigned long __cil_tmp233 ;
7050 u32 (*__cil_tmp234)[16U] ;
7051 void volatile *__cil_tmp235 ;
7052 void volatile *__cil_tmp236 ;
7053 unsigned long __cil_tmp237 ;
7054 unsigned long __cil_tmp238 ;
7055 spinlock_t *__cil_tmp239 ;
7056
7057 {
7058#line 474
7059 max = (u16 )0U;
7060#line 476
7061 zlt = (unsigned char)0;
7062#line 476
7063 ios = (unsigned char)0;
7064#line 476
7065 mult = (unsigned char)0;
7066#line 479
7067 __mptr = (struct usb_ep *)_ep;
7068#line 479
7069 ep = (struct mv_ep *)__mptr;
7070#line 480
7071 __cil_tmp24 = (unsigned long )ep;
7072#line 480
7073 __cil_tmp25 = __cil_tmp24 + 64;
7074#line 480
7075 udc = *((struct mv_udc **)__cil_tmp25);
7076 {
7077#line 482
7078 __cil_tmp26 = (struct usb_ep *)0;
7079#line 482
7080 __cil_tmp27 = (unsigned long )__cil_tmp26;
7081#line 482
7082 __cil_tmp28 = (unsigned long )_ep;
7083#line 482
7084 if (__cil_tmp28 == __cil_tmp27) {
7085#line 484
7086 return (-22);
7087 } else {
7088 {
7089#line 482
7090 __cil_tmp29 = (struct usb_endpoint_descriptor *)0;
7091#line 482
7092 __cil_tmp30 = (unsigned long )__cil_tmp29;
7093#line 482
7094 __cil_tmp31 = (unsigned long )desc;
7095#line 482
7096 if (__cil_tmp31 == __cil_tmp30) {
7097#line 484
7098 return (-22);
7099 } else {
7100 {
7101#line 482
7102 __cil_tmp32 = (struct usb_endpoint_descriptor *)0;
7103#line 482
7104 __cil_tmp33 = (unsigned long )__cil_tmp32;
7105#line 482
7106 __cil_tmp34 = (unsigned long )ep;
7107#line 482
7108 __cil_tmp35 = __cil_tmp34 + 96;
7109#line 482
7110 __cil_tmp36 = *((struct usb_endpoint_descriptor **)__cil_tmp35);
7111#line 482
7112 __cil_tmp37 = (unsigned long )__cil_tmp36;
7113#line 482
7114 if (__cil_tmp37 != __cil_tmp33) {
7115#line 484
7116 return (-22);
7117 } else {
7118 {
7119#line 482
7120 __cil_tmp38 = (unsigned long )desc;
7121#line 482
7122 __cil_tmp39 = __cil_tmp38 + 1;
7123#line 482
7124 __cil_tmp40 = *((__u8 *)__cil_tmp39);
7125#line 482
7126 __cil_tmp41 = (unsigned char )__cil_tmp40;
7127#line 482
7128 __cil_tmp42 = (unsigned int )__cil_tmp41;
7129#line 482
7130 if (__cil_tmp42 != 5U) {
7131#line 484
7132 return (-22);
7133 } else {
7134
7135 }
7136 }
7137 }
7138 }
7139 }
7140 }
7141 }
7142 }
7143 {
7144#line 486
7145 __cil_tmp43 = (struct usb_gadget_driver *)0;
7146#line 486
7147 __cil_tmp44 = (unsigned long )__cil_tmp43;
7148#line 486
7149 __cil_tmp45 = (unsigned long )udc;
7150#line 486
7151 __cil_tmp46 = __cil_tmp45 + 1208;
7152#line 486
7153 __cil_tmp47 = *((struct usb_gadget_driver **)__cil_tmp46);
7154#line 486
7155 __cil_tmp48 = (unsigned long )__cil_tmp47;
7156#line 486
7157 if (__cil_tmp48 == __cil_tmp44) {
7158#line 487
7159 return (-108);
7160 } else {
7161 {
7162#line 486
7163 __cil_tmp49 = 0 + 32;
7164#line 486
7165 __cil_tmp50 = (unsigned long )udc;
7166#line 486
7167 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
7168#line 486
7169 __cil_tmp52 = *((enum usb_device_speed *)__cil_tmp51);
7170#line 486
7171 __cil_tmp53 = (unsigned int )__cil_tmp52;
7172#line 486
7173 if (__cil_tmp53 == 0U) {
7174#line 487
7175 return (-108);
7176 } else {
7177
7178 }
7179 }
7180 }
7181 }
7182 {
7183#line 489
7184 __cil_tmp54 = (unsigned short *)ep;
7185#line 489
7186 __cil_tmp55 = __cil_tmp54 + 61UL;
7187#line 489
7188 __cil_tmp56 = *__cil_tmp55;
7189#line 489
7190 __cil_tmp57 = (unsigned int )__cil_tmp56;
7191#line 489
7192 if (__cil_tmp57 == 0U) {
7193#line 489
7194 __cil_tmp58 = (unsigned long )ep;
7195#line 489
7196 __cil_tmp59 = __cil_tmp58 + 64;
7197#line 489
7198 __cil_tmp60 = *((struct mv_udc **)__cil_tmp59);
7199#line 489
7200 __cil_tmp61 = (unsigned long )__cil_tmp60;
7201#line 489
7202 __cil_tmp62 = __cil_tmp61 + 1436;
7203#line 489
7204 direction = *((unsigned int *)__cil_tmp62);
7205 } else {
7206#line 489
7207 __cil_tmp63 = (unsigned long )ep;
7208#line 489
7209 __cil_tmp64 = __cil_tmp63 + 104;
7210#line 489
7211 direction = *((u32 *)__cil_tmp64);
7212 }
7213 }
7214 {
7215#line 490
7216 tmp = usb_endpoint_maxp(desc);
7217#line 490
7218 max = (u16 )tmp;
7219#line 496
7220 zlt = (unsigned char)1;
7221 }
7222#line 498
7223 if (direction == 0U) {
7224#line 498
7225 tmp___0 = 0;
7226 } else {
7227#line 498
7228 tmp___0 = 16;
7229 }
7230 {
7231#line 498
7232 __cil_tmp65 = (unsigned long )ep;
7233#line 498
7234 __cil_tmp66 = __cil_tmp65 + 123;
7235#line 498
7236 __cil_tmp67 = *((unsigned char *)__cil_tmp66);
7237#line 498
7238 __cil_tmp68 = (int )__cil_tmp67;
7239#line 498
7240 __cil_tmp69 = tmp___0 + __cil_tmp68;
7241#line 498
7242 __cil_tmp70 = 1 << __cil_tmp69;
7243#line 498
7244 bit_pos = (u32 )__cil_tmp70;
7245#line 501
7246 __cil_tmp71 = (unsigned long )udc;
7247#line 501
7248 __cil_tmp72 = __cil_tmp71 + 1320;
7249#line 501
7250 __cil_tmp73 = *((struct mv_op_regs **)__cil_tmp72);
7251#line 501
7252 __cil_tmp74 = (unsigned long )__cil_tmp73;
7253#line 501
7254 __cil_tmp75 = __cil_tmp74 + 112;
7255#line 501
7256 __cil_tmp76 = (u32 *)__cil_tmp75;
7257#line 501
7258 __cil_tmp77 = (void volatile *)__cil_tmp76;
7259#line 501
7260 tmp___4 = readl(__cil_tmp77);
7261 }
7262 {
7263#line 501
7264 __cil_tmp78 = tmp___4 & bit_pos;
7265#line 501
7266 if (__cil_tmp78 != 0U) {
7267#line 501
7268 goto _L;
7269 } else {
7270 {
7271#line 501
7272 __cil_tmp79 = (unsigned long )udc;
7273#line 501
7274 __cil_tmp80 = __cil_tmp79 + 1320;
7275#line 501
7276 __cil_tmp81 = *((struct mv_op_regs **)__cil_tmp80);
7277#line 501
7278 __cil_tmp82 = (unsigned long )__cil_tmp81;
7279#line 501
7280 __cil_tmp83 = __cil_tmp82 + 120;
7281#line 501
7282 __cil_tmp84 = (u32 *)__cil_tmp83;
7283#line 501
7284 __cil_tmp85 = (void volatile *)__cil_tmp84;
7285#line 501
7286 tmp___5 = readl(__cil_tmp85);
7287 }
7288 {
7289#line 501
7290 __cil_tmp86 = tmp___5 & bit_pos;
7291#line 501
7292 if (__cil_tmp86 != 0U) {
7293 _L:
7294 {
7295#line 503
7296 __cil_tmp87 = (unsigned long )udc;
7297#line 503
7298 __cil_tmp88 = __cil_tmp87 + 1320;
7299#line 503
7300 __cil_tmp89 = *((struct mv_op_regs **)__cil_tmp88);
7301#line 503
7302 __cil_tmp90 = (unsigned long )__cil_tmp89;
7303#line 503
7304 __cil_tmp91 = __cil_tmp90 + 120;
7305#line 503
7306 __cil_tmp92 = (u32 *)__cil_tmp91;
7307#line 503
7308 __cil_tmp93 = (void volatile *)__cil_tmp92;
7309#line 503
7310 tmp___1 = readl(__cil_tmp93);
7311#line 503
7312 __cil_tmp94 = (unsigned long )udc;
7313#line 503
7314 __cil_tmp95 = __cil_tmp94 + 1320;
7315#line 503
7316 __cil_tmp96 = *((struct mv_op_regs **)__cil_tmp95);
7317#line 503
7318 __cil_tmp97 = (unsigned long )__cil_tmp96;
7319#line 503
7320 __cil_tmp98 = __cil_tmp97 + 112;
7321#line 503
7322 __cil_tmp99 = (u32 *)__cil_tmp98;
7323#line 503
7324 __cil_tmp100 = (void volatile *)__cil_tmp99;
7325#line 503
7326 tmp___2 = readl(__cil_tmp100);
7327 }
7328#line 503
7329 if (direction != 0U) {
7330#line 503
7331 tmp___3 = (char *)"SEND";
7332 } else {
7333#line 503
7334 tmp___3 = (char *)"RECV";
7335 }
7336 {
7337#line 503
7338 __cil_tmp101 = (unsigned long )udc;
7339#line 503
7340 __cil_tmp102 = __cil_tmp101 + 1296;
7341#line 503
7342 __cil_tmp103 = *((struct platform_device **)__cil_tmp102);
7343#line 503
7344 __cil_tmp104 = (unsigned long )__cil_tmp103;
7345#line 503
7346 __cil_tmp105 = __cil_tmp104 + 16;
7347#line 503
7348 __cil_tmp106 = (struct device *)__cil_tmp105;
7349#line 503
7350 __cil_tmp107 = (struct device *)__cil_tmp106;
7351#line 503
7352 __cil_tmp108 = (unsigned long )ep;
7353#line 503
7354 __cil_tmp109 = __cil_tmp108 + 123;
7355#line 503
7356 __cil_tmp110 = *((unsigned char *)__cil_tmp109);
7357#line 503
7358 __cil_tmp111 = (unsigned int )__cil_tmp110;
7359#line 503
7360 _dev_info(__cil_tmp107, "ep=%d %s: Init ERROR: ENDPTPRIME=0x%x, ENDPTSTATUS=0x%x, bit_pos=0x%x\n",
7361 __cil_tmp111, tmp___3, tmp___2, tmp___1, bit_pos);
7362 }
7363#line 510
7364 goto en_done;
7365 } else {
7366
7367 }
7368 }
7369 }
7370 }
7371 {
7372#line 513
7373 __cil_tmp112 = (unsigned long )desc;
7374#line 513
7375 __cil_tmp113 = __cil_tmp112 + 3;
7376#line 513
7377 __cil_tmp114 = *((__u8 *)__cil_tmp113);
7378#line 513
7379 __cil_tmp115 = (int )__cil_tmp114;
7380#line 514
7381 if ((__cil_tmp115 & 3) == 2) {
7382#line 514
7383 goto case_2;
7384 } else
7385#line 518
7386 if ((__cil_tmp115 & 3) == 0) {
7387#line 518
7388 goto case_0;
7389 } else
7390#line 520
7391 if ((__cil_tmp115 & 3) == 3) {
7392#line 520
7393 goto case_3;
7394 } else
7395#line 523
7396 if ((__cil_tmp115 & 3) == 1) {
7397#line 523
7398 goto case_1;
7399 } else {
7400 {
7401#line 531
7402 goto switch_default;
7403#line 513
7404 if (0) {
7405 case_2:
7406#line 515
7407 zlt = (unsigned char)1;
7408#line 516
7409 mult = (unsigned char)0;
7410#line 517
7411 goto ldv_25465;
7412 case_0:
7413#line 519
7414 ios = (unsigned char)1;
7415 case_3:
7416#line 521
7417 mult = (unsigned char)0;
7418#line 522
7419 goto ldv_25465;
7420 case_1:
7421#line 525
7422 __cil_tmp116 = (int )max;
7423#line 525
7424 __cil_tmp117 = __cil_tmp116 >> 11;
7425#line 525
7426 __cil_tmp118 = (unsigned char )__cil_tmp117;
7427#line 525
7428 __cil_tmp119 = (unsigned int )__cil_tmp118;
7429#line 525
7430 __cil_tmp120 = __cil_tmp119 & 3U;
7431#line 525
7432 __cil_tmp121 = __cil_tmp120 + 1U;
7433#line 525
7434 mult = (unsigned char )__cil_tmp121;
7435#line 526
7436 __cil_tmp122 = (unsigned int )max;
7437#line 526
7438 __cil_tmp123 = __cil_tmp122 & 2047U;
7439#line 526
7440 max = (u16 )__cil_tmp123;
7441 {
7442#line 528
7443 __cil_tmp124 = (unsigned int )mult;
7444#line 528
7445 if (__cil_tmp124 > 3U) {
7446#line 529
7447 goto en_done;
7448 } else {
7449
7450 }
7451 }
7452#line 530
7453 goto ldv_25465;
7454 switch_default: ;
7455#line 532
7456 goto en_done;
7457 } else {
7458 switch_break: ;
7459 }
7460 }
7461 }
7462 }
7463 ldv_25465:
7464 {
7465#line 535
7466 ldv_spin_lock();
7467#line 537
7468 __cil_tmp125 = (unsigned long )ep;
7469#line 537
7470 __cil_tmp126 = __cil_tmp125 + 88;
7471#line 537
7472 dqh = *((struct mv_dqh **)__cil_tmp126);
7473 }
7474 {
7475#line 538
7476 __cil_tmp127 = (unsigned int )zlt;
7477#line 538
7478 if (__cil_tmp127 != 0U) {
7479#line 538
7480 tmp___6 = 536870912;
7481 } else {
7482#line 538
7483 tmp___6 = 0;
7484 }
7485 }
7486 {
7487#line 538
7488 __cil_tmp128 = (unsigned int )ios;
7489#line 538
7490 if (__cil_tmp128 != 0U) {
7491#line 538
7492 tmp___7 = 32768;
7493 } else {
7494#line 538
7495 tmp___7 = 0;
7496 }
7497 }
7498 {
7499#line 538
7500 __cil_tmp129 = (int )mult;
7501#line 538
7502 __cil_tmp130 = __cil_tmp129 << 30;
7503#line 538
7504 __cil_tmp131 = (int )max;
7505#line 538
7506 __cil_tmp132 = __cil_tmp131 << 16;
7507#line 538
7508 __cil_tmp133 = __cil_tmp132 | __cil_tmp130;
7509#line 538
7510 __cil_tmp134 = __cil_tmp133 | tmp___6;
7511#line 538
7512 __cil_tmp135 = __cil_tmp134 | tmp___7;
7513#line 538
7514 *((u32 *)dqh) = (u32 )__cil_tmp135;
7515#line 542
7516 __cil_tmp136 = (unsigned long )dqh;
7517#line 542
7518 __cil_tmp137 = __cil_tmp136 + 8;
7519#line 542
7520 *((u32 *)__cil_tmp137) = 1U;
7521#line 543
7522 __cil_tmp138 = (unsigned long )dqh;
7523#line 543
7524 __cil_tmp139 = __cil_tmp138 + 12;
7525#line 543
7526 *((u32 *)__cil_tmp139) = 0U;
7527#line 545
7528 __cil_tmp140 = 0 + 40;
7529#line 545
7530 __cil_tmp141 = (unsigned long )ep;
7531#line 545
7532 __cil_tmp142 = __cil_tmp141 + __cil_tmp140;
7533#line 545
7534 *((unsigned short *)__cil_tmp142) = max;
7535#line 546
7536 __cil_tmp143 = (unsigned long )ep;
7537#line 546
7538 __cil_tmp144 = __cil_tmp143 + 96;
7539#line 546
7540 *((struct usb_endpoint_descriptor **)__cil_tmp144) = desc;
7541#line 547
7542 __cil_tmp145 = (unsigned long )ep;
7543#line 547
7544 __cil_tmp146 = __cil_tmp145 + 122;
7545#line 547
7546 *((unsigned char *)__cil_tmp146) = (unsigned char)0;
7547#line 550
7548 __cil_tmp147 = (unsigned long )ep;
7549#line 550
7550 __cil_tmp148 = __cil_tmp147 + 123;
7551#line 550
7552 __cil_tmp149 = *((unsigned char *)__cil_tmp148);
7553#line 550
7554 __cil_tmp150 = (unsigned long )__cil_tmp149;
7555#line 550
7556 __cil_tmp151 = (unsigned long )udc;
7557#line 550
7558 __cil_tmp152 = __cil_tmp151 + 1320;
7559#line 550
7560 __cil_tmp153 = *((struct mv_op_regs **)__cil_tmp152);
7561#line 550
7562 __cil_tmp154 = (unsigned long )__cil_tmp153;
7563#line 550
7564 __cil_tmp155 = __cil_tmp154 + 128;
7565#line 550
7566 __cil_tmp156 = (u32 (*)[16U])__cil_tmp155;
7567#line 550
7568 __cil_tmp157 = (void volatile *)__cil_tmp156;
7569#line 550
7570 __cil_tmp158 = __cil_tmp157 + __cil_tmp150;
7571#line 550
7572 epctrlx = readl(__cil_tmp158);
7573 }
7574#line 551
7575 if (direction == 1U) {
7576#line 552
7577 epctrlx = epctrlx & 65535U;
7578#line 553
7579 __cil_tmp159 = (unsigned long )desc;
7580#line 553
7581 __cil_tmp160 = __cil_tmp159 + 3;
7582#line 553
7583 __cil_tmp161 = *((__u8 *)__cil_tmp160);
7584#line 553
7585 __cil_tmp162 = (int )__cil_tmp161;
7586#line 553
7587 __cil_tmp163 = __cil_tmp162 & 3;
7588#line 553
7589 __cil_tmp164 = __cil_tmp163 << 18;
7590#line 553
7591 __cil_tmp165 = (u32 )__cil_tmp164;
7592#line 553
7593 __cil_tmp166 = __cil_tmp165 | epctrlx;
7594#line 553
7595 epctrlx = __cil_tmp166 | 12582912U;
7596 } else {
7597#line 557
7598 epctrlx = epctrlx & 4294901760U;
7599#line 558
7600 __cil_tmp167 = (unsigned long )desc;
7601#line 558
7602 __cil_tmp168 = __cil_tmp167 + 3;
7603#line 558
7604 __cil_tmp169 = *((__u8 *)__cil_tmp168);
7605#line 558
7606 __cil_tmp170 = (int )__cil_tmp169;
7607#line 558
7608 __cil_tmp171 = __cil_tmp170 & 3;
7609#line 558
7610 __cil_tmp172 = __cil_tmp171 << 2;
7611#line 558
7612 __cil_tmp173 = (u32 )__cil_tmp172;
7613#line 558
7614 __cil_tmp174 = __cil_tmp173 | epctrlx;
7615#line 558
7616 epctrlx = __cil_tmp174 | 192U;
7617 }
7618 {
7619#line 562
7620 __cil_tmp175 = (unsigned long )ep;
7621#line 562
7622 __cil_tmp176 = __cil_tmp175 + 123;
7623#line 562
7624 __cil_tmp177 = *((unsigned char *)__cil_tmp176);
7625#line 562
7626 __cil_tmp178 = (unsigned long )__cil_tmp177;
7627#line 562
7628 __cil_tmp179 = (unsigned long )udc;
7629#line 562
7630 __cil_tmp180 = __cil_tmp179 + 1320;
7631#line 562
7632 __cil_tmp181 = *((struct mv_op_regs **)__cil_tmp180);
7633#line 562
7634 __cil_tmp182 = (unsigned long )__cil_tmp181;
7635#line 562
7636 __cil_tmp183 = __cil_tmp182 + 128;
7637#line 562
7638 __cil_tmp184 = (u32 (*)[16U])__cil_tmp183;
7639#line 562
7640 __cil_tmp185 = (void volatile *)__cil_tmp184;
7641#line 562
7642 __cil_tmp186 = __cil_tmp185 + __cil_tmp178;
7643#line 562
7644 writel(epctrlx, __cil_tmp186);
7645#line 568
7646 __cil_tmp187 = (unsigned long )ep;
7647#line 568
7648 __cil_tmp188 = __cil_tmp187 + 123;
7649#line 568
7650 __cil_tmp189 = *((unsigned char *)__cil_tmp188);
7651#line 568
7652 __cil_tmp190 = (unsigned long )__cil_tmp189;
7653#line 568
7654 __cil_tmp191 = (unsigned long )udc;
7655#line 568
7656 __cil_tmp192 = __cil_tmp191 + 1320;
7657#line 568
7658 __cil_tmp193 = *((struct mv_op_regs **)__cil_tmp192);
7659#line 568
7660 __cil_tmp194 = (unsigned long )__cil_tmp193;
7661#line 568
7662 __cil_tmp195 = __cil_tmp194 + 128;
7663#line 568
7664 __cil_tmp196 = (u32 (*)[16U])__cil_tmp195;
7665#line 568
7666 __cil_tmp197 = (void volatile *)__cil_tmp196;
7667#line 568
7668 __cil_tmp198 = __cil_tmp197 + __cil_tmp190;
7669#line 568
7670 epctrlx = readl(__cil_tmp198);
7671 }
7672 {
7673#line 569
7674 __cil_tmp199 = epctrlx & 128U;
7675#line 569
7676 if (__cil_tmp199 == 0U) {
7677 {
7678#line 570
7679 epctrlx = epctrlx | 8U;
7680#line 572
7681 __cil_tmp200 = (unsigned long )ep;
7682#line 572
7683 __cil_tmp201 = __cil_tmp200 + 123;
7684#line 572
7685 __cil_tmp202 = *((unsigned char *)__cil_tmp201);
7686#line 572
7687 __cil_tmp203 = (unsigned long )__cil_tmp202;
7688#line 572
7689 __cil_tmp204 = (unsigned long )udc;
7690#line 572
7691 __cil_tmp205 = __cil_tmp204 + 1320;
7692#line 572
7693 __cil_tmp206 = *((struct mv_op_regs **)__cil_tmp205);
7694#line 572
7695 __cil_tmp207 = (unsigned long )__cil_tmp206;
7696#line 572
7697 __cil_tmp208 = __cil_tmp207 + 128;
7698#line 572
7699 __cil_tmp209 = (u32 (*)[16U])__cil_tmp208;
7700#line 572
7701 __cil_tmp210 = (void volatile *)__cil_tmp209;
7702#line 572
7703 __cil_tmp211 = __cil_tmp210 + __cil_tmp203;
7704#line 572
7705 writel(epctrlx, __cil_tmp211);
7706 }
7707 } else {
7708
7709 }
7710 }
7711 {
7712#line 575
7713 __cil_tmp212 = (unsigned long )ep;
7714#line 575
7715 __cil_tmp213 = __cil_tmp212 + 123;
7716#line 575
7717 __cil_tmp214 = *((unsigned char *)__cil_tmp213);
7718#line 575
7719 __cil_tmp215 = (unsigned long )__cil_tmp214;
7720#line 575
7721 __cil_tmp216 = (unsigned long )udc;
7722#line 575
7723 __cil_tmp217 = __cil_tmp216 + 1320;
7724#line 575
7725 __cil_tmp218 = *((struct mv_op_regs **)__cil_tmp217);
7726#line 575
7727 __cil_tmp219 = (unsigned long )__cil_tmp218;
7728#line 575
7729 __cil_tmp220 = __cil_tmp219 + 128;
7730#line 575
7731 __cil_tmp221 = (u32 (*)[16U])__cil_tmp220;
7732#line 575
7733 __cil_tmp222 = (void volatile *)__cil_tmp221;
7734#line 575
7735 __cil_tmp223 = __cil_tmp222 + __cil_tmp215;
7736#line 575
7737 epctrlx = readl(__cil_tmp223);
7738 }
7739 {
7740#line 576
7741 __cil_tmp224 = epctrlx & 8388608U;
7742#line 576
7743 if (__cil_tmp224 == 0U) {
7744 {
7745#line 577
7746 epctrlx = epctrlx | 524288U;
7747#line 579
7748 __cil_tmp225 = (unsigned long )ep;
7749#line 579
7750 __cil_tmp226 = __cil_tmp225 + 123;
7751#line 579
7752 __cil_tmp227 = *((unsigned char *)__cil_tmp226);
7753#line 579
7754 __cil_tmp228 = (unsigned long )__cil_tmp227;
7755#line 579
7756 __cil_tmp229 = (unsigned long )udc;
7757#line 579
7758 __cil_tmp230 = __cil_tmp229 + 1320;
7759#line 579
7760 __cil_tmp231 = *((struct mv_op_regs **)__cil_tmp230);
7761#line 579
7762 __cil_tmp232 = (unsigned long )__cil_tmp231;
7763#line 579
7764 __cil_tmp233 = __cil_tmp232 + 128;
7765#line 579
7766 __cil_tmp234 = (u32 (*)[16U])__cil_tmp233;
7767#line 579
7768 __cil_tmp235 = (void volatile *)__cil_tmp234;
7769#line 579
7770 __cil_tmp236 = __cil_tmp235 + __cil_tmp228;
7771#line 579
7772 writel(epctrlx, __cil_tmp236);
7773 }
7774 } else {
7775
7776 }
7777 }
7778 {
7779#line 582
7780 __cil_tmp237 = (unsigned long )udc;
7781#line 582
7782 __cil_tmp238 = __cil_tmp237 + 1216;
7783#line 582
7784 __cil_tmp239 = (spinlock_t *)__cil_tmp238;
7785#line 582
7786 spin_unlock_irqrestore(__cil_tmp239, flags);
7787 }
7788#line 584
7789 return (0);
7790 en_done: ;
7791#line 586
7792 return (-22);
7793}
7794}
7795#line 589 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
7796static int mv_ep_disable(struct usb_ep *_ep )
7797{ struct mv_udc *udc ;
7798 struct mv_ep *ep ;
7799 struct mv_dqh *dqh ;
7800 u32 bit_pos ;
7801 u32 epctrlx ;
7802 u32 direction ;
7803 unsigned long flags ;
7804 struct usb_ep *__mptr ;
7805 int tmp ;
7806 unsigned int tmp___0 ;
7807 struct usb_ep *__cil_tmp12 ;
7808 unsigned long __cil_tmp13 ;
7809 unsigned long __cil_tmp14 ;
7810 struct usb_endpoint_descriptor *__cil_tmp15 ;
7811 unsigned long __cil_tmp16 ;
7812 unsigned long __cil_tmp17 ;
7813 unsigned long __cil_tmp18 ;
7814 struct usb_endpoint_descriptor *__cil_tmp19 ;
7815 unsigned long __cil_tmp20 ;
7816 unsigned long __cil_tmp21 ;
7817 unsigned long __cil_tmp22 ;
7818 unsigned long __cil_tmp23 ;
7819 unsigned long __cil_tmp24 ;
7820 unsigned short *__cil_tmp25 ;
7821 unsigned short *__cil_tmp26 ;
7822 unsigned short __cil_tmp27 ;
7823 unsigned int __cil_tmp28 ;
7824 unsigned long __cil_tmp29 ;
7825 unsigned long __cil_tmp30 ;
7826 struct mv_udc *__cil_tmp31 ;
7827 unsigned long __cil_tmp32 ;
7828 unsigned long __cil_tmp33 ;
7829 unsigned long __cil_tmp34 ;
7830 unsigned long __cil_tmp35 ;
7831 unsigned long __cil_tmp36 ;
7832 unsigned long __cil_tmp37 ;
7833 unsigned char __cil_tmp38 ;
7834 int __cil_tmp39 ;
7835 int __cil_tmp40 ;
7836 int __cil_tmp41 ;
7837 unsigned long __cil_tmp42 ;
7838 unsigned long __cil_tmp43 ;
7839 unsigned char __cil_tmp44 ;
7840 unsigned long __cil_tmp45 ;
7841 unsigned long __cil_tmp46 ;
7842 unsigned long __cil_tmp47 ;
7843 struct mv_op_regs *__cil_tmp48 ;
7844 unsigned long __cil_tmp49 ;
7845 unsigned long __cil_tmp50 ;
7846 u32 (*__cil_tmp51)[16U] ;
7847 void volatile *__cil_tmp52 ;
7848 void volatile *__cil_tmp53 ;
7849 unsigned long __cil_tmp54 ;
7850 unsigned long __cil_tmp55 ;
7851 unsigned char __cil_tmp56 ;
7852 unsigned long __cil_tmp57 ;
7853 unsigned long __cil_tmp58 ;
7854 unsigned long __cil_tmp59 ;
7855 struct mv_op_regs *__cil_tmp60 ;
7856 unsigned long __cil_tmp61 ;
7857 unsigned long __cil_tmp62 ;
7858 u32 (*__cil_tmp63)[16U] ;
7859 void volatile *__cil_tmp64 ;
7860 void volatile *__cil_tmp65 ;
7861 unsigned long __cil_tmp66 ;
7862 unsigned long __cil_tmp67 ;
7863 unsigned long __cil_tmp68 ;
7864 unsigned long __cil_tmp69 ;
7865 unsigned long __cil_tmp70 ;
7866 unsigned long __cil_tmp71 ;
7867 unsigned long __cil_tmp72 ;
7868 unsigned long __cil_tmp73 ;
7869 unsigned long __cil_tmp74 ;
7870 spinlock_t *__cil_tmp75 ;
7871
7872 {
7873#line 597
7874 __mptr = (struct usb_ep *)_ep;
7875#line 597
7876 ep = (struct mv_ep *)__mptr;
7877 {
7878#line 598
7879 __cil_tmp12 = (struct usb_ep *)0;
7880#line 598
7881 __cil_tmp13 = (unsigned long )__cil_tmp12;
7882#line 598
7883 __cil_tmp14 = (unsigned long )_ep;
7884#line 598
7885 if (__cil_tmp14 == __cil_tmp13) {
7886#line 599
7887 return (-22);
7888 } else {
7889 {
7890#line 598
7891 __cil_tmp15 = (struct usb_endpoint_descriptor *)0;
7892#line 598
7893 __cil_tmp16 = (unsigned long )__cil_tmp15;
7894#line 598
7895 __cil_tmp17 = (unsigned long )ep;
7896#line 598
7897 __cil_tmp18 = __cil_tmp17 + 96;
7898#line 598
7899 __cil_tmp19 = *((struct usb_endpoint_descriptor **)__cil_tmp18);
7900#line 598
7901 __cil_tmp20 = (unsigned long )__cil_tmp19;
7902#line 598
7903 if (__cil_tmp20 == __cil_tmp16) {
7904#line 599
7905 return (-22);
7906 } else {
7907
7908 }
7909 }
7910 }
7911 }
7912 {
7913#line 601
7914 __cil_tmp21 = (unsigned long )ep;
7915#line 601
7916 __cil_tmp22 = __cil_tmp21 + 64;
7917#line 601
7918 udc = *((struct mv_udc **)__cil_tmp22);
7919#line 604
7920 __cil_tmp23 = (unsigned long )ep;
7921#line 604
7922 __cil_tmp24 = __cil_tmp23 + 88;
7923#line 604
7924 dqh = *((struct mv_dqh **)__cil_tmp24);
7925#line 606
7926 ldv_spin_lock();
7927 }
7928 {
7929#line 608
7930 __cil_tmp25 = (unsigned short *)ep;
7931#line 608
7932 __cil_tmp26 = __cil_tmp25 + 61UL;
7933#line 608
7934 __cil_tmp27 = *__cil_tmp26;
7935#line 608
7936 __cil_tmp28 = (unsigned int )__cil_tmp27;
7937#line 608
7938 if (__cil_tmp28 == 0U) {
7939#line 608
7940 __cil_tmp29 = (unsigned long )ep;
7941#line 608
7942 __cil_tmp30 = __cil_tmp29 + 64;
7943#line 608
7944 __cil_tmp31 = *((struct mv_udc **)__cil_tmp30);
7945#line 608
7946 __cil_tmp32 = (unsigned long )__cil_tmp31;
7947#line 608
7948 __cil_tmp33 = __cil_tmp32 + 1436;
7949#line 608
7950 direction = *((unsigned int *)__cil_tmp33);
7951 } else {
7952#line 608
7953 __cil_tmp34 = (unsigned long )ep;
7954#line 608
7955 __cil_tmp35 = __cil_tmp34 + 104;
7956#line 608
7957 direction = *((u32 *)__cil_tmp35);
7958 }
7959 }
7960#line 609
7961 if (direction == 0U) {
7962#line 609
7963 tmp = 0;
7964 } else {
7965#line 609
7966 tmp = 16;
7967 }
7968 {
7969#line 609
7970 __cil_tmp36 = (unsigned long )ep;
7971#line 609
7972 __cil_tmp37 = __cil_tmp36 + 123;
7973#line 609
7974 __cil_tmp38 = *((unsigned char *)__cil_tmp37);
7975#line 609
7976 __cil_tmp39 = (int )__cil_tmp38;
7977#line 609
7978 __cil_tmp40 = tmp + __cil_tmp39;
7979#line 609
7980 __cil_tmp41 = 1 << __cil_tmp40;
7981#line 609
7982 bit_pos = (u32 )__cil_tmp41;
7983#line 612
7984 *((u32 *)dqh) = 0U;
7985#line 615
7986 __cil_tmp42 = (unsigned long )ep;
7987#line 615
7988 __cil_tmp43 = __cil_tmp42 + 123;
7989#line 615
7990 __cil_tmp44 = *((unsigned char *)__cil_tmp43);
7991#line 615
7992 __cil_tmp45 = (unsigned long )__cil_tmp44;
7993#line 615
7994 __cil_tmp46 = (unsigned long )udc;
7995#line 615
7996 __cil_tmp47 = __cil_tmp46 + 1320;
7997#line 615
7998 __cil_tmp48 = *((struct mv_op_regs **)__cil_tmp47);
7999#line 615
8000 __cil_tmp49 = (unsigned long )__cil_tmp48;
8001#line 615
8002 __cil_tmp50 = __cil_tmp49 + 128;
8003#line 615
8004 __cil_tmp51 = (u32 (*)[16U])__cil_tmp50;
8005#line 615
8006 __cil_tmp52 = (void volatile *)__cil_tmp51;
8007#line 615
8008 __cil_tmp53 = __cil_tmp52 + __cil_tmp45;
8009#line 615
8010 epctrlx = readl(__cil_tmp53);
8011 }
8012#line 616
8013 if (direction == 1U) {
8014#line 616
8015 tmp___0 = 4285792255U;
8016 } else {
8017#line 616
8018 tmp___0 = 4294967155U;
8019 }
8020 {
8021#line 616
8022 epctrlx = tmp___0 & epctrlx;
8023#line 619
8024 __cil_tmp54 = (unsigned long )ep;
8025#line 619
8026 __cil_tmp55 = __cil_tmp54 + 123;
8027#line 619
8028 __cil_tmp56 = *((unsigned char *)__cil_tmp55);
8029#line 619
8030 __cil_tmp57 = (unsigned long )__cil_tmp56;
8031#line 619
8032 __cil_tmp58 = (unsigned long )udc;
8033#line 619
8034 __cil_tmp59 = __cil_tmp58 + 1320;
8035#line 619
8036 __cil_tmp60 = *((struct mv_op_regs **)__cil_tmp59);
8037#line 619
8038 __cil_tmp61 = (unsigned long )__cil_tmp60;
8039#line 619
8040 __cil_tmp62 = __cil_tmp61 + 128;
8041#line 619
8042 __cil_tmp63 = (u32 (*)[16U])__cil_tmp62;
8043#line 619
8044 __cil_tmp64 = (void volatile *)__cil_tmp63;
8045#line 619
8046 __cil_tmp65 = __cil_tmp64 + __cil_tmp57;
8047#line 619
8048 writel(epctrlx, __cil_tmp65);
8049#line 622
8050 nuke(ep, -108);
8051#line 624
8052 __cil_tmp66 = (unsigned long )ep;
8053#line 624
8054 __cil_tmp67 = __cil_tmp66 + 96;
8055#line 624
8056 *((struct usb_endpoint_descriptor **)__cil_tmp67) = (struct usb_endpoint_descriptor *)0;
8057#line 625
8058 __cil_tmp68 = 0 + 48;
8059#line 625
8060 __cil_tmp69 = (unsigned long )ep;
8061#line 625
8062 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
8063#line 625
8064 *((struct usb_endpoint_descriptor **)__cil_tmp70) = (struct usb_endpoint_descriptor *)0;
8065#line 626
8066 __cil_tmp71 = (unsigned long )ep;
8067#line 626
8068 __cil_tmp72 = __cil_tmp71 + 122;
8069#line 626
8070 *((unsigned char *)__cil_tmp72) = (unsigned char)1;
8071#line 628
8072 __cil_tmp73 = (unsigned long )udc;
8073#line 628
8074 __cil_tmp74 = __cil_tmp73 + 1216;
8075#line 628
8076 __cil_tmp75 = (spinlock_t *)__cil_tmp74;
8077#line 628
8078 spin_unlock_irqrestore(__cil_tmp75, flags);
8079 }
8080#line 630
8081 return (0);
8082}
8083}
8084#line 634 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
8085static struct usb_request *mv_alloc_request(struct usb_ep *_ep , gfp_t gfp_flags )
8086{ struct mv_req *req ;
8087 void *tmp ;
8088 struct mv_req *__cil_tmp5 ;
8089 unsigned long __cil_tmp6 ;
8090 unsigned long __cil_tmp7 ;
8091 unsigned long __cil_tmp8 ;
8092 unsigned long __cil_tmp9 ;
8093 unsigned long __cil_tmp10 ;
8094 unsigned long __cil_tmp11 ;
8095 unsigned long __cil_tmp12 ;
8096 struct list_head *__cil_tmp13 ;
8097
8098 {
8099 {
8100#line 636
8101 req = (struct mv_req *)0;
8102#line 638
8103 tmp = kzalloc(152UL, gfp_flags);
8104#line 638
8105 req = (struct mv_req *)tmp;
8106 }
8107 {
8108#line 639
8109 __cil_tmp5 = (struct mv_req *)0;
8110#line 639
8111 __cil_tmp6 = (unsigned long )__cil_tmp5;
8112#line 639
8113 __cil_tmp7 = (unsigned long )req;
8114#line 639
8115 if (__cil_tmp7 == __cil_tmp6) {
8116#line 640
8117 return ((struct usb_request *)0);
8118 } else {
8119
8120 }
8121 }
8122 {
8123#line 642
8124 __cil_tmp8 = 0 + 16;
8125#line 642
8126 __cil_tmp9 = (unsigned long )req;
8127#line 642
8128 __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
8129#line 642
8130 *((dma_addr_t *)__cil_tmp10) = 0xffffffffffffffffULL;
8131#line 643
8132 __cil_tmp11 = (unsigned long )req;
8133#line 643
8134 __cil_tmp12 = __cil_tmp11 + 120;
8135#line 643
8136 __cil_tmp13 = (struct list_head *)__cil_tmp12;
8137#line 643
8138 INIT_LIST_HEAD(__cil_tmp13);
8139 }
8140#line 645
8141 return ((struct usb_request *)req);
8142}
8143}
8144#line 648 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
8145static void mv_free_request(struct usb_ep *_ep , struct usb_request *_req )
8146{ struct mv_req *req ;
8147 struct usb_request *__mptr ;
8148 struct usb_request *__cil_tmp5 ;
8149 unsigned long __cil_tmp6 ;
8150 unsigned long __cil_tmp7 ;
8151 void *__cil_tmp8 ;
8152
8153 {
8154#line 650
8155 req = (struct mv_req *)0;
8156#line 652
8157 __mptr = (struct usb_request *)_req;
8158#line 652
8159 req = (struct mv_req *)__mptr;
8160 {
8161#line 654
8162 __cil_tmp5 = (struct usb_request *)0;
8163#line 654
8164 __cil_tmp6 = (unsigned long )__cil_tmp5;
8165#line 654
8166 __cil_tmp7 = (unsigned long )_req;
8167#line 654
8168 if (__cil_tmp7 != __cil_tmp6) {
8169 {
8170#line 655
8171 __cil_tmp8 = (void *)req;
8172#line 655
8173 kfree(__cil_tmp8);
8174 }
8175 } else {
8176
8177 }
8178 }
8179#line 656
8180 return;
8181}
8182}
8183#line 658 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
8184static void mv_ep_fifo_flush(struct usb_ep *_ep )
8185{ struct mv_udc *udc ;
8186 u32 bit_pos ;
8187 u32 direction ;
8188 struct mv_ep *ep ;
8189 unsigned int loops ;
8190 struct usb_ep *__mptr ;
8191 unsigned int inter_loops ;
8192 unsigned int tmp ;
8193 unsigned int tmp___0 ;
8194 unsigned int tmp___1 ;
8195 unsigned int tmp___2 ;
8196 struct usb_ep *__cil_tmp13 ;
8197 unsigned long __cil_tmp14 ;
8198 unsigned long __cil_tmp15 ;
8199 struct usb_endpoint_descriptor *__cil_tmp16 ;
8200 unsigned long __cil_tmp17 ;
8201 unsigned long __cil_tmp18 ;
8202 unsigned long __cil_tmp19 ;
8203 struct usb_endpoint_descriptor *__cil_tmp20 ;
8204 unsigned long __cil_tmp21 ;
8205 unsigned long __cil_tmp22 ;
8206 unsigned long __cil_tmp23 ;
8207 unsigned short *__cil_tmp24 ;
8208 unsigned short *__cil_tmp25 ;
8209 unsigned short __cil_tmp26 ;
8210 unsigned int __cil_tmp27 ;
8211 unsigned long __cil_tmp28 ;
8212 unsigned long __cil_tmp29 ;
8213 struct mv_udc *__cil_tmp30 ;
8214 unsigned long __cil_tmp31 ;
8215 unsigned long __cil_tmp32 ;
8216 unsigned long __cil_tmp33 ;
8217 unsigned long __cil_tmp34 ;
8218 unsigned short *__cil_tmp35 ;
8219 unsigned short *__cil_tmp36 ;
8220 unsigned short __cil_tmp37 ;
8221 unsigned int __cil_tmp38 ;
8222 unsigned long __cil_tmp39 ;
8223 unsigned long __cil_tmp40 ;
8224 unsigned char __cil_tmp41 ;
8225 int __cil_tmp42 ;
8226 int __cil_tmp43 ;
8227 unsigned long __cil_tmp44 ;
8228 unsigned long __cil_tmp45 ;
8229 unsigned char __cil_tmp46 ;
8230 int __cil_tmp47 ;
8231 int __cil_tmp48 ;
8232 int __cil_tmp49 ;
8233 unsigned long __cil_tmp50 ;
8234 unsigned long __cil_tmp51 ;
8235 struct mv_op_regs *__cil_tmp52 ;
8236 unsigned long __cil_tmp53 ;
8237 unsigned long __cil_tmp54 ;
8238 u32 *__cil_tmp55 ;
8239 void volatile *__cil_tmp56 ;
8240 unsigned long __cil_tmp57 ;
8241 unsigned long __cil_tmp58 ;
8242 struct platform_device *__cil_tmp59 ;
8243 unsigned long __cil_tmp60 ;
8244 unsigned long __cil_tmp61 ;
8245 struct device *__cil_tmp62 ;
8246 struct device *__cil_tmp63 ;
8247 unsigned long __cil_tmp64 ;
8248 unsigned long __cil_tmp65 ;
8249 struct mv_op_regs *__cil_tmp66 ;
8250 unsigned long __cil_tmp67 ;
8251 unsigned long __cil_tmp68 ;
8252 u32 *__cil_tmp69 ;
8253 void volatile *__cil_tmp70 ;
8254 unsigned long __cil_tmp71 ;
8255 unsigned long __cil_tmp72 ;
8256 struct mv_op_regs *__cil_tmp73 ;
8257 unsigned long __cil_tmp74 ;
8258 unsigned long __cil_tmp75 ;
8259 u32 *__cil_tmp76 ;
8260 void volatile *__cil_tmp77 ;
8261 unsigned long __cil_tmp78 ;
8262 unsigned long __cil_tmp79 ;
8263 struct platform_device *__cil_tmp80 ;
8264 unsigned long __cil_tmp81 ;
8265 unsigned long __cil_tmp82 ;
8266 struct device *__cil_tmp83 ;
8267 struct device *__cil_tmp84 ;
8268 unsigned long __cil_tmp85 ;
8269 unsigned long __cil_tmp86 ;
8270 struct mv_op_regs *__cil_tmp87 ;
8271 unsigned long __cil_tmp88 ;
8272 unsigned long __cil_tmp89 ;
8273 u32 *__cil_tmp90 ;
8274 void volatile *__cil_tmp91 ;
8275 unsigned long __cil_tmp92 ;
8276 unsigned long __cil_tmp93 ;
8277 struct mv_op_regs *__cil_tmp94 ;
8278 unsigned long __cil_tmp95 ;
8279 unsigned long __cil_tmp96 ;
8280 u32 *__cil_tmp97 ;
8281 void volatile *__cil_tmp98 ;
8282 unsigned int __cil_tmp99 ;
8283
8284 {
8285 {
8286#line 665
8287 __cil_tmp13 = (struct usb_ep *)0;
8288#line 665
8289 __cil_tmp14 = (unsigned long )__cil_tmp13;
8290#line 665
8291 __cil_tmp15 = (unsigned long )_ep;
8292#line 665
8293 if (__cil_tmp15 == __cil_tmp14) {
8294#line 666
8295 return;
8296 } else {
8297
8298 }
8299 }
8300#line 668
8301 __mptr = (struct usb_ep *)_ep;
8302#line 668
8303 ep = (struct mv_ep *)__mptr;
8304 {
8305#line 669
8306 __cil_tmp16 = (struct usb_endpoint_descriptor *)0;
8307#line 669
8308 __cil_tmp17 = (unsigned long )__cil_tmp16;
8309#line 669
8310 __cil_tmp18 = (unsigned long )ep;
8311#line 669
8312 __cil_tmp19 = __cil_tmp18 + 96;
8313#line 669
8314 __cil_tmp20 = *((struct usb_endpoint_descriptor **)__cil_tmp19);
8315#line 669
8316 __cil_tmp21 = (unsigned long )__cil_tmp20;
8317#line 669
8318 if (__cil_tmp21 == __cil_tmp17) {
8319#line 670
8320 return;
8321 } else {
8322
8323 }
8324 }
8325#line 672
8326 __cil_tmp22 = (unsigned long )ep;
8327#line 672
8328 __cil_tmp23 = __cil_tmp22 + 64;
8329#line 672
8330 udc = *((struct mv_udc **)__cil_tmp23);
8331 {
8332#line 673
8333 __cil_tmp24 = (unsigned short *)ep;
8334#line 673
8335 __cil_tmp25 = __cil_tmp24 + 61UL;
8336#line 673
8337 __cil_tmp26 = *__cil_tmp25;
8338#line 673
8339 __cil_tmp27 = (unsigned int )__cil_tmp26;
8340#line 673
8341 if (__cil_tmp27 == 0U) {
8342#line 673
8343 __cil_tmp28 = (unsigned long )ep;
8344#line 673
8345 __cil_tmp29 = __cil_tmp28 + 64;
8346#line 673
8347 __cil_tmp30 = *((struct mv_udc **)__cil_tmp29);
8348#line 673
8349 __cil_tmp31 = (unsigned long )__cil_tmp30;
8350#line 673
8351 __cil_tmp32 = __cil_tmp31 + 1436;
8352#line 673
8353 direction = *((unsigned int *)__cil_tmp32);
8354 } else {
8355#line 673
8356 __cil_tmp33 = (unsigned long )ep;
8357#line 673
8358 __cil_tmp34 = __cil_tmp33 + 104;
8359#line 673
8360 direction = *((u32 *)__cil_tmp34);
8361 }
8362 }
8363 {
8364#line 675
8365 __cil_tmp35 = (unsigned short *)ep;
8366#line 675
8367 __cil_tmp36 = __cil_tmp35 + 61UL;
8368#line 675
8369 __cil_tmp37 = *__cil_tmp36;
8370#line 675
8371 __cil_tmp38 = (unsigned int )__cil_tmp37;
8372#line 675
8373 if (__cil_tmp38 == 0U) {
8374#line 676
8375 bit_pos = 65537U;
8376 } else
8377#line 677
8378 if (direction == 0U) {
8379#line 678
8380 __cil_tmp39 = (unsigned long )ep;
8381#line 678
8382 __cil_tmp40 = __cil_tmp39 + 123;
8383#line 678
8384 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
8385#line 678
8386 __cil_tmp42 = (int )__cil_tmp41;
8387#line 678
8388 __cil_tmp43 = 1 << __cil_tmp42;
8389#line 678
8390 bit_pos = (u32 )__cil_tmp43;
8391 } else {
8392#line 680
8393 __cil_tmp44 = (unsigned long )ep;
8394#line 680
8395 __cil_tmp45 = __cil_tmp44 + 123;
8396#line 680
8397 __cil_tmp46 = *((unsigned char *)__cil_tmp45);
8398#line 680
8399 __cil_tmp47 = (int )__cil_tmp46;
8400#line 680
8401 __cil_tmp48 = __cil_tmp47 + 16;
8402#line 680
8403 __cil_tmp49 = 1 << __cil_tmp48;
8404#line 680
8405 bit_pos = (u32 )__cil_tmp49;
8406 }
8407 }
8408#line 682
8409 loops = 625U;
8410 ldv_25508: ;
8411#line 686
8412 if (loops == 0U) {
8413 {
8414#line 687
8415 __cil_tmp50 = (unsigned long )udc;
8416#line 687
8417 __cil_tmp51 = __cil_tmp50 + 1320;
8418#line 687
8419 __cil_tmp52 = *((struct mv_op_regs **)__cil_tmp51);
8420#line 687
8421 __cil_tmp53 = (unsigned long )__cil_tmp52;
8422#line 687
8423 __cil_tmp54 = __cil_tmp53 + 120;
8424#line 687
8425 __cil_tmp55 = (u32 *)__cil_tmp54;
8426#line 687
8427 __cil_tmp56 = (void volatile *)__cil_tmp55;
8428#line 687
8429 tmp = readl(__cil_tmp56);
8430#line 687
8431 __cil_tmp57 = (unsigned long )udc;
8432#line 687
8433 __cil_tmp58 = __cil_tmp57 + 1296;
8434#line 687
8435 __cil_tmp59 = *((struct platform_device **)__cil_tmp58);
8436#line 687
8437 __cil_tmp60 = (unsigned long )__cil_tmp59;
8438#line 687
8439 __cil_tmp61 = __cil_tmp60 + 16;
8440#line 687
8441 __cil_tmp62 = (struct device *)__cil_tmp61;
8442#line 687
8443 __cil_tmp63 = (struct device *)__cil_tmp62;
8444#line 687
8445 dev_err(__cil_tmp63, "TIMEOUT for ENDPTSTATUS=0x%x, bit_pos=0x%x\n", tmp, bit_pos);
8446 }
8447#line 691
8448 return;
8449 } else {
8450
8451 }
8452 {
8453#line 694
8454 __cil_tmp64 = (unsigned long )udc;
8455#line 694
8456 __cil_tmp65 = __cil_tmp64 + 1320;
8457#line 694
8458 __cil_tmp66 = *((struct mv_op_regs **)__cil_tmp65);
8459#line 694
8460 __cil_tmp67 = (unsigned long )__cil_tmp66;
8461#line 694
8462 __cil_tmp68 = __cil_tmp67 + 116;
8463#line 694
8464 __cil_tmp69 = (u32 *)__cil_tmp68;
8465#line 694
8466 __cil_tmp70 = (void volatile *)__cil_tmp69;
8467#line 694
8468 writel(bit_pos, __cil_tmp70);
8469#line 697
8470 inter_loops = 625U;
8471 }
8472#line 698
8473 goto ldv_25506;
8474 ldv_25505: ;
8475#line 703
8476 if (inter_loops == 0U) {
8477 {
8478#line 704
8479 __cil_tmp71 = (unsigned long )udc;
8480#line 704
8481 __cil_tmp72 = __cil_tmp71 + 1320;
8482#line 704
8483 __cil_tmp73 = *((struct mv_op_regs **)__cil_tmp72);
8484#line 704
8485 __cil_tmp74 = (unsigned long )__cil_tmp73;
8486#line 704
8487 __cil_tmp75 = __cil_tmp74 + 116;
8488#line 704
8489 __cil_tmp76 = (u32 *)__cil_tmp75;
8490#line 704
8491 __cil_tmp77 = (void volatile *)__cil_tmp76;
8492#line 704
8493 tmp___0 = readl(__cil_tmp77);
8494#line 704
8495 __cil_tmp78 = (unsigned long )udc;
8496#line 704
8497 __cil_tmp79 = __cil_tmp78 + 1296;
8498#line 704
8499 __cil_tmp80 = *((struct platform_device **)__cil_tmp79);
8500#line 704
8501 __cil_tmp81 = (unsigned long )__cil_tmp80;
8502#line 704
8503 __cil_tmp82 = __cil_tmp81 + 16;
8504#line 704
8505 __cil_tmp83 = (struct device *)__cil_tmp82;
8506#line 704
8507 __cil_tmp84 = (struct device *)__cil_tmp83;
8508#line 704
8509 dev_err(__cil_tmp84, "TIMEOUT for ENDPTFLUSH=0x%x,bit_pos=0x%x\n", tmp___0, bit_pos);
8510 }
8511#line 709
8512 return;
8513 } else {
8514
8515 }
8516 {
8517#line 711
8518 inter_loops = inter_loops - 1U;
8519#line 712
8520 ___udelay(68720UL);
8521 }
8522 ldv_25506:
8523 {
8524#line 698
8525 __cil_tmp85 = (unsigned long )udc;
8526#line 698
8527 __cil_tmp86 = __cil_tmp85 + 1320;
8528#line 698
8529 __cil_tmp87 = *((struct mv_op_regs **)__cil_tmp86);
8530#line 698
8531 __cil_tmp88 = (unsigned long )__cil_tmp87;
8532#line 698
8533 __cil_tmp89 = __cil_tmp88 + 116;
8534#line 698
8535 __cil_tmp90 = (u32 *)__cil_tmp89;
8536#line 698
8537 __cil_tmp91 = (void volatile *)__cil_tmp90;
8538#line 698
8539 tmp___1 = readl(__cil_tmp91);
8540 }
8541#line 698
8542 if (tmp___1 != 0U) {
8543#line 699
8544 goto ldv_25505;
8545 } else {
8546#line 701
8547 goto ldv_25507;
8548 }
8549 ldv_25507:
8550 {
8551#line 714
8552 loops = loops - 1U;
8553#line 715
8554 __cil_tmp92 = (unsigned long )udc;
8555#line 715
8556 __cil_tmp93 = __cil_tmp92 + 1320;
8557#line 715
8558 __cil_tmp94 = *((struct mv_op_regs **)__cil_tmp93);
8559#line 715
8560 __cil_tmp95 = (unsigned long )__cil_tmp94;
8561#line 715
8562 __cil_tmp96 = __cil_tmp95 + 120;
8563#line 715
8564 __cil_tmp97 = (u32 *)__cil_tmp96;
8565#line 715
8566 __cil_tmp98 = (void volatile *)__cil_tmp97;
8567#line 715
8568 tmp___2 = readl(__cil_tmp98);
8569 }
8570 {
8571#line 715
8572 __cil_tmp99 = tmp___2 & bit_pos;
8573#line 715
8574 if (__cil_tmp99 != 0U) {
8575#line 716
8576 goto ldv_25508;
8577 } else {
8578#line 718
8579 goto ldv_25509;
8580 }
8581 }
8582 ldv_25509: ;
8583#line 720
8584 return;
8585}
8586}
8587#line 720 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
8588static int mv_ep_queue(struct usb_ep *_ep , struct usb_request *_req , gfp_t gfp_flags )
8589{ struct mv_ep *ep ;
8590 struct usb_ep *__mptr ;
8591 struct mv_req *req ;
8592 struct usb_request *__mptr___0 ;
8593 struct mv_udc *udc ;
8594 unsigned long flags ;
8595 int tmp ;
8596 long tmp___0 ;
8597 long tmp___1 ;
8598 int tmp___3 ;
8599 int tmp___4 ;
8600 int tmp___6 ;
8601 int tmp___7 ;
8602 int retval ;
8603 int tmp___8 ;
8604 unsigned long __cil_tmp21 ;
8605 unsigned long __cil_tmp22 ;
8606 struct usb_request *__cil_tmp23 ;
8607 unsigned long __cil_tmp24 ;
8608 unsigned long __cil_tmp25 ;
8609 unsigned long __cil_tmp26 ;
8610 unsigned long __cil_tmp27 ;
8611 struct platform_device *__cil_tmp28 ;
8612 unsigned long __cil_tmp29 ;
8613 unsigned long __cil_tmp30 ;
8614 struct device *__cil_tmp31 ;
8615 struct device *__cil_tmp32 ;
8616 void (*__cil_tmp33)(struct usb_ep * , struct usb_request * ) ;
8617 unsigned long __cil_tmp34 ;
8618 unsigned long __cil_tmp35 ;
8619 unsigned long __cil_tmp36 ;
8620 unsigned long __cil_tmp37 ;
8621 void (*__cil_tmp38)(struct usb_ep * , struct usb_request * ) ;
8622 unsigned long __cil_tmp39 ;
8623 unsigned long __cil_tmp40 ;
8624 unsigned long __cil_tmp41 ;
8625 struct platform_device *__cil_tmp42 ;
8626 unsigned long __cil_tmp43 ;
8627 unsigned long __cil_tmp44 ;
8628 struct device *__cil_tmp45 ;
8629 struct device *__cil_tmp46 ;
8630 void *__cil_tmp47 ;
8631 unsigned long __cil_tmp48 ;
8632 void *__cil_tmp49 ;
8633 unsigned long __cil_tmp50 ;
8634 unsigned long __cil_tmp51 ;
8635 unsigned long __cil_tmp52 ;
8636 struct platform_device *__cil_tmp53 ;
8637 unsigned long __cil_tmp54 ;
8638 unsigned long __cil_tmp55 ;
8639 struct device *__cil_tmp56 ;
8640 struct device *__cil_tmp57 ;
8641 unsigned long __cil_tmp58 ;
8642 unsigned long __cil_tmp59 ;
8643 struct list_head *__cil_tmp60 ;
8644 struct list_head *__cil_tmp61 ;
8645 unsigned long __cil_tmp62 ;
8646 unsigned long __cil_tmp63 ;
8647 struct platform_device *__cil_tmp64 ;
8648 unsigned long __cil_tmp65 ;
8649 unsigned long __cil_tmp66 ;
8650 struct device *__cil_tmp67 ;
8651 struct device *__cil_tmp68 ;
8652 struct usb_ep *__cil_tmp69 ;
8653 unsigned long __cil_tmp70 ;
8654 unsigned long __cil_tmp71 ;
8655 int __cil_tmp72 ;
8656 long __cil_tmp73 ;
8657 unsigned long __cil_tmp74 ;
8658 unsigned long __cil_tmp75 ;
8659 struct platform_device *__cil_tmp76 ;
8660 unsigned long __cil_tmp77 ;
8661 unsigned long __cil_tmp78 ;
8662 struct device *__cil_tmp79 ;
8663 struct device *__cil_tmp80 ;
8664 struct usb_endpoint_descriptor *__cil_tmp81 ;
8665 unsigned long __cil_tmp82 ;
8666 unsigned long __cil_tmp83 ;
8667 unsigned long __cil_tmp84 ;
8668 struct usb_endpoint_descriptor *__cil_tmp85 ;
8669 unsigned long __cil_tmp86 ;
8670 int __cil_tmp87 ;
8671 long __cil_tmp88 ;
8672 unsigned long __cil_tmp89 ;
8673 unsigned long __cil_tmp90 ;
8674 struct platform_device *__cil_tmp91 ;
8675 unsigned long __cil_tmp92 ;
8676 unsigned long __cil_tmp93 ;
8677 struct device *__cil_tmp94 ;
8678 struct device *__cil_tmp95 ;
8679 unsigned long __cil_tmp96 ;
8680 unsigned long __cil_tmp97 ;
8681 struct usb_endpoint_descriptor *__cil_tmp98 ;
8682 unsigned long __cil_tmp99 ;
8683 unsigned long __cil_tmp100 ;
8684 __u8 __cil_tmp101 ;
8685 unsigned char __cil_tmp102 ;
8686 unsigned int __cil_tmp103 ;
8687 unsigned long __cil_tmp104 ;
8688 unsigned long __cil_tmp105 ;
8689 unsigned long __cil_tmp106 ;
8690 unsigned short __cil_tmp107 ;
8691 unsigned int __cil_tmp108 ;
8692 unsigned long __cil_tmp109 ;
8693 unsigned long __cil_tmp110 ;
8694 unsigned long __cil_tmp111 ;
8695 unsigned int __cil_tmp112 ;
8696 unsigned long __cil_tmp113 ;
8697 unsigned long __cil_tmp114 ;
8698 struct usb_gadget_driver *__cil_tmp115 ;
8699 unsigned long __cil_tmp116 ;
8700 unsigned long __cil_tmp117 ;
8701 unsigned long __cil_tmp118 ;
8702 struct usb_gadget_driver *__cil_tmp119 ;
8703 unsigned long __cil_tmp120 ;
8704 unsigned long __cil_tmp121 ;
8705 unsigned long __cil_tmp122 ;
8706 unsigned long __cil_tmp123 ;
8707 enum usb_device_speed __cil_tmp124 ;
8708 unsigned int __cil_tmp125 ;
8709 unsigned long __cil_tmp126 ;
8710 unsigned long __cil_tmp127 ;
8711 unsigned long __cil_tmp128 ;
8712 unsigned long __cil_tmp129 ;
8713 unsigned long __cil_tmp130 ;
8714 dma_addr_t __cil_tmp131 ;
8715 unsigned short *__cil_tmp132 ;
8716 unsigned short *__cil_tmp133 ;
8717 unsigned short __cil_tmp134 ;
8718 unsigned int __cil_tmp135 ;
8719 unsigned long __cil_tmp136 ;
8720 unsigned long __cil_tmp137 ;
8721 struct mv_udc *__cil_tmp138 ;
8722 unsigned long __cil_tmp139 ;
8723 unsigned long __cil_tmp140 ;
8724 unsigned int __cil_tmp141 ;
8725 unsigned long __cil_tmp142 ;
8726 unsigned long __cil_tmp143 ;
8727 u32 __cil_tmp144 ;
8728 unsigned long __cil_tmp145 ;
8729 unsigned long __cil_tmp146 ;
8730 unsigned long __cil_tmp147 ;
8731 unsigned long __cil_tmp148 ;
8732 unsigned long __cil_tmp149 ;
8733 unsigned long __cil_tmp150 ;
8734 struct mv_udc *__cil_tmp151 ;
8735 unsigned long __cil_tmp152 ;
8736 unsigned long __cil_tmp153 ;
8737 struct device *__cil_tmp154 ;
8738 void *__cil_tmp155 ;
8739 unsigned long __cil_tmp156 ;
8740 unsigned long __cil_tmp157 ;
8741 unsigned long __cil_tmp158 ;
8742 unsigned int __cil_tmp159 ;
8743 size_t __cil_tmp160 ;
8744 enum dma_data_direction __cil_tmp161 ;
8745 struct dma_attrs *__cil_tmp162 ;
8746 unsigned long __cil_tmp163 ;
8747 unsigned long __cil_tmp164 ;
8748 unsigned short *__cil_tmp165 ;
8749 unsigned short *__cil_tmp166 ;
8750 unsigned short __cil_tmp167 ;
8751 unsigned int __cil_tmp168 ;
8752 unsigned long __cil_tmp169 ;
8753 unsigned long __cil_tmp170 ;
8754 struct mv_udc *__cil_tmp171 ;
8755 unsigned long __cil_tmp172 ;
8756 unsigned long __cil_tmp173 ;
8757 unsigned int __cil_tmp174 ;
8758 unsigned long __cil_tmp175 ;
8759 unsigned long __cil_tmp176 ;
8760 u32 __cil_tmp177 ;
8761 unsigned long __cil_tmp178 ;
8762 unsigned long __cil_tmp179 ;
8763 unsigned long __cil_tmp180 ;
8764 struct mv_udc *__cil_tmp181 ;
8765 unsigned long __cil_tmp182 ;
8766 unsigned long __cil_tmp183 ;
8767 struct device *__cil_tmp184 ;
8768 unsigned long __cil_tmp185 ;
8769 unsigned long __cil_tmp186 ;
8770 unsigned long __cil_tmp187 ;
8771 dma_addr_t __cil_tmp188 ;
8772 unsigned long __cil_tmp189 ;
8773 unsigned long __cil_tmp190 ;
8774 unsigned long __cil_tmp191 ;
8775 unsigned int __cil_tmp192 ;
8776 size_t __cil_tmp193 ;
8777 enum dma_data_direction __cil_tmp194 ;
8778 unsigned long __cil_tmp195 ;
8779 unsigned long __cil_tmp196 ;
8780 unsigned long __cil_tmp197 ;
8781 unsigned long __cil_tmp198 ;
8782 unsigned long __cil_tmp199 ;
8783 unsigned long __cil_tmp200 ;
8784 unsigned long __cil_tmp201 ;
8785 unsigned long __cil_tmp202 ;
8786 unsigned long __cil_tmp203 ;
8787 unsigned long __cil_tmp204 ;
8788 unsigned long __cil_tmp205 ;
8789 unsigned long __cil_tmp206 ;
8790 spinlock_t *__cil_tmp207 ;
8791 unsigned long __cil_tmp208 ;
8792 unsigned long __cil_tmp209 ;
8793 spinlock_t *__cil_tmp210 ;
8794 unsigned short *__cil_tmp211 ;
8795 unsigned short *__cil_tmp212 ;
8796 unsigned short __cil_tmp213 ;
8797 unsigned int __cil_tmp214 ;
8798 unsigned long __cil_tmp215 ;
8799 unsigned long __cil_tmp216 ;
8800 unsigned long __cil_tmp217 ;
8801 unsigned long __cil_tmp218 ;
8802 struct list_head *__cil_tmp219 ;
8803 unsigned long __cil_tmp220 ;
8804 unsigned long __cil_tmp221 ;
8805 struct list_head *__cil_tmp222 ;
8806 unsigned long __cil_tmp223 ;
8807 unsigned long __cil_tmp224 ;
8808 spinlock_t *__cil_tmp225 ;
8809
8810 {
8811#line 722
8812 __mptr = (struct usb_ep *)_ep;
8813#line 722
8814 ep = (struct mv_ep *)__mptr;
8815#line 723
8816 __mptr___0 = (struct usb_request *)_req;
8817#line 723
8818 req = (struct mv_req *)__mptr___0;
8819#line 724
8820 __cil_tmp21 = (unsigned long )ep;
8821#line 724
8822 __cil_tmp22 = __cil_tmp21 + 64;
8823#line 724
8824 udc = *((struct mv_udc **)__cil_tmp22);
8825 {
8826#line 728
8827 __cil_tmp23 = (struct usb_request *)0;
8828#line 728
8829 __cil_tmp24 = (unsigned long )__cil_tmp23;
8830#line 728
8831 __cil_tmp25 = (unsigned long )_req;
8832#line 728
8833 if (__cil_tmp25 == __cil_tmp24) {
8834 {
8835#line 730
8836 __cil_tmp26 = (unsigned long )udc;
8837#line 730
8838 __cil_tmp27 = __cil_tmp26 + 1296;
8839#line 730
8840 __cil_tmp28 = *((struct platform_device **)__cil_tmp27);
8841#line 730
8842 __cil_tmp29 = (unsigned long )__cil_tmp28;
8843#line 730
8844 __cil_tmp30 = __cil_tmp29 + 16;
8845#line 730
8846 __cil_tmp31 = (struct device *)__cil_tmp30;
8847#line 730
8848 __cil_tmp32 = (struct device *)__cil_tmp31;
8849#line 730
8850 dev_err(__cil_tmp32, "%s, bad params", "mv_ep_queue");
8851 }
8852#line 731
8853 return (-22);
8854 } else {
8855 {
8856#line 728
8857 __cil_tmp33 = (void (*)(struct usb_ep * , struct usb_request * ))0;
8858#line 728
8859 __cil_tmp34 = (unsigned long )__cil_tmp33;
8860#line 728
8861 __cil_tmp35 = 0 + 48;
8862#line 728
8863 __cil_tmp36 = (unsigned long )req;
8864#line 728
8865 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
8866#line 728
8867 __cil_tmp38 = *((void (**)(struct usb_ep * , struct usb_request * ))__cil_tmp37);
8868#line 728
8869 __cil_tmp39 = (unsigned long )__cil_tmp38;
8870#line 728
8871 if (__cil_tmp39 == __cil_tmp34) {
8872 {
8873#line 730
8874 __cil_tmp40 = (unsigned long )udc;
8875#line 730
8876 __cil_tmp41 = __cil_tmp40 + 1296;
8877#line 730
8878 __cil_tmp42 = *((struct platform_device **)__cil_tmp41);
8879#line 730
8880 __cil_tmp43 = (unsigned long )__cil_tmp42;
8881#line 730
8882 __cil_tmp44 = __cil_tmp43 + 16;
8883#line 730
8884 __cil_tmp45 = (struct device *)__cil_tmp44;
8885#line 730
8886 __cil_tmp46 = (struct device *)__cil_tmp45;
8887#line 730
8888 dev_err(__cil_tmp46, "%s, bad params", "mv_ep_queue");
8889 }
8890#line 731
8891 return (-22);
8892 } else {
8893 {
8894#line 728
8895 __cil_tmp47 = (void *)0;
8896#line 728
8897 __cil_tmp48 = (unsigned long )__cil_tmp47;
8898#line 728
8899 __cil_tmp49 = *((void **)req);
8900#line 728
8901 __cil_tmp50 = (unsigned long )__cil_tmp49;
8902#line 728
8903 if (__cil_tmp50 == __cil_tmp48) {
8904 {
8905#line 730
8906 __cil_tmp51 = (unsigned long )udc;
8907#line 730
8908 __cil_tmp52 = __cil_tmp51 + 1296;
8909#line 730
8910 __cil_tmp53 = *((struct platform_device **)__cil_tmp52);
8911#line 730
8912 __cil_tmp54 = (unsigned long )__cil_tmp53;
8913#line 730
8914 __cil_tmp55 = __cil_tmp54 + 16;
8915#line 730
8916 __cil_tmp56 = (struct device *)__cil_tmp55;
8917#line 730
8918 __cil_tmp57 = (struct device *)__cil_tmp56;
8919#line 730
8920 dev_err(__cil_tmp57, "%s, bad params", "mv_ep_queue");
8921 }
8922#line 731
8923 return (-22);
8924 } else {
8925 {
8926#line 728
8927 __cil_tmp58 = (unsigned long )req;
8928#line 728
8929 __cil_tmp59 = __cil_tmp58 + 120;
8930#line 728
8931 __cil_tmp60 = (struct list_head *)__cil_tmp59;
8932#line 728
8933 __cil_tmp61 = (struct list_head *)__cil_tmp60;
8934#line 728
8935 tmp = list_empty(__cil_tmp61);
8936 }
8937#line 728
8938 if (tmp == 0) {
8939 {
8940#line 730
8941 __cil_tmp62 = (unsigned long )udc;
8942#line 730
8943 __cil_tmp63 = __cil_tmp62 + 1296;
8944#line 730
8945 __cil_tmp64 = *((struct platform_device **)__cil_tmp63);
8946#line 730
8947 __cil_tmp65 = (unsigned long )__cil_tmp64;
8948#line 730
8949 __cil_tmp66 = __cil_tmp65 + 16;
8950#line 730
8951 __cil_tmp67 = (struct device *)__cil_tmp66;
8952#line 730
8953 __cil_tmp68 = (struct device *)__cil_tmp67;
8954#line 730
8955 dev_err(__cil_tmp68, "%s, bad params", "mv_ep_queue");
8956 }
8957#line 731
8958 return (-22);
8959 } else {
8960
8961 }
8962 }
8963 }
8964 }
8965 }
8966 }
8967 }
8968 {
8969#line 733
8970 __cil_tmp69 = (struct usb_ep *)0;
8971#line 733
8972 __cil_tmp70 = (unsigned long )__cil_tmp69;
8973#line 733
8974 __cil_tmp71 = (unsigned long )_ep;
8975#line 733
8976 __cil_tmp72 = __cil_tmp71 == __cil_tmp70;
8977#line 733
8978 __cil_tmp73 = (long )__cil_tmp72;
8979#line 733
8980 tmp___0 = __builtin_expect(__cil_tmp73, 0L);
8981 }
8982#line 733
8983 if (tmp___0 != 0L) {
8984 {
8985#line 734
8986 __cil_tmp74 = (unsigned long )udc;
8987#line 734
8988 __cil_tmp75 = __cil_tmp74 + 1296;
8989#line 734
8990 __cil_tmp76 = *((struct platform_device **)__cil_tmp75);
8991#line 734
8992 __cil_tmp77 = (unsigned long )__cil_tmp76;
8993#line 734
8994 __cil_tmp78 = __cil_tmp77 + 16;
8995#line 734
8996 __cil_tmp79 = (struct device *)__cil_tmp78;
8997#line 734
8998 __cil_tmp80 = (struct device *)__cil_tmp79;
8999#line 734
9000 dev_err(__cil_tmp80, "%s, bad ep", "mv_ep_queue");
9001 }
9002#line 735
9003 return (-22);
9004 } else {
9005 {
9006#line 733
9007 __cil_tmp81 = (struct usb_endpoint_descriptor *)0;
9008#line 733
9009 __cil_tmp82 = (unsigned long )__cil_tmp81;
9010#line 733
9011 __cil_tmp83 = (unsigned long )ep;
9012#line 733
9013 __cil_tmp84 = __cil_tmp83 + 96;
9014#line 733
9015 __cil_tmp85 = *((struct usb_endpoint_descriptor **)__cil_tmp84);
9016#line 733
9017 __cil_tmp86 = (unsigned long )__cil_tmp85;
9018#line 733
9019 __cil_tmp87 = __cil_tmp86 == __cil_tmp82;
9020#line 733
9021 __cil_tmp88 = (long )__cil_tmp87;
9022#line 733
9023 tmp___1 = __builtin_expect(__cil_tmp88, 0L);
9024 }
9025#line 733
9026 if (tmp___1 != 0L) {
9027 {
9028#line 734
9029 __cil_tmp89 = (unsigned long )udc;
9030#line 734
9031 __cil_tmp90 = __cil_tmp89 + 1296;
9032#line 734
9033 __cil_tmp91 = *((struct platform_device **)__cil_tmp90);
9034#line 734
9035 __cil_tmp92 = (unsigned long )__cil_tmp91;
9036#line 734
9037 __cil_tmp93 = __cil_tmp92 + 16;
9038#line 734
9039 __cil_tmp94 = (struct device *)__cil_tmp93;
9040#line 734
9041 __cil_tmp95 = (struct device *)__cil_tmp94;
9042#line 734
9043 dev_err(__cil_tmp95, "%s, bad ep", "mv_ep_queue");
9044 }
9045#line 735
9046 return (-22);
9047 } else {
9048
9049 }
9050 }
9051 {
9052#line 737
9053 __cil_tmp96 = (unsigned long )ep;
9054#line 737
9055 __cil_tmp97 = __cil_tmp96 + 96;
9056#line 737
9057 __cil_tmp98 = *((struct usb_endpoint_descriptor **)__cil_tmp97);
9058#line 737
9059 __cil_tmp99 = (unsigned long )__cil_tmp98;
9060#line 737
9061 __cil_tmp100 = __cil_tmp99 + 3;
9062#line 737
9063 __cil_tmp101 = *((__u8 *)__cil_tmp100);
9064#line 737
9065 __cil_tmp102 = (unsigned char )__cil_tmp101;
9066#line 737
9067 __cil_tmp103 = (unsigned int )__cil_tmp102;
9068#line 737
9069 if (__cil_tmp103 == 1U) {
9070 {
9071#line 738
9072 __cil_tmp104 = 0 + 40;
9073#line 738
9074 __cil_tmp105 = (unsigned long )ep;
9075#line 738
9076 __cil_tmp106 = __cil_tmp105 + __cil_tmp104;
9077#line 738
9078 __cil_tmp107 = *((unsigned short *)__cil_tmp106);
9079#line 738
9080 __cil_tmp108 = (unsigned int )__cil_tmp107;
9081#line 738
9082 __cil_tmp109 = 0 + 8;
9083#line 738
9084 __cil_tmp110 = (unsigned long )req;
9085#line 738
9086 __cil_tmp111 = __cil_tmp110 + __cil_tmp109;
9087#line 738
9088 __cil_tmp112 = *((unsigned int *)__cil_tmp111);
9089#line 738
9090 if (__cil_tmp112 > __cil_tmp108) {
9091#line 739
9092 return (-90);
9093 } else {
9094
9095 }
9096 }
9097 } else {
9098
9099 }
9100 }
9101#line 742
9102 __cil_tmp113 = (unsigned long )ep;
9103#line 742
9104 __cil_tmp114 = __cil_tmp113 + 64;
9105#line 742
9106 udc = *((struct mv_udc **)__cil_tmp114);
9107 {
9108#line 743
9109 __cil_tmp115 = (struct usb_gadget_driver *)0;
9110#line 743
9111 __cil_tmp116 = (unsigned long )__cil_tmp115;
9112#line 743
9113 __cil_tmp117 = (unsigned long )udc;
9114#line 743
9115 __cil_tmp118 = __cil_tmp117 + 1208;
9116#line 743
9117 __cil_tmp119 = *((struct usb_gadget_driver **)__cil_tmp118);
9118#line 743
9119 __cil_tmp120 = (unsigned long )__cil_tmp119;
9120#line 743
9121 if (__cil_tmp120 == __cil_tmp116) {
9122#line 744
9123 return (-108);
9124 } else {
9125 {
9126#line 743
9127 __cil_tmp121 = 0 + 32;
9128#line 743
9129 __cil_tmp122 = (unsigned long )udc;
9130#line 743
9131 __cil_tmp123 = __cil_tmp122 + __cil_tmp121;
9132#line 743
9133 __cil_tmp124 = *((enum usb_device_speed *)__cil_tmp123);
9134#line 743
9135 __cil_tmp125 = (unsigned int )__cil_tmp124;
9136#line 743
9137 if (__cil_tmp125 == 0U) {
9138#line 744
9139 return (-108);
9140 } else {
9141
9142 }
9143 }
9144 }
9145 }
9146#line 746
9147 __cil_tmp126 = (unsigned long )req;
9148#line 746
9149 __cil_tmp127 = __cil_tmp126 + 112;
9150#line 746
9151 *((struct mv_ep **)__cil_tmp127) = ep;
9152 {
9153#line 749
9154 __cil_tmp128 = 0 + 16;
9155#line 749
9156 __cil_tmp129 = (unsigned long )req;
9157#line 749
9158 __cil_tmp130 = __cil_tmp129 + __cil_tmp128;
9159#line 749
9160 __cil_tmp131 = *((dma_addr_t *)__cil_tmp130);
9161#line 749
9162 if (__cil_tmp131 == 0xffffffffffffffffULL) {
9163 {
9164#line 750
9165 __cil_tmp132 = (unsigned short *)ep;
9166#line 750
9167 __cil_tmp133 = __cil_tmp132 + 61UL;
9168#line 750
9169 __cil_tmp134 = *__cil_tmp133;
9170#line 750
9171 __cil_tmp135 = (unsigned int )__cil_tmp134;
9172#line 750
9173 if (__cil_tmp135 == 0U) {
9174#line 750
9175 __cil_tmp136 = (unsigned long )ep;
9176#line 750
9177 __cil_tmp137 = __cil_tmp136 + 64;
9178#line 750
9179 __cil_tmp138 = *((struct mv_udc **)__cil_tmp137);
9180#line 750
9181 __cil_tmp139 = (unsigned long )__cil_tmp138;
9182#line 750
9183 __cil_tmp140 = __cil_tmp139 + 1436;
9184#line 750
9185 __cil_tmp141 = *((unsigned int *)__cil_tmp140);
9186#line 750
9187 tmp___4 = __cil_tmp141 != 0U;
9188 } else {
9189#line 750
9190 __cil_tmp142 = (unsigned long )ep;
9191#line 750
9192 __cil_tmp143 = __cil_tmp142 + 104;
9193#line 750
9194 __cil_tmp144 = *((u32 *)__cil_tmp143);
9195#line 750
9196 tmp___4 = __cil_tmp144 != 0U;
9197 }
9198 }
9199#line 750
9200 if (tmp___4) {
9201#line 750
9202 tmp___3 = 1;
9203 } else {
9204#line 750
9205 tmp___3 = 2;
9206 }
9207 {
9208#line 750
9209 __cil_tmp145 = 0 + 16;
9210#line 750
9211 __cil_tmp146 = (unsigned long )req;
9212#line 750
9213 __cil_tmp147 = __cil_tmp146 + __cil_tmp145;
9214#line 750
9215 __cil_tmp148 = 0 + 56;
9216#line 750
9217 __cil_tmp149 = (unsigned long )ep;
9218#line 750
9219 __cil_tmp150 = __cil_tmp149 + 64;
9220#line 750
9221 __cil_tmp151 = *((struct mv_udc **)__cil_tmp150);
9222#line 750
9223 __cil_tmp152 = (unsigned long )__cil_tmp151;
9224#line 750
9225 __cil_tmp153 = __cil_tmp152 + __cil_tmp148;
9226#line 750
9227 __cil_tmp154 = *((struct device **)__cil_tmp153);
9228#line 750
9229 __cil_tmp155 = *((void **)req);
9230#line 750
9231 __cil_tmp156 = 0 + 8;
9232#line 750
9233 __cil_tmp157 = (unsigned long )req;
9234#line 750
9235 __cil_tmp158 = __cil_tmp157 + __cil_tmp156;
9236#line 750
9237 __cil_tmp159 = *((unsigned int *)__cil_tmp158);
9238#line 750
9239 __cil_tmp160 = (size_t )__cil_tmp159;
9240#line 750
9241 __cil_tmp161 = (enum dma_data_direction )tmp___3;
9242#line 750
9243 __cil_tmp162 = (struct dma_attrs *)0;
9244#line 750
9245 *((dma_addr_t *)__cil_tmp147) = dma_map_single_attrs(__cil_tmp154, __cil_tmp155,
9246 __cil_tmp160, __cil_tmp161,
9247 __cil_tmp162);
9248#line 755
9249 __cil_tmp163 = (unsigned long )req;
9250#line 755
9251 __cil_tmp164 = __cil_tmp163 + 144;
9252#line 755
9253 *((unsigned char *)__cil_tmp164) = (unsigned char)1;
9254 }
9255 } else {
9256 {
9257#line 757
9258 __cil_tmp165 = (unsigned short *)ep;
9259#line 757
9260 __cil_tmp166 = __cil_tmp165 + 61UL;
9261#line 757
9262 __cil_tmp167 = *__cil_tmp166;
9263#line 757
9264 __cil_tmp168 = (unsigned int )__cil_tmp167;
9265#line 757
9266 if (__cil_tmp168 == 0U) {
9267#line 757
9268 __cil_tmp169 = (unsigned long )ep;
9269#line 757
9270 __cil_tmp170 = __cil_tmp169 + 64;
9271#line 757
9272 __cil_tmp171 = *((struct mv_udc **)__cil_tmp170);
9273#line 757
9274 __cil_tmp172 = (unsigned long )__cil_tmp171;
9275#line 757
9276 __cil_tmp173 = __cil_tmp172 + 1436;
9277#line 757
9278 __cil_tmp174 = *((unsigned int *)__cil_tmp173);
9279#line 757
9280 tmp___7 = __cil_tmp174 != 0U;
9281 } else {
9282#line 757
9283 __cil_tmp175 = (unsigned long )ep;
9284#line 757
9285 __cil_tmp176 = __cil_tmp175 + 104;
9286#line 757
9287 __cil_tmp177 = *((u32 *)__cil_tmp176);
9288#line 757
9289 tmp___7 = __cil_tmp177 != 0U;
9290 }
9291 }
9292#line 757
9293 if (tmp___7) {
9294#line 757
9295 tmp___6 = 1;
9296 } else {
9297#line 757
9298 tmp___6 = 2;
9299 }
9300 {
9301#line 757
9302 __cil_tmp178 = 0 + 56;
9303#line 757
9304 __cil_tmp179 = (unsigned long )ep;
9305#line 757
9306 __cil_tmp180 = __cil_tmp179 + 64;
9307#line 757
9308 __cil_tmp181 = *((struct mv_udc **)__cil_tmp180);
9309#line 757
9310 __cil_tmp182 = (unsigned long )__cil_tmp181;
9311#line 757
9312 __cil_tmp183 = __cil_tmp182 + __cil_tmp178;
9313#line 757
9314 __cil_tmp184 = *((struct device **)__cil_tmp183);
9315#line 757
9316 __cil_tmp185 = 0 + 16;
9317#line 757
9318 __cil_tmp186 = (unsigned long )req;
9319#line 757
9320 __cil_tmp187 = __cil_tmp186 + __cil_tmp185;
9321#line 757
9322 __cil_tmp188 = *((dma_addr_t *)__cil_tmp187);
9323#line 757
9324 __cil_tmp189 = 0 + 8;
9325#line 757
9326 __cil_tmp190 = (unsigned long )req;
9327#line 757
9328 __cil_tmp191 = __cil_tmp190 + __cil_tmp189;
9329#line 757
9330 __cil_tmp192 = *((unsigned int *)__cil_tmp191);
9331#line 757
9332 __cil_tmp193 = (size_t )__cil_tmp192;
9333#line 757
9334 __cil_tmp194 = (enum dma_data_direction )tmp___6;
9335#line 757
9336 dma_sync_single_for_device(__cil_tmp184, __cil_tmp188, __cil_tmp193, __cil_tmp194);
9337#line 762
9338 __cil_tmp195 = (unsigned long )req;
9339#line 762
9340 __cil_tmp196 = __cil_tmp195 + 144;
9341#line 762
9342 *((unsigned char *)__cil_tmp196) = (unsigned char)0;
9343 }
9344 }
9345 }
9346 {
9347#line 765
9348 __cil_tmp197 = 0 + 80;
9349#line 765
9350 __cil_tmp198 = (unsigned long )req;
9351#line 765
9352 __cil_tmp199 = __cil_tmp198 + __cil_tmp197;
9353#line 765
9354 *((int *)__cil_tmp199) = -115;
9355#line 766
9356 __cil_tmp200 = 0 + 84;
9357#line 766
9358 __cil_tmp201 = (unsigned long )req;
9359#line 766
9360 __cil_tmp202 = __cil_tmp201 + __cil_tmp200;
9361#line 766
9362 *((unsigned int *)__cil_tmp202) = 0U;
9363#line 767
9364 __cil_tmp203 = (unsigned long )req;
9365#line 767
9366 __cil_tmp204 = __cil_tmp203 + 140;
9367#line 767
9368 *((unsigned int *)__cil_tmp204) = 0U;
9369#line 769
9370 ldv_spin_lock();
9371#line 772
9372 tmp___8 = req_to_dtd(req);
9373 }
9374#line 772
9375 if (tmp___8 == 0) {
9376 {
9377#line 774
9378 retval = queue_dtd(ep, req);
9379 }
9380#line 775
9381 if (retval != 0) {
9382 {
9383#line 776
9384 __cil_tmp205 = (unsigned long )udc;
9385#line 776
9386 __cil_tmp206 = __cil_tmp205 + 1216;
9387#line 776
9388 __cil_tmp207 = (spinlock_t *)__cil_tmp206;
9389#line 776
9390 spin_unlock_irqrestore(__cil_tmp207, flags);
9391 }
9392#line 777
9393 return (retval);
9394 } else {
9395
9396 }
9397 } else {
9398 {
9399#line 780
9400 __cil_tmp208 = (unsigned long )udc;
9401#line 780
9402 __cil_tmp209 = __cil_tmp208 + 1216;
9403#line 780
9404 __cil_tmp210 = (spinlock_t *)__cil_tmp209;
9405#line 780
9406 spin_unlock_irqrestore(__cil_tmp210, flags);
9407 }
9408#line 781
9409 return (-12);
9410 }
9411 {
9412#line 785
9413 __cil_tmp211 = (unsigned short *)ep;
9414#line 785
9415 __cil_tmp212 = __cil_tmp211 + 61UL;
9416#line 785
9417 __cil_tmp213 = *__cil_tmp212;
9418#line 785
9419 __cil_tmp214 = (unsigned int )__cil_tmp213;
9420#line 785
9421 if (__cil_tmp214 == 0U) {
9422#line 786
9423 __cil_tmp215 = (unsigned long )udc;
9424#line 786
9425 __cil_tmp216 = __cil_tmp215 + 1432;
9426#line 786
9427 *((unsigned int *)__cil_tmp216) = 1U;
9428 } else {
9429
9430 }
9431 }
9432 {
9433#line 789
9434 __cil_tmp217 = (unsigned long )req;
9435#line 789
9436 __cil_tmp218 = __cil_tmp217 + 120;
9437#line 789
9438 __cil_tmp219 = (struct list_head *)__cil_tmp218;
9439#line 789
9440 __cil_tmp220 = (unsigned long )ep;
9441#line 789
9442 __cil_tmp221 = __cil_tmp220 + 72;
9443#line 789
9444 __cil_tmp222 = (struct list_head *)__cil_tmp221;
9445#line 789
9446 list_add_tail(__cil_tmp219, __cil_tmp222);
9447#line 790
9448 __cil_tmp223 = (unsigned long )udc;
9449#line 790
9450 __cil_tmp224 = __cil_tmp223 + 1216;
9451#line 790
9452 __cil_tmp225 = (spinlock_t *)__cil_tmp224;
9453#line 790
9454 spin_unlock_irqrestore(__cil_tmp225, flags);
9455 }
9456#line 792
9457 return (0);
9458}
9459}
9460#line 795 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
9461static void mv_prime_ep(struct mv_ep *ep , struct mv_req *req )
9462{ struct mv_dqh *dqh ;
9463 u32 bit_pos ;
9464 int tmp___0 ;
9465 int tmp___1 ;
9466 unsigned long __cil_tmp8 ;
9467 unsigned long __cil_tmp9 ;
9468 unsigned long __cil_tmp10 ;
9469 unsigned long __cil_tmp11 ;
9470 unsigned long __cil_tmp12 ;
9471 unsigned long __cil_tmp13 ;
9472 struct mv_dtd *__cil_tmp14 ;
9473 unsigned long __cil_tmp15 ;
9474 unsigned long __cil_tmp16 ;
9475 dma_addr_t __cil_tmp17 ;
9476 u32 __cil_tmp18 ;
9477 unsigned long __cil_tmp19 ;
9478 unsigned long __cil_tmp20 ;
9479 unsigned long __cil_tmp21 ;
9480 unsigned long __cil_tmp22 ;
9481 u32 __cil_tmp23 ;
9482 unsigned short *__cil_tmp24 ;
9483 unsigned short *__cil_tmp25 ;
9484 unsigned short __cil_tmp26 ;
9485 unsigned int __cil_tmp27 ;
9486 unsigned long __cil_tmp28 ;
9487 unsigned long __cil_tmp29 ;
9488 struct mv_udc *__cil_tmp30 ;
9489 unsigned long __cil_tmp31 ;
9490 unsigned long __cil_tmp32 ;
9491 unsigned int __cil_tmp33 ;
9492 unsigned long __cil_tmp34 ;
9493 unsigned long __cil_tmp35 ;
9494 u32 __cil_tmp36 ;
9495 unsigned long __cil_tmp37 ;
9496 unsigned long __cil_tmp38 ;
9497 unsigned char __cil_tmp39 ;
9498 int __cil_tmp40 ;
9499 int __cil_tmp41 ;
9500 int __cil_tmp42 ;
9501 unsigned long __cil_tmp43 ;
9502 unsigned long __cil_tmp44 ;
9503 struct mv_udc *__cil_tmp45 ;
9504 unsigned long __cil_tmp46 ;
9505 unsigned long __cil_tmp47 ;
9506 struct mv_op_regs *__cil_tmp48 ;
9507 unsigned long __cil_tmp49 ;
9508 unsigned long __cil_tmp50 ;
9509 u32 *__cil_tmp51 ;
9510 void volatile *__cil_tmp52 ;
9511
9512 {
9513#line 797
9514 __cil_tmp8 = (unsigned long )ep;
9515#line 797
9516 __cil_tmp9 = __cil_tmp8 + 88;
9517#line 797
9518 dqh = *((struct mv_dqh **)__cil_tmp9);
9519#line 801
9520 __cil_tmp10 = (unsigned long )dqh;
9521#line 801
9522 __cil_tmp11 = __cil_tmp10 + 8;
9523#line 801
9524 __cil_tmp12 = (unsigned long )req;
9525#line 801
9526 __cil_tmp13 = __cil_tmp12 + 96;
9527#line 801
9528 __cil_tmp14 = *((struct mv_dtd **)__cil_tmp13);
9529#line 801
9530 __cil_tmp15 = (unsigned long )__cil_tmp14;
9531#line 801
9532 __cil_tmp16 = __cil_tmp15 + 32;
9533#line 801
9534 __cil_tmp17 = *((dma_addr_t *)__cil_tmp16);
9535#line 801
9536 __cil_tmp18 = (u32 )__cil_tmp17;
9537#line 801
9538 *((u32 *)__cil_tmp11) = __cil_tmp18 & 4294967264U;
9539#line 805
9540 __cil_tmp19 = (unsigned long )dqh;
9541#line 805
9542 __cil_tmp20 = __cil_tmp19 + 12;
9543#line 805
9544 __cil_tmp21 = (unsigned long )dqh;
9545#line 805
9546 __cil_tmp22 = __cil_tmp21 + 12;
9547#line 805
9548 __cil_tmp23 = *((u32 *)__cil_tmp22);
9549#line 805
9550 *((u32 *)__cil_tmp20) = __cil_tmp23 & 4294967103U;
9551#line 808
9552 __asm__ volatile ("sfence": : : "memory");
9553 {
9554#line 810
9555 __cil_tmp24 = (unsigned short *)ep;
9556#line 810
9557 __cil_tmp25 = __cil_tmp24 + 61UL;
9558#line 810
9559 __cil_tmp26 = *__cil_tmp25;
9560#line 810
9561 __cil_tmp27 = (unsigned int )__cil_tmp26;
9562#line 810
9563 if (__cil_tmp27 == 0U) {
9564#line 810
9565 __cil_tmp28 = (unsigned long )ep;
9566#line 810
9567 __cil_tmp29 = __cil_tmp28 + 64;
9568#line 810
9569 __cil_tmp30 = *((struct mv_udc **)__cil_tmp29);
9570#line 810
9571 __cil_tmp31 = (unsigned long )__cil_tmp30;
9572#line 810
9573 __cil_tmp32 = __cil_tmp31 + 1436;
9574#line 810
9575 __cil_tmp33 = *((unsigned int *)__cil_tmp32);
9576#line 810
9577 tmp___1 = __cil_tmp33 == 0U;
9578 } else {
9579#line 810
9580 __cil_tmp34 = (unsigned long )ep;
9581#line 810
9582 __cil_tmp35 = __cil_tmp34 + 104;
9583#line 810
9584 __cil_tmp36 = *((u32 *)__cil_tmp35);
9585#line 810
9586 tmp___1 = __cil_tmp36 == 0U;
9587 }
9588 }
9589#line 810
9590 if (tmp___1) {
9591#line 810
9592 tmp___0 = 0;
9593 } else {
9594#line 810
9595 tmp___0 = 16;
9596 }
9597 {
9598#line 810
9599 __cil_tmp37 = (unsigned long )ep;
9600#line 810
9601 __cil_tmp38 = __cil_tmp37 + 123;
9602#line 810
9603 __cil_tmp39 = *((unsigned char *)__cil_tmp38);
9604#line 810
9605 __cil_tmp40 = (int )__cil_tmp39;
9606#line 810
9607 __cil_tmp41 = tmp___0 + __cil_tmp40;
9608#line 810
9609 __cil_tmp42 = 1 << __cil_tmp41;
9610#line 810
9611 bit_pos = (u32 )__cil_tmp42;
9612#line 813
9613 __cil_tmp43 = (unsigned long )ep;
9614#line 813
9615 __cil_tmp44 = __cil_tmp43 + 64;
9616#line 813
9617 __cil_tmp45 = *((struct mv_udc **)__cil_tmp44);
9618#line 813
9619 __cil_tmp46 = (unsigned long )__cil_tmp45;
9620#line 813
9621 __cil_tmp47 = __cil_tmp46 + 1320;
9622#line 813
9623 __cil_tmp48 = *((struct mv_op_regs **)__cil_tmp47);
9624#line 813
9625 __cil_tmp49 = (unsigned long )__cil_tmp48;
9626#line 813
9627 __cil_tmp50 = __cil_tmp49 + 112;
9628#line 813
9629 __cil_tmp51 = (u32 *)__cil_tmp50;
9630#line 813
9631 __cil_tmp52 = (void volatile *)__cil_tmp51;
9632#line 813
9633 writel(bit_pos, __cil_tmp52);
9634 }
9635#line 814
9636 return;
9637}
9638}
9639#line 817 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
9640static int mv_ep_dequeue(struct usb_ep *_ep , struct usb_request *_req )
9641{ struct mv_ep *ep ;
9642 struct usb_ep *__mptr ;
9643 struct mv_req *req ;
9644 struct mv_udc *udc ;
9645 unsigned long flags ;
9646 int stopped ;
9647 int ret ;
9648 u32 epctrlx ;
9649 int tmp ;
9650 struct list_head *__mptr___0 ;
9651 struct list_head *__mptr___1 ;
9652 struct mv_req *next_req ;
9653 struct list_head *__mptr___2 ;
9654 struct mv_dqh *qh ;
9655 struct mv_req *prev_req ;
9656 struct list_head *__mptr___3 ;
9657 unsigned int tmp___0 ;
9658 int tmp___1 ;
9659 unsigned long __cil_tmp21 ;
9660 unsigned long __cil_tmp22 ;
9661 struct usb_ep *__cil_tmp23 ;
9662 unsigned long __cil_tmp24 ;
9663 unsigned long __cil_tmp25 ;
9664 struct usb_request *__cil_tmp26 ;
9665 unsigned long __cil_tmp27 ;
9666 unsigned long __cil_tmp28 ;
9667 unsigned long __cil_tmp29 ;
9668 unsigned long __cil_tmp30 ;
9669 unsigned char __cil_tmp31 ;
9670 unsigned long __cil_tmp32 ;
9671 unsigned long __cil_tmp33 ;
9672 unsigned long __cil_tmp34 ;
9673 unsigned long __cil_tmp35 ;
9674 unsigned char __cil_tmp36 ;
9675 unsigned long __cil_tmp37 ;
9676 unsigned long __cil_tmp38 ;
9677 unsigned long __cil_tmp39 ;
9678 struct mv_op_regs *__cil_tmp40 ;
9679 unsigned long __cil_tmp41 ;
9680 unsigned long __cil_tmp42 ;
9681 u32 (*__cil_tmp43)[16U] ;
9682 void volatile *__cil_tmp44 ;
9683 void volatile *__cil_tmp45 ;
9684 unsigned short *__cil_tmp46 ;
9685 unsigned short *__cil_tmp47 ;
9686 unsigned short __cil_tmp48 ;
9687 unsigned int __cil_tmp49 ;
9688 unsigned long __cil_tmp50 ;
9689 unsigned long __cil_tmp51 ;
9690 struct mv_udc *__cil_tmp52 ;
9691 unsigned long __cil_tmp53 ;
9692 unsigned long __cil_tmp54 ;
9693 unsigned int __cil_tmp55 ;
9694 unsigned long __cil_tmp56 ;
9695 unsigned long __cil_tmp57 ;
9696 u32 __cil_tmp58 ;
9697 unsigned long __cil_tmp59 ;
9698 unsigned long __cil_tmp60 ;
9699 unsigned char __cil_tmp61 ;
9700 unsigned long __cil_tmp62 ;
9701 unsigned long __cil_tmp63 ;
9702 unsigned long __cil_tmp64 ;
9703 struct mv_op_regs *__cil_tmp65 ;
9704 unsigned long __cil_tmp66 ;
9705 unsigned long __cil_tmp67 ;
9706 u32 (*__cil_tmp68)[16U] ;
9707 void volatile *__cil_tmp69 ;
9708 void volatile *__cil_tmp70 ;
9709 unsigned long __cil_tmp71 ;
9710 unsigned long __cil_tmp72 ;
9711 struct list_head *__cil_tmp73 ;
9712 struct mv_req *__cil_tmp74 ;
9713 unsigned long __cil_tmp75 ;
9714 struct usb_request *__cil_tmp76 ;
9715 unsigned long __cil_tmp77 ;
9716 unsigned long __cil_tmp78 ;
9717 unsigned long __cil_tmp79 ;
9718 struct list_head *__cil_tmp80 ;
9719 struct mv_req *__cil_tmp81 ;
9720 unsigned long __cil_tmp82 ;
9721 unsigned long __cil_tmp83 ;
9722 struct list_head *__cil_tmp84 ;
9723 unsigned long __cil_tmp85 ;
9724 unsigned long __cil_tmp86 ;
9725 unsigned long __cil_tmp87 ;
9726 struct list_head *__cil_tmp88 ;
9727 unsigned long __cil_tmp89 ;
9728 unsigned long __cil_tmp90 ;
9729 struct usb_request *__cil_tmp91 ;
9730 unsigned long __cil_tmp92 ;
9731 unsigned long __cil_tmp93 ;
9732 unsigned long __cil_tmp94 ;
9733 struct list_head *__cil_tmp95 ;
9734 unsigned long __cil_tmp96 ;
9735 unsigned long __cil_tmp97 ;
9736 unsigned long __cil_tmp98 ;
9737 struct list_head *__cil_tmp99 ;
9738 unsigned long __cil_tmp100 ;
9739 unsigned long __cil_tmp101 ;
9740 unsigned long __cil_tmp102 ;
9741 unsigned long __cil_tmp103 ;
9742 unsigned long __cil_tmp104 ;
9743 struct list_head *__cil_tmp105 ;
9744 unsigned long __cil_tmp106 ;
9745 unsigned long __cil_tmp107 ;
9746 unsigned long __cil_tmp108 ;
9747 struct list_head *__cil_tmp109 ;
9748 unsigned long __cil_tmp110 ;
9749 unsigned long __cil_tmp111 ;
9750 unsigned long __cil_tmp112 ;
9751 struct list_head *__cil_tmp113 ;
9752 struct mv_req *__cil_tmp114 ;
9753 unsigned long __cil_tmp115 ;
9754 unsigned long __cil_tmp116 ;
9755 unsigned long __cil_tmp117 ;
9756 unsigned long __cil_tmp118 ;
9757 unsigned long __cil_tmp119 ;
9758 unsigned long __cil_tmp120 ;
9759 unsigned long __cil_tmp121 ;
9760 unsigned long __cil_tmp122 ;
9761 unsigned long __cil_tmp123 ;
9762 struct list_head *__cil_tmp124 ;
9763 struct mv_req *__cil_tmp125 ;
9764 unsigned long __cil_tmp126 ;
9765 unsigned long __cil_tmp127 ;
9766 struct mv_dtd *__cil_tmp128 ;
9767 u32 *__cil_tmp129 ;
9768 void volatile *__cil_tmp130 ;
9769 unsigned long __cil_tmp131 ;
9770 unsigned long __cil_tmp132 ;
9771 struct mv_dtd *__cil_tmp133 ;
9772 u32 *__cil_tmp134 ;
9773 void volatile *__cil_tmp135 ;
9774 unsigned long __cil_tmp136 ;
9775 unsigned long __cil_tmp137 ;
9776 unsigned char __cil_tmp138 ;
9777 unsigned long __cil_tmp139 ;
9778 unsigned long __cil_tmp140 ;
9779 unsigned long __cil_tmp141 ;
9780 struct mv_op_regs *__cil_tmp142 ;
9781 unsigned long __cil_tmp143 ;
9782 unsigned long __cil_tmp144 ;
9783 u32 (*__cil_tmp145)[16U] ;
9784 void volatile *__cil_tmp146 ;
9785 void volatile *__cil_tmp147 ;
9786 unsigned short *__cil_tmp148 ;
9787 unsigned short *__cil_tmp149 ;
9788 unsigned short __cil_tmp150 ;
9789 unsigned int __cil_tmp151 ;
9790 unsigned long __cil_tmp152 ;
9791 unsigned long __cil_tmp153 ;
9792 struct mv_udc *__cil_tmp154 ;
9793 unsigned long __cil_tmp155 ;
9794 unsigned long __cil_tmp156 ;
9795 unsigned int __cil_tmp157 ;
9796 unsigned long __cil_tmp158 ;
9797 unsigned long __cil_tmp159 ;
9798 u32 __cil_tmp160 ;
9799 unsigned long __cil_tmp161 ;
9800 unsigned long __cil_tmp162 ;
9801 unsigned char __cil_tmp163 ;
9802 unsigned long __cil_tmp164 ;
9803 unsigned long __cil_tmp165 ;
9804 unsigned long __cil_tmp166 ;
9805 struct mv_op_regs *__cil_tmp167 ;
9806 unsigned long __cil_tmp168 ;
9807 unsigned long __cil_tmp169 ;
9808 u32 (*__cil_tmp170)[16U] ;
9809 void volatile *__cil_tmp171 ;
9810 void volatile *__cil_tmp172 ;
9811 unsigned long __cil_tmp173 ;
9812 unsigned long __cil_tmp174 ;
9813 unsigned long __cil_tmp175 ;
9814 unsigned long __cil_tmp176 ;
9815 struct mv_udc *__cil_tmp177 ;
9816 unsigned long __cil_tmp178 ;
9817 unsigned long __cil_tmp179 ;
9818 spinlock_t *__cil_tmp180 ;
9819
9820 {
9821#line 819
9822 __mptr = (struct usb_ep *)_ep;
9823#line 819
9824 ep = (struct mv_ep *)__mptr;
9825#line 821
9826 __cil_tmp21 = (unsigned long )ep;
9827#line 821
9828 __cil_tmp22 = __cil_tmp21 + 64;
9829#line 821
9830 udc = *((struct mv_udc **)__cil_tmp22);
9831#line 823
9832 ret = 0;
9833 {
9834#line 826
9835 __cil_tmp23 = (struct usb_ep *)0;
9836#line 826
9837 __cil_tmp24 = (unsigned long )__cil_tmp23;
9838#line 826
9839 __cil_tmp25 = (unsigned long )_ep;
9840#line 826
9841 if (__cil_tmp25 == __cil_tmp24) {
9842#line 827
9843 return (-22);
9844 } else {
9845 {
9846#line 826
9847 __cil_tmp26 = (struct usb_request *)0;
9848#line 826
9849 __cil_tmp27 = (unsigned long )__cil_tmp26;
9850#line 826
9851 __cil_tmp28 = (unsigned long )_req;
9852#line 826
9853 if (__cil_tmp28 == __cil_tmp27) {
9854#line 827
9855 return (-22);
9856 } else {
9857
9858 }
9859 }
9860 }
9861 }
9862 {
9863#line 829
9864 ldv_spin_lock();
9865#line 830
9866 __cil_tmp29 = (unsigned long )ep;
9867#line 830
9868 __cil_tmp30 = __cil_tmp29 + 122;
9869#line 830
9870 __cil_tmp31 = *((unsigned char *)__cil_tmp30);
9871#line 830
9872 stopped = (int )__cil_tmp31;
9873#line 833
9874 __cil_tmp32 = (unsigned long )ep;
9875#line 833
9876 __cil_tmp33 = __cil_tmp32 + 122;
9877#line 833
9878 *((unsigned char *)__cil_tmp33) = (unsigned char)1;
9879#line 834
9880 __cil_tmp34 = (unsigned long )ep;
9881#line 834
9882 __cil_tmp35 = __cil_tmp34 + 123;
9883#line 834
9884 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
9885#line 834
9886 __cil_tmp37 = (unsigned long )__cil_tmp36;
9887#line 834
9888 __cil_tmp38 = (unsigned long )udc;
9889#line 834
9890 __cil_tmp39 = __cil_tmp38 + 1320;
9891#line 834
9892 __cil_tmp40 = *((struct mv_op_regs **)__cil_tmp39);
9893#line 834
9894 __cil_tmp41 = (unsigned long )__cil_tmp40;
9895#line 834
9896 __cil_tmp42 = __cil_tmp41 + 128;
9897#line 834
9898 __cil_tmp43 = (u32 (*)[16U])__cil_tmp42;
9899#line 834
9900 __cil_tmp44 = (void volatile *)__cil_tmp43;
9901#line 834
9902 __cil_tmp45 = __cil_tmp44 + __cil_tmp37;
9903#line 834
9904 epctrlx = readl(__cil_tmp45);
9905 }
9906 {
9907#line 835
9908 __cil_tmp46 = (unsigned short *)ep;
9909#line 835
9910 __cil_tmp47 = __cil_tmp46 + 61UL;
9911#line 835
9912 __cil_tmp48 = *__cil_tmp47;
9913#line 835
9914 __cil_tmp49 = (unsigned int )__cil_tmp48;
9915#line 835
9916 if (__cil_tmp49 == 0U) {
9917#line 835
9918 __cil_tmp50 = (unsigned long )ep;
9919#line 835
9920 __cil_tmp51 = __cil_tmp50 + 64;
9921#line 835
9922 __cil_tmp52 = *((struct mv_udc **)__cil_tmp51);
9923#line 835
9924 __cil_tmp53 = (unsigned long )__cil_tmp52;
9925#line 835
9926 __cil_tmp54 = __cil_tmp53 + 1436;
9927#line 835
9928 __cil_tmp55 = *((unsigned int *)__cil_tmp54);
9929#line 835
9930 tmp = __cil_tmp55 == 1U;
9931 } else {
9932#line 835
9933 __cil_tmp56 = (unsigned long )ep;
9934#line 835
9935 __cil_tmp57 = __cil_tmp56 + 104;
9936#line 835
9937 __cil_tmp58 = *((u32 *)__cil_tmp57);
9938#line 835
9939 tmp = __cil_tmp58 == 1U;
9940 }
9941 }
9942#line 835
9943 if (tmp) {
9944#line 836
9945 epctrlx = epctrlx & 4286578687U;
9946 } else {
9947#line 838
9948 epctrlx = epctrlx & 4294967167U;
9949 }
9950 {
9951#line 839
9952 __cil_tmp59 = (unsigned long )ep;
9953#line 839
9954 __cil_tmp60 = __cil_tmp59 + 123;
9955#line 839
9956 __cil_tmp61 = *((unsigned char *)__cil_tmp60);
9957#line 839
9958 __cil_tmp62 = (unsigned long )__cil_tmp61;
9959#line 839
9960 __cil_tmp63 = (unsigned long )udc;
9961#line 839
9962 __cil_tmp64 = __cil_tmp63 + 1320;
9963#line 839
9964 __cil_tmp65 = *((struct mv_op_regs **)__cil_tmp64);
9965#line 839
9966 __cil_tmp66 = (unsigned long )__cil_tmp65;
9967#line 839
9968 __cil_tmp67 = __cil_tmp66 + 128;
9969#line 839
9970 __cil_tmp68 = (u32 (*)[16U])__cil_tmp67;
9971#line 839
9972 __cil_tmp69 = (void volatile *)__cil_tmp68;
9973#line 839
9974 __cil_tmp70 = __cil_tmp69 + __cil_tmp62;
9975#line 839
9976 writel(epctrlx, __cil_tmp70);
9977#line 842
9978 __cil_tmp71 = (unsigned long )ep;
9979#line 842
9980 __cil_tmp72 = __cil_tmp71 + 72;
9981#line 842
9982 __cil_tmp73 = *((struct list_head **)__cil_tmp72);
9983#line 842
9984 __mptr___0 = (struct list_head *)__cil_tmp73;
9985#line 842
9986 __cil_tmp74 = (struct mv_req *)__mptr___0;
9987#line 842
9988 req = __cil_tmp74 + 0xffffffffffffff88UL;
9989 }
9990#line 842
9991 goto ldv_25550;
9992 ldv_25549: ;
9993 {
9994#line 843
9995 __cil_tmp75 = (unsigned long )_req;
9996#line 843
9997 __cil_tmp76 = (struct usb_request *)req;
9998#line 843
9999 __cil_tmp77 = (unsigned long )__cil_tmp76;
10000#line 843
10001 if (__cil_tmp77 == __cil_tmp75) {
10002#line 844
10003 goto ldv_25548;
10004 } else {
10005
10006 }
10007 }
10008#line 842
10009 __cil_tmp78 = (unsigned long )req;
10010#line 842
10011 __cil_tmp79 = __cil_tmp78 + 120;
10012#line 842
10013 __cil_tmp80 = *((struct list_head **)__cil_tmp79);
10014#line 842
10015 __mptr___1 = (struct list_head *)__cil_tmp80;
10016#line 842
10017 __cil_tmp81 = (struct mv_req *)__mptr___1;
10018#line 842
10019 req = __cil_tmp81 + 0xffffffffffffff88UL;
10020 ldv_25550: ;
10021 {
10022#line 842
10023 __cil_tmp82 = (unsigned long )ep;
10024#line 842
10025 __cil_tmp83 = __cil_tmp82 + 72;
10026#line 842
10027 __cil_tmp84 = (struct list_head *)__cil_tmp83;
10028#line 842
10029 __cil_tmp85 = (unsigned long )__cil_tmp84;
10030#line 842
10031 __cil_tmp86 = (unsigned long )req;
10032#line 842
10033 __cil_tmp87 = __cil_tmp86 + 120;
10034#line 842
10035 __cil_tmp88 = (struct list_head *)__cil_tmp87;
10036#line 842
10037 __cil_tmp89 = (unsigned long )__cil_tmp88;
10038#line 842
10039 if (__cil_tmp89 != __cil_tmp85) {
10040#line 843
10041 goto ldv_25549;
10042 } else {
10043#line 845
10044 goto ldv_25548;
10045 }
10046 }
10047 ldv_25548: ;
10048 {
10049#line 846
10050 __cil_tmp90 = (unsigned long )_req;
10051#line 846
10052 __cil_tmp91 = (struct usb_request *)req;
10053#line 846
10054 __cil_tmp92 = (unsigned long )__cil_tmp91;
10055#line 846
10056 if (__cil_tmp92 != __cil_tmp90) {
10057#line 847
10058 ret = -22;
10059#line 848
10060 goto out;
10061 } else {
10062
10063 }
10064 }
10065 {
10066#line 852
10067 __cil_tmp93 = (unsigned long )req;
10068#line 852
10069 __cil_tmp94 = __cil_tmp93 + 120;
10070#line 852
10071 __cil_tmp95 = (struct list_head *)__cil_tmp94;
10072#line 852
10073 __cil_tmp96 = (unsigned long )__cil_tmp95;
10074#line 852
10075 __cil_tmp97 = (unsigned long )ep;
10076#line 852
10077 __cil_tmp98 = __cil_tmp97 + 72;
10078#line 852
10079 __cil_tmp99 = *((struct list_head **)__cil_tmp98);
10080#line 852
10081 __cil_tmp100 = (unsigned long )__cil_tmp99;
10082#line 852
10083 if (__cil_tmp100 == __cil_tmp96) {
10084 {
10085#line 853
10086 __cil_tmp101 = (unsigned long )_req;
10087#line 853
10088 __cil_tmp102 = __cil_tmp101 + 80;
10089#line 853
10090 *((int *)__cil_tmp102) = -104;
10091#line 854
10092 mv_ep_fifo_flush(_ep);
10093 }
10094 {
10095#line 857
10096 __cil_tmp103 = (unsigned long )ep;
10097#line 857
10098 __cil_tmp104 = __cil_tmp103 + 72;
10099#line 857
10100 __cil_tmp105 = (struct list_head *)__cil_tmp104;
10101#line 857
10102 __cil_tmp106 = (unsigned long )__cil_tmp105;
10103#line 857
10104 __cil_tmp107 = (unsigned long )req;
10105#line 857
10106 __cil_tmp108 = __cil_tmp107 + 120;
10107#line 857
10108 __cil_tmp109 = *((struct list_head **)__cil_tmp108);
10109#line 857
10110 __cil_tmp110 = (unsigned long )__cil_tmp109;
10111#line 857
10112 if (__cil_tmp110 != __cil_tmp106) {
10113 {
10114#line 860
10115 __cil_tmp111 = (unsigned long )req;
10116#line 860
10117 __cil_tmp112 = __cil_tmp111 + 120;
10118#line 860
10119 __cil_tmp113 = *((struct list_head **)__cil_tmp112);
10120#line 860
10121 __mptr___2 = (struct list_head *)__cil_tmp113;
10122#line 860
10123 __cil_tmp114 = (struct mv_req *)__mptr___2;
10124#line 860
10125 next_req = __cil_tmp114 + 0xffffffffffffff88UL;
10126#line 864
10127 mv_prime_ep(ep, next_req);
10128 }
10129 } else {
10130#line 868
10131 __cil_tmp115 = (unsigned long )ep;
10132#line 868
10133 __cil_tmp116 = __cil_tmp115 + 88;
10134#line 868
10135 qh = *((struct mv_dqh **)__cil_tmp116);
10136#line 869
10137 __cil_tmp117 = (unsigned long )qh;
10138#line 869
10139 __cil_tmp118 = __cil_tmp117 + 8;
10140#line 869
10141 *((u32 *)__cil_tmp118) = 1U;
10142#line 870
10143 __cil_tmp119 = (unsigned long )qh;
10144#line 870
10145 __cil_tmp120 = __cil_tmp119 + 12;
10146#line 870
10147 *((u32 *)__cil_tmp120) = 0U;
10148 }
10149 }
10150 } else {
10151 {
10152#line 877
10153 __cil_tmp121 = 120 + 8;
10154#line 877
10155 __cil_tmp122 = (unsigned long )req;
10156#line 877
10157 __cil_tmp123 = __cil_tmp122 + __cil_tmp121;
10158#line 877
10159 __cil_tmp124 = *((struct list_head **)__cil_tmp123);
10160#line 877
10161 __mptr___3 = (struct list_head *)__cil_tmp124;
10162#line 877
10163 __cil_tmp125 = (struct mv_req *)__mptr___3;
10164#line 877
10165 prev_req = __cil_tmp125 + 0xffffffffffffff88UL;
10166#line 878
10167 __cil_tmp126 = (unsigned long )req;
10168#line 878
10169 __cil_tmp127 = __cil_tmp126 + 104;
10170#line 878
10171 __cil_tmp128 = *((struct mv_dtd **)__cil_tmp127);
10172#line 878
10173 __cil_tmp129 = (u32 *)__cil_tmp128;
10174#line 878
10175 __cil_tmp130 = (void volatile *)__cil_tmp129;
10176#line 878
10177 tmp___0 = readl(__cil_tmp130);
10178#line 878
10179 __cil_tmp131 = (unsigned long )prev_req;
10180#line 878
10181 __cil_tmp132 = __cil_tmp131 + 104;
10182#line 878
10183 __cil_tmp133 = *((struct mv_dtd **)__cil_tmp132);
10184#line 878
10185 __cil_tmp134 = (u32 *)__cil_tmp133;
10186#line 878
10187 __cil_tmp135 = (void volatile *)__cil_tmp134;
10188#line 878
10189 writel(tmp___0, __cil_tmp135);
10190 }
10191 }
10192 }
10193 {
10194#line 883
10195 done(ep, req, -104);
10196 }
10197 out:
10198 {
10199#line 887
10200 __cil_tmp136 = (unsigned long )ep;
10201#line 887
10202 __cil_tmp137 = __cil_tmp136 + 123;
10203#line 887
10204 __cil_tmp138 = *((unsigned char *)__cil_tmp137);
10205#line 887
10206 __cil_tmp139 = (unsigned long )__cil_tmp138;
10207#line 887
10208 __cil_tmp140 = (unsigned long )udc;
10209#line 887
10210 __cil_tmp141 = __cil_tmp140 + 1320;
10211#line 887
10212 __cil_tmp142 = *((struct mv_op_regs **)__cil_tmp141);
10213#line 887
10214 __cil_tmp143 = (unsigned long )__cil_tmp142;
10215#line 887
10216 __cil_tmp144 = __cil_tmp143 + 128;
10217#line 887
10218 __cil_tmp145 = (u32 (*)[16U])__cil_tmp144;
10219#line 887
10220 __cil_tmp146 = (void volatile *)__cil_tmp145;
10221#line 887
10222 __cil_tmp147 = __cil_tmp146 + __cil_tmp139;
10223#line 887
10224 epctrlx = readl(__cil_tmp147);
10225 }
10226 {
10227#line 888
10228 __cil_tmp148 = (unsigned short *)ep;
10229#line 888
10230 __cil_tmp149 = __cil_tmp148 + 61UL;
10231#line 888
10232 __cil_tmp150 = *__cil_tmp149;
10233#line 888
10234 __cil_tmp151 = (unsigned int )__cil_tmp150;
10235#line 888
10236 if (__cil_tmp151 == 0U) {
10237#line 888
10238 __cil_tmp152 = (unsigned long )ep;
10239#line 888
10240 __cil_tmp153 = __cil_tmp152 + 64;
10241#line 888
10242 __cil_tmp154 = *((struct mv_udc **)__cil_tmp153);
10243#line 888
10244 __cil_tmp155 = (unsigned long )__cil_tmp154;
10245#line 888
10246 __cil_tmp156 = __cil_tmp155 + 1436;
10247#line 888
10248 __cil_tmp157 = *((unsigned int *)__cil_tmp156);
10249#line 888
10250 tmp___1 = __cil_tmp157 == 1U;
10251 } else {
10252#line 888
10253 __cil_tmp158 = (unsigned long )ep;
10254#line 888
10255 __cil_tmp159 = __cil_tmp158 + 104;
10256#line 888
10257 __cil_tmp160 = *((u32 *)__cil_tmp159);
10258#line 888
10259 tmp___1 = __cil_tmp160 == 1U;
10260 }
10261 }
10262#line 888
10263 if (tmp___1) {
10264#line 889
10265 epctrlx = epctrlx | 8388608U;
10266 } else {
10267#line 891
10268 epctrlx = epctrlx | 128U;
10269 }
10270 {
10271#line 892
10272 __cil_tmp161 = (unsigned long )ep;
10273#line 892
10274 __cil_tmp162 = __cil_tmp161 + 123;
10275#line 892
10276 __cil_tmp163 = *((unsigned char *)__cil_tmp162);
10277#line 892
10278 __cil_tmp164 = (unsigned long )__cil_tmp163;
10279#line 892
10280 __cil_tmp165 = (unsigned long )udc;
10281#line 892
10282 __cil_tmp166 = __cil_tmp165 + 1320;
10283#line 892
10284 __cil_tmp167 = *((struct mv_op_regs **)__cil_tmp166);
10285#line 892
10286 __cil_tmp168 = (unsigned long )__cil_tmp167;
10287#line 892
10288 __cil_tmp169 = __cil_tmp168 + 128;
10289#line 892
10290 __cil_tmp170 = (u32 (*)[16U])__cil_tmp169;
10291#line 892
10292 __cil_tmp171 = (void volatile *)__cil_tmp170;
10293#line 892
10294 __cil_tmp172 = __cil_tmp171 + __cil_tmp164;
10295#line 892
10296 writel(epctrlx, __cil_tmp172);
10297#line 893
10298 __cil_tmp173 = (unsigned long )ep;
10299#line 893
10300 __cil_tmp174 = __cil_tmp173 + 122;
10301#line 893
10302 *((unsigned char *)__cil_tmp174) = (unsigned char )stopped;
10303#line 895
10304 __cil_tmp175 = (unsigned long )ep;
10305#line 895
10306 __cil_tmp176 = __cil_tmp175 + 64;
10307#line 895
10308 __cil_tmp177 = *((struct mv_udc **)__cil_tmp176);
10309#line 895
10310 __cil_tmp178 = (unsigned long )__cil_tmp177;
10311#line 895
10312 __cil_tmp179 = __cil_tmp178 + 1216;
10313#line 895
10314 __cil_tmp180 = (spinlock_t *)__cil_tmp179;
10315#line 895
10316 spin_unlock_irqrestore(__cil_tmp180, flags);
10317 }
10318#line 896
10319 return (ret);
10320}
10321}
10322#line 899 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10323static void ep_set_stall(struct mv_udc *udc , u8 ep_num , u8 direction , int stall )
10324{ u32 epctrlx ;
10325 unsigned long __cil_tmp6 ;
10326 unsigned long __cil_tmp7 ;
10327 unsigned long __cil_tmp8 ;
10328 struct mv_op_regs *__cil_tmp9 ;
10329 unsigned long __cil_tmp10 ;
10330 unsigned long __cil_tmp11 ;
10331 u32 (*__cil_tmp12)[16U] ;
10332 void volatile *__cil_tmp13 ;
10333 void volatile *__cil_tmp14 ;
10334 unsigned int __cil_tmp15 ;
10335 unsigned int __cil_tmp16 ;
10336 unsigned long __cil_tmp17 ;
10337 unsigned long __cil_tmp18 ;
10338 unsigned long __cil_tmp19 ;
10339 struct mv_op_regs *__cil_tmp20 ;
10340 unsigned long __cil_tmp21 ;
10341 unsigned long __cil_tmp22 ;
10342 u32 (*__cil_tmp23)[16U] ;
10343 void volatile *__cil_tmp24 ;
10344 void volatile *__cil_tmp25 ;
10345
10346 {
10347 {
10348#line 903
10349 __cil_tmp6 = (unsigned long )ep_num;
10350#line 903
10351 __cil_tmp7 = (unsigned long )udc;
10352#line 903
10353 __cil_tmp8 = __cil_tmp7 + 1320;
10354#line 903
10355 __cil_tmp9 = *((struct mv_op_regs **)__cil_tmp8);
10356#line 903
10357 __cil_tmp10 = (unsigned long )__cil_tmp9;
10358#line 903
10359 __cil_tmp11 = __cil_tmp10 + 128;
10360#line 903
10361 __cil_tmp12 = (u32 (*)[16U])__cil_tmp11;
10362#line 903
10363 __cil_tmp13 = (void volatile *)__cil_tmp12;
10364#line 903
10365 __cil_tmp14 = __cil_tmp13 + __cil_tmp6;
10366#line 903
10367 epctrlx = readl(__cil_tmp14);
10368 }
10369#line 905
10370 if (stall != 0) {
10371 {
10372#line 906
10373 __cil_tmp15 = (unsigned int )direction;
10374#line 906
10375 if (__cil_tmp15 == 1U) {
10376#line 907
10377 epctrlx = epctrlx | 65536U;
10378 } else {
10379#line 909
10380 epctrlx = epctrlx | 1U;
10381 }
10382 }
10383 } else {
10384 {
10385#line 911
10386 __cil_tmp16 = (unsigned int )direction;
10387#line 911
10388 if (__cil_tmp16 == 1U) {
10389#line 912
10390 epctrlx = epctrlx & 4294901759U;
10391#line 913
10392 epctrlx = epctrlx | 4194304U;
10393 } else {
10394#line 915
10395 epctrlx = epctrlx & 4294967294U;
10396#line 916
10397 epctrlx = epctrlx | 64U;
10398 }
10399 }
10400 }
10401 {
10402#line 919
10403 __cil_tmp17 = (unsigned long )ep_num;
10404#line 919
10405 __cil_tmp18 = (unsigned long )udc;
10406#line 919
10407 __cil_tmp19 = __cil_tmp18 + 1320;
10408#line 919
10409 __cil_tmp20 = *((struct mv_op_regs **)__cil_tmp19);
10410#line 919
10411 __cil_tmp21 = (unsigned long )__cil_tmp20;
10412#line 919
10413 __cil_tmp22 = __cil_tmp21 + 128;
10414#line 919
10415 __cil_tmp23 = (u32 (*)[16U])__cil_tmp22;
10416#line 919
10417 __cil_tmp24 = (void volatile *)__cil_tmp23;
10418#line 919
10419 __cil_tmp25 = __cil_tmp24 + __cil_tmp17;
10420#line 919
10421 writel(epctrlx, __cil_tmp25);
10422 }
10423#line 920
10424 return;
10425}
10426}
10427#line 922 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10428static int ep_is_stall(struct mv_udc *udc , u8 ep_num , u8 direction )
10429{ u32 epctrlx ;
10430 unsigned long __cil_tmp5 ;
10431 unsigned long __cil_tmp6 ;
10432 unsigned long __cil_tmp7 ;
10433 struct mv_op_regs *__cil_tmp8 ;
10434 unsigned long __cil_tmp9 ;
10435 unsigned long __cil_tmp10 ;
10436 u32 (*__cil_tmp11)[16U] ;
10437 void volatile *__cil_tmp12 ;
10438 void volatile *__cil_tmp13 ;
10439 unsigned int __cil_tmp14 ;
10440 int __cil_tmp15 ;
10441 unsigned int __cil_tmp16 ;
10442
10443 {
10444 {
10445#line 926
10446 __cil_tmp5 = (unsigned long )ep_num;
10447#line 926
10448 __cil_tmp6 = (unsigned long )udc;
10449#line 926
10450 __cil_tmp7 = __cil_tmp6 + 1320;
10451#line 926
10452 __cil_tmp8 = *((struct mv_op_regs **)__cil_tmp7);
10453#line 926
10454 __cil_tmp9 = (unsigned long )__cil_tmp8;
10455#line 926
10456 __cil_tmp10 = __cil_tmp9 + 128;
10457#line 926
10458 __cil_tmp11 = (u32 (*)[16U])__cil_tmp10;
10459#line 926
10460 __cil_tmp12 = (void volatile *)__cil_tmp11;
10461#line 926
10462 __cil_tmp13 = __cil_tmp12 + __cil_tmp5;
10463#line 926
10464 epctrlx = readl(__cil_tmp13);
10465 }
10466 {
10467#line 928
10468 __cil_tmp14 = (unsigned int )direction;
10469#line 928
10470 if (__cil_tmp14 == 0U) {
10471 {
10472#line 929
10473 __cil_tmp15 = (int )epctrlx;
10474#line 929
10475 return (__cil_tmp15 & 1);
10476 }
10477 } else {
10478 {
10479#line 931
10480 __cil_tmp16 = epctrlx & 65536U;
10481#line 931
10482 return (__cil_tmp16 != 0U);
10483 }
10484 }
10485 }
10486}
10487}
10488#line 934 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10489static int mv_ep_set_halt_wedge(struct usb_ep *_ep , int halt___0 , int wedge )
10490{ struct mv_ep *ep ;
10491 unsigned long flags ;
10492 int status ;
10493 struct mv_udc *udc ;
10494 struct usb_ep *__mptr ;
10495 int tmp ;
10496 int tmp___0 ;
10497 int tmp___1 ;
10498 unsigned long __cil_tmp12 ;
10499 unsigned long __cil_tmp13 ;
10500 struct usb_ep *__cil_tmp14 ;
10501 unsigned long __cil_tmp15 ;
10502 unsigned long __cil_tmp16 ;
10503 struct usb_endpoint_descriptor *__cil_tmp17 ;
10504 unsigned long __cil_tmp18 ;
10505 unsigned long __cil_tmp19 ;
10506 unsigned long __cil_tmp20 ;
10507 struct usb_endpoint_descriptor *__cil_tmp21 ;
10508 unsigned long __cil_tmp22 ;
10509 unsigned long __cil_tmp23 ;
10510 unsigned long __cil_tmp24 ;
10511 struct usb_endpoint_descriptor *__cil_tmp25 ;
10512 unsigned long __cil_tmp26 ;
10513 unsigned long __cil_tmp27 ;
10514 __u8 __cil_tmp28 ;
10515 unsigned char __cil_tmp29 ;
10516 unsigned int __cil_tmp30 ;
10517 unsigned short *__cil_tmp31 ;
10518 unsigned short *__cil_tmp32 ;
10519 unsigned short __cil_tmp33 ;
10520 unsigned int __cil_tmp34 ;
10521 unsigned long __cil_tmp35 ;
10522 unsigned long __cil_tmp36 ;
10523 struct mv_udc *__cil_tmp37 ;
10524 unsigned long __cil_tmp38 ;
10525 unsigned long __cil_tmp39 ;
10526 unsigned int __cil_tmp40 ;
10527 unsigned long __cil_tmp41 ;
10528 unsigned long __cil_tmp42 ;
10529 u32 __cil_tmp43 ;
10530 unsigned long __cil_tmp44 ;
10531 unsigned long __cil_tmp45 ;
10532 struct list_head *__cil_tmp46 ;
10533 struct list_head *__cil_tmp47 ;
10534 unsigned short *__cil_tmp48 ;
10535 unsigned short *__cil_tmp49 ;
10536 unsigned short __cil_tmp50 ;
10537 unsigned int __cil_tmp51 ;
10538 unsigned long __cil_tmp52 ;
10539 unsigned long __cil_tmp53 ;
10540 struct mv_udc *__cil_tmp54 ;
10541 unsigned long __cil_tmp55 ;
10542 unsigned long __cil_tmp56 ;
10543 unsigned int __cil_tmp57 ;
10544 u8 __cil_tmp58 ;
10545 unsigned long __cil_tmp59 ;
10546 unsigned long __cil_tmp60 ;
10547 u32 __cil_tmp61 ;
10548 u8 __cil_tmp62 ;
10549 unsigned long __cil_tmp63 ;
10550 unsigned long __cil_tmp64 ;
10551 unsigned char __cil_tmp65 ;
10552 int __cil_tmp66 ;
10553 u8 __cil_tmp67 ;
10554 u8 __cil_tmp68 ;
10555 unsigned long __cil_tmp69 ;
10556 unsigned long __cil_tmp70 ;
10557 struct mv_udc *__cil_tmp71 ;
10558 unsigned long __cil_tmp72 ;
10559 unsigned long __cil_tmp73 ;
10560 spinlock_t *__cil_tmp74 ;
10561 unsigned short *__cil_tmp75 ;
10562 unsigned short *__cil_tmp76 ;
10563 unsigned short __cil_tmp77 ;
10564 unsigned int __cil_tmp78 ;
10565 unsigned long __cil_tmp79 ;
10566 unsigned long __cil_tmp80 ;
10567 unsigned long __cil_tmp81 ;
10568 unsigned long __cil_tmp82 ;
10569
10570 {
10571#line 937
10572 flags = 0UL;
10573#line 938
10574 status = 0;
10575#line 941
10576 __mptr = (struct usb_ep *)_ep;
10577#line 941
10578 ep = (struct mv_ep *)__mptr;
10579#line 942
10580 __cil_tmp12 = (unsigned long )ep;
10581#line 942
10582 __cil_tmp13 = __cil_tmp12 + 64;
10583#line 942
10584 udc = *((struct mv_udc **)__cil_tmp13);
10585 {
10586#line 943
10587 __cil_tmp14 = (struct usb_ep *)0;
10588#line 943
10589 __cil_tmp15 = (unsigned long )__cil_tmp14;
10590#line 943
10591 __cil_tmp16 = (unsigned long )_ep;
10592#line 943
10593 if (__cil_tmp16 == __cil_tmp15) {
10594#line 944
10595 status = -22;
10596#line 945
10597 goto out;
10598 } else {
10599 {
10600#line 943
10601 __cil_tmp17 = (struct usb_endpoint_descriptor *)0;
10602#line 943
10603 __cil_tmp18 = (unsigned long )__cil_tmp17;
10604#line 943
10605 __cil_tmp19 = (unsigned long )ep;
10606#line 943
10607 __cil_tmp20 = __cil_tmp19 + 96;
10608#line 943
10609 __cil_tmp21 = *((struct usb_endpoint_descriptor **)__cil_tmp20);
10610#line 943
10611 __cil_tmp22 = (unsigned long )__cil_tmp21;
10612#line 943
10613 if (__cil_tmp22 == __cil_tmp18) {
10614#line 944
10615 status = -22;
10616#line 945
10617 goto out;
10618 } else {
10619
10620 }
10621 }
10622 }
10623 }
10624 {
10625#line 948
10626 __cil_tmp23 = (unsigned long )ep;
10627#line 948
10628 __cil_tmp24 = __cil_tmp23 + 96;
10629#line 948
10630 __cil_tmp25 = *((struct usb_endpoint_descriptor **)__cil_tmp24);
10631#line 948
10632 __cil_tmp26 = (unsigned long )__cil_tmp25;
10633#line 948
10634 __cil_tmp27 = __cil_tmp26 + 3;
10635#line 948
10636 __cil_tmp28 = *((__u8 *)__cil_tmp27);
10637#line 948
10638 __cil_tmp29 = (unsigned char )__cil_tmp28;
10639#line 948
10640 __cil_tmp30 = (unsigned int )__cil_tmp29;
10641#line 948
10642 if (__cil_tmp30 == 1U) {
10643#line 949
10644 status = -95;
10645#line 950
10646 goto out;
10647 } else {
10648
10649 }
10650 }
10651#line 957
10652 if (halt___0 != 0) {
10653 {
10654#line 957
10655 __cil_tmp31 = (unsigned short *)ep;
10656#line 957
10657 __cil_tmp32 = __cil_tmp31 + 61UL;
10658#line 957
10659 __cil_tmp33 = *__cil_tmp32;
10660#line 957
10661 __cil_tmp34 = (unsigned int )__cil_tmp33;
10662#line 957
10663 if (__cil_tmp34 == 0U) {
10664#line 957
10665 __cil_tmp35 = (unsigned long )ep;
10666#line 957
10667 __cil_tmp36 = __cil_tmp35 + 64;
10668#line 957
10669 __cil_tmp37 = *((struct mv_udc **)__cil_tmp36);
10670#line 957
10671 __cil_tmp38 = (unsigned long )__cil_tmp37;
10672#line 957
10673 __cil_tmp39 = __cil_tmp38 + 1436;
10674#line 957
10675 __cil_tmp40 = *((unsigned int *)__cil_tmp39);
10676#line 957
10677 tmp = __cil_tmp40 == 1U;
10678 } else {
10679#line 957
10680 __cil_tmp41 = (unsigned long )ep;
10681#line 957
10682 __cil_tmp42 = __cil_tmp41 + 104;
10683#line 957
10684 __cil_tmp43 = *((u32 *)__cil_tmp42);
10685#line 957
10686 tmp = __cil_tmp43 == 1U;
10687 }
10688 }
10689#line 957
10690 if (tmp) {
10691 {
10692#line 957
10693 __cil_tmp44 = (unsigned long )ep;
10694#line 957
10695 __cil_tmp45 = __cil_tmp44 + 72;
10696#line 957
10697 __cil_tmp46 = (struct list_head *)__cil_tmp45;
10698#line 957
10699 __cil_tmp47 = (struct list_head *)__cil_tmp46;
10700#line 957
10701 tmp___0 = list_empty(__cil_tmp47);
10702 }
10703#line 957
10704 if (tmp___0 == 0) {
10705#line 958
10706 status = -11;
10707#line 959
10708 goto out;
10709 } else {
10710
10711 }
10712 } else {
10713
10714 }
10715 } else {
10716
10717 }
10718 {
10719#line 962
10720 ldv_spin_lock();
10721 }
10722 {
10723#line 963
10724 __cil_tmp48 = (unsigned short *)ep;
10725#line 963
10726 __cil_tmp49 = __cil_tmp48 + 61UL;
10727#line 963
10728 __cil_tmp50 = *__cil_tmp49;
10729#line 963
10730 __cil_tmp51 = (unsigned int )__cil_tmp50;
10731#line 963
10732 if (__cil_tmp51 == 0U) {
10733#line 963
10734 __cil_tmp52 = (unsigned long )ep;
10735#line 963
10736 __cil_tmp53 = __cil_tmp52 + 64;
10737#line 963
10738 __cil_tmp54 = *((struct mv_udc **)__cil_tmp53);
10739#line 963
10740 __cil_tmp55 = (unsigned long )__cil_tmp54;
10741#line 963
10742 __cil_tmp56 = __cil_tmp55 + 1436;
10743#line 963
10744 __cil_tmp57 = *((unsigned int *)__cil_tmp56);
10745#line 963
10746 __cil_tmp58 = (u8 )__cil_tmp57;
10747#line 963
10748 tmp___1 = (int )__cil_tmp58;
10749 } else {
10750#line 963
10751 __cil_tmp59 = (unsigned long )ep;
10752#line 963
10753 __cil_tmp60 = __cil_tmp59 + 104;
10754#line 963
10755 __cil_tmp61 = *((u32 *)__cil_tmp60);
10756#line 963
10757 __cil_tmp62 = (u8 )__cil_tmp61;
10758#line 963
10759 tmp___1 = (int )__cil_tmp62;
10760 }
10761 }
10762 {
10763#line 963
10764 __cil_tmp63 = (unsigned long )ep;
10765#line 963
10766 __cil_tmp64 = __cil_tmp63 + 123;
10767#line 963
10768 __cil_tmp65 = *((unsigned char *)__cil_tmp64);
10769#line 963
10770 __cil_tmp66 = (int )__cil_tmp65;
10771#line 963
10772 __cil_tmp67 = (u8 )__cil_tmp66;
10773#line 963
10774 __cil_tmp68 = (u8 )tmp___1;
10775#line 963
10776 ep_set_stall(udc, __cil_tmp67, __cil_tmp68, halt___0);
10777 }
10778#line 964
10779 if (halt___0 != 0) {
10780#line 964
10781 if (wedge != 0) {
10782#line 965
10783 ep->wedge = (unsigned char)1;
10784 } else {
10785#line 964
10786 goto _L;
10787 }
10788 } else
10789 _L:
10790#line 966
10791 if (halt___0 == 0) {
10792#line 967
10793 ep->wedge = (unsigned char)0;
10794 } else {
10795
10796 }
10797 {
10798#line 968
10799 __cil_tmp69 = (unsigned long )ep;
10800#line 968
10801 __cil_tmp70 = __cil_tmp69 + 64;
10802#line 968
10803 __cil_tmp71 = *((struct mv_udc **)__cil_tmp70);
10804#line 968
10805 __cil_tmp72 = (unsigned long )__cil_tmp71;
10806#line 968
10807 __cil_tmp73 = __cil_tmp72 + 1216;
10808#line 968
10809 __cil_tmp74 = (spinlock_t *)__cil_tmp73;
10810#line 968
10811 spin_unlock_irqrestore(__cil_tmp74, flags);
10812 }
10813 {
10814#line 970
10815 __cil_tmp75 = (unsigned short *)ep;
10816#line 970
10817 __cil_tmp76 = __cil_tmp75 + 61UL;
10818#line 970
10819 __cil_tmp77 = *__cil_tmp76;
10820#line 970
10821 __cil_tmp78 = (unsigned int )__cil_tmp77;
10822#line 970
10823 if (__cil_tmp78 == 0U) {
10824#line 971
10825 __cil_tmp79 = (unsigned long )udc;
10826#line 971
10827 __cil_tmp80 = __cil_tmp79 + 1432;
10828#line 971
10829 *((unsigned int *)__cil_tmp80) = 0U;
10830#line 972
10831 __cil_tmp81 = (unsigned long )udc;
10832#line 972
10833 __cil_tmp82 = __cil_tmp81 + 1436;
10834#line 972
10835 *((unsigned int *)__cil_tmp82) = 0U;
10836 } else {
10837
10838 }
10839 }
10840 out: ;
10841#line 975
10842 return (status);
10843}
10844}
10845#line 978 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10846static int mv_ep_set_halt(struct usb_ep *_ep , int halt___0 )
10847{ int tmp ;
10848
10849 {
10850 {
10851#line 980
10852 tmp = mv_ep_set_halt_wedge(_ep, halt___0, 0);
10853 }
10854#line 980
10855 return (tmp);
10856}
10857}
10858#line 983 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10859static int mv_ep_set_wedge(struct usb_ep *_ep )
10860{ int tmp ;
10861
10862 {
10863 {
10864#line 985
10865 tmp = mv_ep_set_halt_wedge(_ep, 1, 1);
10866 }
10867#line 985
10868 return (tmp);
10869}
10870}
10871#line 988 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10872static struct usb_ep_ops mv_ep_ops =
10873#line 988
10874 {& mv_ep_enable, & mv_ep_disable, & mv_alloc_request, & mv_free_request, & mv_ep_queue,
10875 & mv_ep_dequeue, & mv_ep_set_halt, & mv_ep_set_wedge, (int (*)(struct usb_ep * ))0,
10876 & mv_ep_fifo_flush};
10877#line 1003 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10878static void udc_clock_enable(struct mv_udc *udc )
10879{ unsigned int i ;
10880 unsigned long __cil_tmp3 ;
10881 unsigned long __cil_tmp4 ;
10882 unsigned int __cil_tmp5 ;
10883
10884 {
10885#line 1007
10886 i = 0U;
10887#line 1007
10888 goto ldv_25597;
10889 ldv_25596:
10890#line 1007
10891 i = i + 1U;
10892 ldv_25597: ;
10893 {
10894#line 1007
10895 __cil_tmp3 = (unsigned long )udc;
10896#line 1007
10897 __cil_tmp4 = __cil_tmp3 + 1560;
10898#line 1007
10899 __cil_tmp5 = *((unsigned int *)__cil_tmp4);
10900#line 1007
10901 if (__cil_tmp5 > i) {
10902#line 1008
10903 goto ldv_25596;
10904 } else {
10905#line 1010
10906 goto ldv_25598;
10907 }
10908 }
10909 ldv_25598: ;
10910#line 1012
10911 return;
10912}
10913}
10914#line 1011 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10915static void udc_clock_disable(struct mv_udc *udc )
10916{ unsigned int i ;
10917 unsigned long __cil_tmp3 ;
10918 unsigned long __cil_tmp4 ;
10919 unsigned int __cil_tmp5 ;
10920
10921 {
10922#line 1015
10923 i = 0U;
10924#line 1015
10925 goto ldv_25604;
10926 ldv_25603:
10927#line 1015
10928 i = i + 1U;
10929 ldv_25604: ;
10930 {
10931#line 1015
10932 __cil_tmp3 = (unsigned long )udc;
10933#line 1015
10934 __cil_tmp4 = __cil_tmp3 + 1560;
10935#line 1015
10936 __cil_tmp5 = *((unsigned int *)__cil_tmp4);
10937#line 1015
10938 if (__cil_tmp5 > i) {
10939#line 1016
10940 goto ldv_25603;
10941 } else {
10942#line 1018
10943 goto ldv_25605;
10944 }
10945 }
10946 ldv_25605: ;
10947#line 1020
10948 return;
10949}
10950}
10951#line 1019 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
10952static void udc_stop(struct mv_udc *udc )
10953{ u32 tmp ;
10954 unsigned long __cil_tmp3 ;
10955 unsigned long __cil_tmp4 ;
10956 struct mv_op_regs *__cil_tmp5 ;
10957 unsigned long __cil_tmp6 ;
10958 unsigned long __cil_tmp7 ;
10959 u32 *__cil_tmp8 ;
10960 void volatile *__cil_tmp9 ;
10961 unsigned long __cil_tmp10 ;
10962 unsigned long __cil_tmp11 ;
10963 struct mv_op_regs *__cil_tmp12 ;
10964 unsigned long __cil_tmp13 ;
10965 unsigned long __cil_tmp14 ;
10966 u32 *__cil_tmp15 ;
10967 void volatile *__cil_tmp16 ;
10968 unsigned long __cil_tmp17 ;
10969 unsigned long __cil_tmp18 ;
10970 struct mv_op_regs *__cil_tmp19 ;
10971 u32 *__cil_tmp20 ;
10972 void volatile *__cil_tmp21 ;
10973 unsigned long __cil_tmp22 ;
10974 unsigned long __cil_tmp23 ;
10975 struct mv_op_regs *__cil_tmp24 ;
10976 u32 *__cil_tmp25 ;
10977 void volatile *__cil_tmp26 ;
10978
10979 {
10980 {
10981#line 1024
10982 __cil_tmp3 = (unsigned long )udc;
10983#line 1024
10984 __cil_tmp4 = __cil_tmp3 + 1320;
10985#line 1024
10986 __cil_tmp5 = *((struct mv_op_regs **)__cil_tmp4);
10987#line 1024
10988 __cil_tmp6 = (unsigned long )__cil_tmp5;
10989#line 1024
10990 __cil_tmp7 = __cil_tmp6 + 8;
10991#line 1024
10992 __cil_tmp8 = (u32 *)__cil_tmp7;
10993#line 1024
10994 __cil_tmp9 = (void volatile *)__cil_tmp8;
10995#line 1024
10996 tmp = readl(__cil_tmp9);
10997#line 1025
10998 tmp = tmp & 4294967224U;
10999#line 1027
11000 __cil_tmp10 = (unsigned long )udc;
11001#line 1027
11002 __cil_tmp11 = __cil_tmp10 + 1320;
11003#line 1027
11004 __cil_tmp12 = *((struct mv_op_regs **)__cil_tmp11);
11005#line 1027
11006 __cil_tmp13 = (unsigned long )__cil_tmp12;
11007#line 1027
11008 __cil_tmp14 = __cil_tmp13 + 8;
11009#line 1027
11010 __cil_tmp15 = (u32 *)__cil_tmp14;
11011#line 1027
11012 __cil_tmp16 = (void volatile *)__cil_tmp15;
11013#line 1027
11014 writel(tmp, __cil_tmp16);
11015#line 1029
11016 udc->stopped = (unsigned char)1;
11017#line 1032
11018 __cil_tmp17 = (unsigned long )udc;
11019#line 1032
11020 __cil_tmp18 = __cil_tmp17 + 1320;
11021#line 1032
11022 __cil_tmp19 = *((struct mv_op_regs **)__cil_tmp18);
11023#line 1032
11024 __cil_tmp20 = (u32 *)__cil_tmp19;
11025#line 1032
11026 __cil_tmp21 = (void volatile *)__cil_tmp20;
11027#line 1032
11028 tmp = readl(__cil_tmp21);
11029#line 1033
11030 tmp = tmp & 4294967294U;
11031#line 1034
11032 __cil_tmp22 = (unsigned long )udc;
11033#line 1034
11034 __cil_tmp23 = __cil_tmp22 + 1320;
11035#line 1034
11036 __cil_tmp24 = *((struct mv_op_regs **)__cil_tmp23);
11037#line 1034
11038 __cil_tmp25 = (u32 *)__cil_tmp24;
11039#line 1034
11040 __cil_tmp26 = (void volatile *)__cil_tmp25;
11041#line 1034
11042 writel(tmp, __cil_tmp26);
11043 }
11044#line 1035
11045 return;
11046}
11047}
11048#line 1037 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11049static void udc_start(struct mv_udc *udc )
11050{ u32 usbintr ;
11051 unsigned long __cil_tmp3 ;
11052 unsigned long __cil_tmp4 ;
11053 struct mv_op_regs *__cil_tmp5 ;
11054 unsigned long __cil_tmp6 ;
11055 unsigned long __cil_tmp7 ;
11056 u32 *__cil_tmp8 ;
11057 void volatile *__cil_tmp9 ;
11058 unsigned long __cil_tmp10 ;
11059 unsigned long __cil_tmp11 ;
11060 struct mv_op_regs *__cil_tmp12 ;
11061 u32 *__cil_tmp13 ;
11062 void volatile *__cil_tmp14 ;
11063
11064 {
11065 {
11066#line 1041
11067 usbintr = 327U;
11068#line 1045
11069 __cil_tmp3 = (unsigned long )udc;
11070#line 1045
11071 __cil_tmp4 = __cil_tmp3 + 1320;
11072#line 1045
11073 __cil_tmp5 = *((struct mv_op_regs **)__cil_tmp4);
11074#line 1045
11075 __cil_tmp6 = (unsigned long )__cil_tmp5;
11076#line 1045
11077 __cil_tmp7 = __cil_tmp6 + 8;
11078#line 1045
11079 __cil_tmp8 = (u32 *)__cil_tmp7;
11080#line 1045
11081 __cil_tmp9 = (void volatile *)__cil_tmp8;
11082#line 1045
11083 writel(usbintr, __cil_tmp9);
11084#line 1047
11085 udc->stopped = (unsigned char)0;
11086#line 1050
11087 __cil_tmp10 = (unsigned long )udc;
11088#line 1050
11089 __cil_tmp11 = __cil_tmp10 + 1320;
11090#line 1050
11091 __cil_tmp12 = *((struct mv_op_regs **)__cil_tmp11);
11092#line 1050
11093 __cil_tmp13 = (u32 *)__cil_tmp12;
11094#line 1050
11095 __cil_tmp14 = (void volatile *)__cil_tmp13;
11096#line 1050
11097 writel(1U, __cil_tmp14);
11098 }
11099#line 1051
11100 return;
11101}
11102}
11103#line 1053 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11104static int udc_reset(struct mv_udc *udc )
11105{ unsigned int loops ;
11106 u32 tmp ;
11107 u32 portsc ;
11108 unsigned int tmp___0 ;
11109 unsigned int tmp___1 ;
11110 unsigned long __cil_tmp7 ;
11111 unsigned long __cil_tmp8 ;
11112 struct mv_op_regs *__cil_tmp9 ;
11113 u32 *__cil_tmp10 ;
11114 void volatile *__cil_tmp11 ;
11115 unsigned long __cil_tmp12 ;
11116 unsigned long __cil_tmp13 ;
11117 struct mv_op_regs *__cil_tmp14 ;
11118 u32 *__cil_tmp15 ;
11119 void volatile *__cil_tmp16 ;
11120 unsigned long __cil_tmp17 ;
11121 unsigned long __cil_tmp18 ;
11122 struct mv_op_regs *__cil_tmp19 ;
11123 u32 *__cil_tmp20 ;
11124 void volatile *__cil_tmp21 ;
11125 unsigned long __cil_tmp22 ;
11126 unsigned long __cil_tmp23 ;
11127 struct platform_device *__cil_tmp24 ;
11128 unsigned long __cil_tmp25 ;
11129 unsigned long __cil_tmp26 ;
11130 struct device *__cil_tmp27 ;
11131 struct device *__cil_tmp28 ;
11132 unsigned long __cil_tmp29 ;
11133 unsigned long __cil_tmp30 ;
11134 struct mv_op_regs *__cil_tmp31 ;
11135 u32 *__cil_tmp32 ;
11136 void volatile *__cil_tmp33 ;
11137 unsigned int __cil_tmp34 ;
11138 unsigned long __cil_tmp35 ;
11139 unsigned long __cil_tmp36 ;
11140 struct mv_op_regs *__cil_tmp37 ;
11141 unsigned long __cil_tmp38 ;
11142 unsigned long __cil_tmp39 ;
11143 u32 *__cil_tmp40 ;
11144 void volatile *__cil_tmp41 ;
11145 unsigned long __cil_tmp42 ;
11146 unsigned long __cil_tmp43 ;
11147 struct mv_op_regs *__cil_tmp44 ;
11148 unsigned long __cil_tmp45 ;
11149 unsigned long __cil_tmp46 ;
11150 u32 *__cil_tmp47 ;
11151 void volatile *__cil_tmp48 ;
11152 unsigned long __cil_tmp49 ;
11153 unsigned long __cil_tmp50 ;
11154 struct mv_op_regs *__cil_tmp51 ;
11155 unsigned long __cil_tmp52 ;
11156 unsigned long __cil_tmp53 ;
11157 u32 *__cil_tmp54 ;
11158 void volatile *__cil_tmp55 ;
11159 unsigned long __cil_tmp56 ;
11160 unsigned long __cil_tmp57 ;
11161 dma_addr_t __cil_tmp58 ;
11162 unsigned int __cil_tmp59 ;
11163 unsigned int __cil_tmp60 ;
11164 unsigned long __cil_tmp61 ;
11165 unsigned long __cil_tmp62 ;
11166 struct mv_op_regs *__cil_tmp63 ;
11167 unsigned long __cil_tmp64 ;
11168 unsigned long __cil_tmp65 ;
11169 u32 *__cil_tmp66 ;
11170 void volatile *__cil_tmp67 ;
11171 unsigned long __cil_tmp68 ;
11172 unsigned long __cil_tmp69 ;
11173 struct mv_op_regs *__cil_tmp70 ;
11174 unsigned long __cil_tmp71 ;
11175 unsigned long __cil_tmp72 ;
11176 u32 (*__cil_tmp73)[8U] ;
11177 void volatile *__cil_tmp74 ;
11178 unsigned long __cil_tmp75 ;
11179 unsigned long __cil_tmp76 ;
11180 struct mv_cap_regs *__cil_tmp77 ;
11181 unsigned long __cil_tmp78 ;
11182 unsigned long __cil_tmp79 ;
11183 u32 *__cil_tmp80 ;
11184 void volatile *__cil_tmp81 ;
11185 unsigned int __cil_tmp82 ;
11186 unsigned char *__cil_tmp83 ;
11187 unsigned char *__cil_tmp84 ;
11188 unsigned char __cil_tmp85 ;
11189 unsigned int __cil_tmp86 ;
11190 unsigned long __cil_tmp87 ;
11191 unsigned long __cil_tmp88 ;
11192 struct mv_op_regs *__cil_tmp89 ;
11193 unsigned long __cil_tmp90 ;
11194 unsigned long __cil_tmp91 ;
11195 u32 (*__cil_tmp92)[8U] ;
11196 void volatile *__cil_tmp93 ;
11197 unsigned long __cil_tmp94 ;
11198 unsigned long __cil_tmp95 ;
11199 struct mv_op_regs *__cil_tmp96 ;
11200 unsigned long __cil_tmp97 ;
11201 unsigned long __cil_tmp98 ;
11202 u32 (*__cil_tmp99)[16U] ;
11203 void volatile *__cil_tmp100 ;
11204 unsigned long __cil_tmp101 ;
11205 unsigned long __cil_tmp102 ;
11206 struct mv_op_regs *__cil_tmp103 ;
11207 unsigned long __cil_tmp104 ;
11208 unsigned long __cil_tmp105 ;
11209 u32 (*__cil_tmp106)[16U] ;
11210 void volatile *__cil_tmp107 ;
11211
11212 {
11213 {
11214#line 1059
11215 __cil_tmp7 = (unsigned long )udc;
11216#line 1059
11217 __cil_tmp8 = __cil_tmp7 + 1320;
11218#line 1059
11219 __cil_tmp9 = *((struct mv_op_regs **)__cil_tmp8);
11220#line 1059
11221 __cil_tmp10 = (u32 *)__cil_tmp9;
11222#line 1059
11223 __cil_tmp11 = (void volatile *)__cil_tmp10;
11224#line 1059
11225 tmp = readl(__cil_tmp11);
11226#line 1060
11227 tmp = tmp & 4294967294U;
11228#line 1061
11229 __cil_tmp12 = (unsigned long )udc;
11230#line 1061
11231 __cil_tmp13 = __cil_tmp12 + 1320;
11232#line 1061
11233 __cil_tmp14 = *((struct mv_op_regs **)__cil_tmp13);
11234#line 1061
11235 __cil_tmp15 = (u32 *)__cil_tmp14;
11236#line 1061
11237 __cil_tmp16 = (void volatile *)__cil_tmp15;
11238#line 1061
11239 writel(tmp, __cil_tmp16);
11240#line 1064
11241 __cil_tmp17 = (unsigned long )udc;
11242#line 1064
11243 __cil_tmp18 = __cil_tmp17 + 1320;
11244#line 1064
11245 __cil_tmp19 = *((struct mv_op_regs **)__cil_tmp18);
11246#line 1064
11247 __cil_tmp20 = (u32 *)__cil_tmp19;
11248#line 1064
11249 __cil_tmp21 = (void volatile *)__cil_tmp20;
11250#line 1064
11251 writel(2U, __cil_tmp21);
11252#line 1067
11253 loops = 625U;
11254 }
11255#line 1068
11256 goto ldv_25621;
11257 ldv_25620: ;
11258#line 1069
11259 if (loops == 0U) {
11260 {
11261#line 1070
11262 __cil_tmp22 = (unsigned long )udc;
11263#line 1070
11264 __cil_tmp23 = __cil_tmp22 + 1296;
11265#line 1070
11266 __cil_tmp24 = *((struct platform_device **)__cil_tmp23);
11267#line 1070
11268 __cil_tmp25 = (unsigned long )__cil_tmp24;
11269#line 1070
11270 __cil_tmp26 = __cil_tmp25 + 16;
11271#line 1070
11272 __cil_tmp27 = (struct device *)__cil_tmp26;
11273#line 1070
11274 __cil_tmp28 = (struct device *)__cil_tmp27;
11275#line 1070
11276 dev_err(__cil_tmp28, "Wait for RESET completed TIMEOUT\n");
11277 }
11278#line 1072
11279 return (-110);
11280 } else {
11281
11282 }
11283 {
11284#line 1074
11285 loops = loops - 1U;
11286#line 1075
11287 ___udelay(68720UL);
11288 }
11289 ldv_25621:
11290 {
11291#line 1068
11292 __cil_tmp29 = (unsigned long )udc;
11293#line 1068
11294 __cil_tmp30 = __cil_tmp29 + 1320;
11295#line 1068
11296 __cil_tmp31 = *((struct mv_op_regs **)__cil_tmp30);
11297#line 1068
11298 __cil_tmp32 = (u32 *)__cil_tmp31;
11299#line 1068
11300 __cil_tmp33 = (void volatile *)__cil_tmp32;
11301#line 1068
11302 tmp___0 = readl(__cil_tmp33);
11303 }
11304 {
11305#line 1068
11306 __cil_tmp34 = tmp___0 & 2U;
11307#line 1068
11308 if (__cil_tmp34 != 0U) {
11309#line 1069
11310 goto ldv_25620;
11311 } else {
11312#line 1071
11313 goto ldv_25622;
11314 }
11315 }
11316 ldv_25622:
11317 {
11318#line 1079
11319 __cil_tmp35 = (unsigned long )udc;
11320#line 1079
11321 __cil_tmp36 = __cil_tmp35 + 1320;
11322#line 1079
11323 __cil_tmp37 = *((struct mv_op_regs **)__cil_tmp36);
11324#line 1079
11325 __cil_tmp38 = (unsigned long )__cil_tmp37;
11326#line 1079
11327 __cil_tmp39 = __cil_tmp38 + 104;
11328#line 1079
11329 __cil_tmp40 = (u32 *)__cil_tmp39;
11330#line 1079
11331 __cil_tmp41 = (void volatile *)__cil_tmp40;
11332#line 1079
11333 tmp = readl(__cil_tmp41);
11334#line 1080
11335 tmp = tmp | 2U;
11336#line 1083
11337 tmp = tmp | 24U;
11338#line 1085
11339 __cil_tmp42 = (unsigned long )udc;
11340#line 1085
11341 __cil_tmp43 = __cil_tmp42 + 1320;
11342#line 1085
11343 __cil_tmp44 = *((struct mv_op_regs **)__cil_tmp43);
11344#line 1085
11345 __cil_tmp45 = (unsigned long )__cil_tmp44;
11346#line 1085
11347 __cil_tmp46 = __cil_tmp45 + 104;
11348#line 1085
11349 __cil_tmp47 = (u32 *)__cil_tmp46;
11350#line 1085
11351 __cil_tmp48 = (void volatile *)__cil_tmp47;
11352#line 1085
11353 writel(tmp, __cil_tmp48);
11354#line 1087
11355 __cil_tmp49 = (unsigned long )udc;
11356#line 1087
11357 __cil_tmp50 = __cil_tmp49 + 1320;
11358#line 1087
11359 __cil_tmp51 = *((struct mv_op_regs **)__cil_tmp50);
11360#line 1087
11361 __cil_tmp52 = (unsigned long )__cil_tmp51;
11362#line 1087
11363 __cil_tmp53 = __cil_tmp52 + 108;
11364#line 1087
11365 __cil_tmp54 = (u32 *)__cil_tmp53;
11366#line 1087
11367 __cil_tmp55 = (void volatile *)__cil_tmp54;
11368#line 1087
11369 writel(0U, __cil_tmp55);
11370#line 1090
11371 __cil_tmp56 = (unsigned long )udc;
11372#line 1090
11373 __cil_tmp57 = __cil_tmp56 + 1360;
11374#line 1090
11375 __cil_tmp58 = *((dma_addr_t *)__cil_tmp57);
11376#line 1090
11377 __cil_tmp59 = (unsigned int )__cil_tmp58;
11378#line 1090
11379 __cil_tmp60 = __cil_tmp59 & 4294965248U;
11380#line 1090
11381 __cil_tmp61 = (unsigned long )udc;
11382#line 1090
11383 __cil_tmp62 = __cil_tmp61 + 1320;
11384#line 1090
11385 __cil_tmp63 = *((struct mv_op_regs **)__cil_tmp62);
11386#line 1090
11387 __cil_tmp64 = (unsigned long )__cil_tmp63;
11388#line 1090
11389 __cil_tmp65 = __cil_tmp64 + 24;
11390#line 1090
11391 __cil_tmp66 = (u32 *)__cil_tmp65;
11392#line 1090
11393 __cil_tmp67 = (void volatile *)__cil_tmp66;
11394#line 1090
11395 writel(__cil_tmp60, __cil_tmp67);
11396#line 1093
11397 __cil_tmp68 = (unsigned long )udc;
11398#line 1093
11399 __cil_tmp69 = __cil_tmp68 + 1320;
11400#line 1093
11401 __cil_tmp70 = *((struct mv_op_regs **)__cil_tmp69);
11402#line 1093
11403 __cil_tmp71 = (unsigned long )__cil_tmp70;
11404#line 1093
11405 __cil_tmp72 = __cil_tmp71 + 68;
11406#line 1093
11407 __cil_tmp73 = (u32 (*)[8U])__cil_tmp72;
11408#line 1093
11409 __cil_tmp74 = (void volatile *)__cil_tmp73;
11410#line 1093
11411 portsc = readl(__cil_tmp74);
11412#line 1094
11413 __cil_tmp75 = (unsigned long )udc;
11414#line 1094
11415 __cil_tmp76 = __cil_tmp75 + 1312;
11416#line 1094
11417 __cil_tmp77 = *((struct mv_cap_regs **)__cil_tmp76);
11418#line 1094
11419 __cil_tmp78 = (unsigned long )__cil_tmp77;
11420#line 1094
11421 __cil_tmp79 = __cil_tmp78 + 4;
11422#line 1094
11423 __cil_tmp80 = (u32 *)__cil_tmp79;
11424#line 1094
11425 __cil_tmp81 = (void volatile *)__cil_tmp80;
11426#line 1094
11427 tmp___1 = readl(__cil_tmp81);
11428 }
11429 {
11430#line 1094
11431 __cil_tmp82 = tmp___1 & 16U;
11432#line 1094
11433 if (__cil_tmp82 != 0U) {
11434#line 1095
11435 portsc = portsc;
11436 } else {
11437
11438 }
11439 }
11440 {
11441#line 1097
11442 __cil_tmp83 = (unsigned char *)udc;
11443#line 1097
11444 __cil_tmp84 = __cil_tmp83 + 1452UL;
11445#line 1097
11446 __cil_tmp85 = *__cil_tmp84;
11447#line 1097
11448 __cil_tmp86 = (unsigned int )__cil_tmp85;
11449#line 1097
11450 if (__cil_tmp86 != 0U) {
11451#line 1098
11452 portsc = portsc | 16777216U;
11453 } else {
11454#line 1100
11455 portsc = portsc & 4278190079U;
11456 }
11457 }
11458 {
11459#line 1102
11460 __cil_tmp87 = (unsigned long )udc;
11461#line 1102
11462 __cil_tmp88 = __cil_tmp87 + 1320;
11463#line 1102
11464 __cil_tmp89 = *((struct mv_op_regs **)__cil_tmp88);
11465#line 1102
11466 __cil_tmp90 = (unsigned long )__cil_tmp89;
11467#line 1102
11468 __cil_tmp91 = __cil_tmp90 + 68;
11469#line 1102
11470 __cil_tmp92 = (u32 (*)[8U])__cil_tmp91;
11471#line 1102
11472 __cil_tmp93 = (void volatile *)__cil_tmp92;
11473#line 1102
11474 writel(portsc, __cil_tmp93);
11475#line 1104
11476 __cil_tmp94 = (unsigned long )udc;
11477#line 1104
11478 __cil_tmp95 = __cil_tmp94 + 1320;
11479#line 1104
11480 __cil_tmp96 = *((struct mv_op_regs **)__cil_tmp95);
11481#line 1104
11482 __cil_tmp97 = (unsigned long )__cil_tmp96;
11483#line 1104
11484 __cil_tmp98 = __cil_tmp97 + 128;
11485#line 1104
11486 __cil_tmp99 = (u32 (*)[16U])__cil_tmp98;
11487#line 1104
11488 __cil_tmp100 = (void volatile *)__cil_tmp99;
11489#line 1104
11490 tmp = readl(__cil_tmp100);
11491#line 1105
11492 tmp = tmp & 4294901758U;
11493#line 1106
11494 __cil_tmp101 = (unsigned long )udc;
11495#line 1106
11496 __cil_tmp102 = __cil_tmp101 + 1320;
11497#line 1106
11498 __cil_tmp103 = *((struct mv_op_regs **)__cil_tmp102);
11499#line 1106
11500 __cil_tmp104 = (unsigned long )__cil_tmp103;
11501#line 1106
11502 __cil_tmp105 = __cil_tmp104 + 128;
11503#line 1106
11504 __cil_tmp106 = (u32 (*)[16U])__cil_tmp105;
11505#line 1106
11506 __cil_tmp107 = (void volatile *)__cil_tmp106;
11507#line 1106
11508 writel(tmp, __cil_tmp107);
11509 }
11510#line 1108
11511 return (0);
11512}
11513}
11514#line 1111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11515static int mv_udc_enable_internal(struct mv_udc *udc )
11516{ int retval ;
11517 struct _ddebug descriptor ;
11518 long tmp ;
11519 unsigned char *__cil_tmp5 ;
11520 unsigned char *__cil_tmp6 ;
11521 unsigned char __cil_tmp7 ;
11522 unsigned int __cil_tmp8 ;
11523 struct _ddebug *__cil_tmp9 ;
11524 unsigned long __cil_tmp10 ;
11525 unsigned long __cil_tmp11 ;
11526 unsigned long __cil_tmp12 ;
11527 unsigned long __cil_tmp13 ;
11528 unsigned long __cil_tmp14 ;
11529 unsigned long __cil_tmp15 ;
11530 unsigned char __cil_tmp16 ;
11531 long __cil_tmp17 ;
11532 long __cil_tmp18 ;
11533 unsigned long __cil_tmp19 ;
11534 unsigned long __cil_tmp20 ;
11535 struct platform_device *__cil_tmp21 ;
11536 unsigned long __cil_tmp22 ;
11537 unsigned long __cil_tmp23 ;
11538 struct device *__cil_tmp24 ;
11539 struct device *__cil_tmp25 ;
11540 int (*__cil_tmp26)(void * ) ;
11541 unsigned long __cil_tmp27 ;
11542 unsigned long __cil_tmp28 ;
11543 unsigned long __cil_tmp29 ;
11544 struct mv_usb_platform_data *__cil_tmp30 ;
11545 unsigned long __cil_tmp31 ;
11546 unsigned long __cil_tmp32 ;
11547 int (*__cil_tmp33)(void * ) ;
11548 unsigned long __cil_tmp34 ;
11549 unsigned long __cil_tmp35 ;
11550 unsigned long __cil_tmp36 ;
11551 struct mv_usb_platform_data *__cil_tmp37 ;
11552 unsigned long __cil_tmp38 ;
11553 unsigned long __cil_tmp39 ;
11554 int (*__cil_tmp40)(void * ) ;
11555 unsigned long __cil_tmp41 ;
11556 unsigned long __cil_tmp42 ;
11557 void *__cil_tmp43 ;
11558 unsigned long __cil_tmp44 ;
11559 unsigned long __cil_tmp45 ;
11560 struct platform_device *__cil_tmp46 ;
11561 unsigned long __cil_tmp47 ;
11562 unsigned long __cil_tmp48 ;
11563 struct device *__cil_tmp49 ;
11564 struct device *__cil_tmp50 ;
11565
11566 {
11567 {
11568#line 1115
11569 __cil_tmp5 = (unsigned char *)udc;
11570#line 1115
11571 __cil_tmp6 = __cil_tmp5 + 1452UL;
11572#line 1115
11573 __cil_tmp7 = *__cil_tmp6;
11574#line 1115
11575 __cil_tmp8 = (unsigned int )__cil_tmp7;
11576#line 1115
11577 if (__cil_tmp8 != 0U) {
11578#line 1116
11579 return (0);
11580 } else {
11581
11582 }
11583 }
11584 {
11585#line 1118
11586 __cil_tmp9 = & descriptor;
11587#line 1118
11588 *((char **)__cil_tmp9) = "mv_udc";
11589#line 1118
11590 __cil_tmp10 = (unsigned long )(& descriptor) + 8;
11591#line 1118
11592 *((char **)__cil_tmp10) = "mv_udc_enable_internal";
11593#line 1118
11594 __cil_tmp11 = (unsigned long )(& descriptor) + 16;
11595#line 1118
11596 *((char **)__cil_tmp11) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
11597#line 1118
11598 __cil_tmp12 = (unsigned long )(& descriptor) + 24;
11599#line 1118
11600 *((char **)__cil_tmp12) = "enable udc\n";
11601#line 1118
11602 __cil_tmp13 = (unsigned long )(& descriptor) + 32;
11603#line 1118
11604 *((unsigned int *)__cil_tmp13) = 1118U;
11605#line 1118
11606 __cil_tmp14 = (unsigned long )(& descriptor) + 35;
11607#line 1118
11608 *((unsigned char *)__cil_tmp14) = (unsigned char)1;
11609#line 1118
11610 __cil_tmp15 = (unsigned long )(& descriptor) + 35;
11611#line 1118
11612 __cil_tmp16 = *((unsigned char *)__cil_tmp15);
11613#line 1118
11614 __cil_tmp17 = (long )__cil_tmp16;
11615#line 1118
11616 __cil_tmp18 = __cil_tmp17 & 1L;
11617#line 1118
11618 tmp = __builtin_expect(__cil_tmp18, 0L);
11619 }
11620#line 1118
11621 if (tmp != 0L) {
11622 {
11623#line 1118
11624 __cil_tmp19 = (unsigned long )udc;
11625#line 1118
11626 __cil_tmp20 = __cil_tmp19 + 1296;
11627#line 1118
11628 __cil_tmp21 = *((struct platform_device **)__cil_tmp20);
11629#line 1118
11630 __cil_tmp22 = (unsigned long )__cil_tmp21;
11631#line 1118
11632 __cil_tmp23 = __cil_tmp22 + 16;
11633#line 1118
11634 __cil_tmp24 = (struct device *)__cil_tmp23;
11635#line 1118
11636 __cil_tmp25 = (struct device *)__cil_tmp24;
11637#line 1118
11638 __dynamic_dev_dbg(& descriptor, __cil_tmp25, "enable udc\n");
11639 }
11640 } else {
11641
11642 }
11643 {
11644#line 1119
11645 udc_clock_enable(udc);
11646 }
11647 {
11648#line 1120
11649 __cil_tmp26 = (int (*)(void * ))0;
11650#line 1120
11651 __cil_tmp27 = (unsigned long )__cil_tmp26;
11652#line 1120
11653 __cil_tmp28 = (unsigned long )udc;
11654#line 1120
11655 __cil_tmp29 = __cil_tmp28 + 1552;
11656#line 1120
11657 __cil_tmp30 = *((struct mv_usb_platform_data **)__cil_tmp29);
11658#line 1120
11659 __cil_tmp31 = (unsigned long )__cil_tmp30;
11660#line 1120
11661 __cil_tmp32 = __cil_tmp31 + 40;
11662#line 1120
11663 __cil_tmp33 = *((int (**)(void * ))__cil_tmp32);
11664#line 1120
11665 __cil_tmp34 = (unsigned long )__cil_tmp33;
11666#line 1120
11667 if (__cil_tmp34 != __cil_tmp27) {
11668 {
11669#line 1121
11670 __cil_tmp35 = (unsigned long )udc;
11671#line 1121
11672 __cil_tmp36 = __cil_tmp35 + 1552;
11673#line 1121
11674 __cil_tmp37 = *((struct mv_usb_platform_data **)__cil_tmp36);
11675#line 1121
11676 __cil_tmp38 = (unsigned long )__cil_tmp37;
11677#line 1121
11678 __cil_tmp39 = __cil_tmp38 + 40;
11679#line 1121
11680 __cil_tmp40 = *((int (**)(void * ))__cil_tmp39);
11681#line 1121
11682 __cil_tmp41 = (unsigned long )udc;
11683#line 1121
11684 __cil_tmp42 = __cil_tmp41 + 1328;
11685#line 1121
11686 __cil_tmp43 = *((void **)__cil_tmp42);
11687#line 1121
11688 retval = (*__cil_tmp40)(__cil_tmp43);
11689 }
11690#line 1122
11691 if (retval != 0) {
11692 {
11693#line 1123
11694 __cil_tmp44 = (unsigned long )udc;
11695#line 1123
11696 __cil_tmp45 = __cil_tmp44 + 1296;
11697#line 1123
11698 __cil_tmp46 = *((struct platform_device **)__cil_tmp45);
11699#line 1123
11700 __cil_tmp47 = (unsigned long )__cil_tmp46;
11701#line 1123
11702 __cil_tmp48 = __cil_tmp47 + 16;
11703#line 1123
11704 __cil_tmp49 = (struct device *)__cil_tmp48;
11705#line 1123
11706 __cil_tmp50 = (struct device *)__cil_tmp49;
11707#line 1123
11708 dev_err(__cil_tmp50, "init phy error %d\n", retval);
11709#line 1125
11710 udc_clock_disable(udc);
11711 }
11712#line 1126
11713 return (retval);
11714 } else {
11715
11716 }
11717 } else {
11718
11719 }
11720 }
11721#line 1129
11722 udc->active = (unsigned char)1;
11723#line 1131
11724 return (0);
11725}
11726}
11727#line 1134 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11728static int mv_udc_enable(struct mv_udc *udc )
11729{ int tmp ;
11730 unsigned char *__cil_tmp3 ;
11731 unsigned char *__cil_tmp4 ;
11732 unsigned char __cil_tmp5 ;
11733 unsigned int __cil_tmp6 ;
11734
11735 {
11736 {
11737#line 1136
11738 __cil_tmp3 = (unsigned char *)udc;
11739#line 1136
11740 __cil_tmp4 = __cil_tmp3 + 1452UL;
11741#line 1136
11742 __cil_tmp5 = *__cil_tmp4;
11743#line 1136
11744 __cil_tmp6 = (unsigned int )__cil_tmp5;
11745#line 1136
11746 if (__cil_tmp6 != 0U) {
11747 {
11748#line 1137
11749 tmp = mv_udc_enable_internal(udc);
11750 }
11751#line 1137
11752 return (tmp);
11753 } else {
11754
11755 }
11756 }
11757#line 1139
11758 return (0);
11759}
11760}
11761#line 1142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11762static void mv_udc_disable_internal(struct mv_udc *udc )
11763{ struct _ddebug descriptor ;
11764 long tmp ;
11765 unsigned char *__cil_tmp4 ;
11766 unsigned char *__cil_tmp5 ;
11767 unsigned char __cil_tmp6 ;
11768 unsigned int __cil_tmp7 ;
11769 struct _ddebug *__cil_tmp8 ;
11770 unsigned long __cil_tmp9 ;
11771 unsigned long __cil_tmp10 ;
11772 unsigned long __cil_tmp11 ;
11773 unsigned long __cil_tmp12 ;
11774 unsigned long __cil_tmp13 ;
11775 unsigned long __cil_tmp14 ;
11776 unsigned char __cil_tmp15 ;
11777 long __cil_tmp16 ;
11778 long __cil_tmp17 ;
11779 unsigned long __cil_tmp18 ;
11780 unsigned long __cil_tmp19 ;
11781 struct platform_device *__cil_tmp20 ;
11782 unsigned long __cil_tmp21 ;
11783 unsigned long __cil_tmp22 ;
11784 struct device *__cil_tmp23 ;
11785 struct device *__cil_tmp24 ;
11786 void (*__cil_tmp25)(void * ) ;
11787 unsigned long __cil_tmp26 ;
11788 unsigned long __cil_tmp27 ;
11789 unsigned long __cil_tmp28 ;
11790 struct mv_usb_platform_data *__cil_tmp29 ;
11791 unsigned long __cil_tmp30 ;
11792 unsigned long __cil_tmp31 ;
11793 void (*__cil_tmp32)(void * ) ;
11794 unsigned long __cil_tmp33 ;
11795 unsigned long __cil_tmp34 ;
11796 unsigned long __cil_tmp35 ;
11797 struct mv_usb_platform_data *__cil_tmp36 ;
11798 unsigned long __cil_tmp37 ;
11799 unsigned long __cil_tmp38 ;
11800 void (*__cil_tmp39)(void * ) ;
11801 unsigned long __cil_tmp40 ;
11802 unsigned long __cil_tmp41 ;
11803 void *__cil_tmp42 ;
11804
11805 {
11806 {
11807#line 1144
11808 __cil_tmp4 = (unsigned char *)udc;
11809#line 1144
11810 __cil_tmp5 = __cil_tmp4 + 1452UL;
11811#line 1144
11812 __cil_tmp6 = *__cil_tmp5;
11813#line 1144
11814 __cil_tmp7 = (unsigned int )__cil_tmp6;
11815#line 1144
11816 if (__cil_tmp7 != 0U) {
11817 {
11818#line 1145
11819 __cil_tmp8 = & descriptor;
11820#line 1145
11821 *((char **)__cil_tmp8) = "mv_udc";
11822#line 1145
11823 __cil_tmp9 = (unsigned long )(& descriptor) + 8;
11824#line 1145
11825 *((char **)__cil_tmp9) = "mv_udc_disable_internal";
11826#line 1145
11827 __cil_tmp10 = (unsigned long )(& descriptor) + 16;
11828#line 1145
11829 *((char **)__cil_tmp10) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
11830#line 1145
11831 __cil_tmp11 = (unsigned long )(& descriptor) + 24;
11832#line 1145
11833 *((char **)__cil_tmp11) = "disable udc\n";
11834#line 1145
11835 __cil_tmp12 = (unsigned long )(& descriptor) + 32;
11836#line 1145
11837 *((unsigned int *)__cil_tmp12) = 1145U;
11838#line 1145
11839 __cil_tmp13 = (unsigned long )(& descriptor) + 35;
11840#line 1145
11841 *((unsigned char *)__cil_tmp13) = (unsigned char)1;
11842#line 1145
11843 __cil_tmp14 = (unsigned long )(& descriptor) + 35;
11844#line 1145
11845 __cil_tmp15 = *((unsigned char *)__cil_tmp14);
11846#line 1145
11847 __cil_tmp16 = (long )__cil_tmp15;
11848#line 1145
11849 __cil_tmp17 = __cil_tmp16 & 1L;
11850#line 1145
11851 tmp = __builtin_expect(__cil_tmp17, 0L);
11852 }
11853#line 1145
11854 if (tmp != 0L) {
11855 {
11856#line 1145
11857 __cil_tmp18 = (unsigned long )udc;
11858#line 1145
11859 __cil_tmp19 = __cil_tmp18 + 1296;
11860#line 1145
11861 __cil_tmp20 = *((struct platform_device **)__cil_tmp19);
11862#line 1145
11863 __cil_tmp21 = (unsigned long )__cil_tmp20;
11864#line 1145
11865 __cil_tmp22 = __cil_tmp21 + 16;
11866#line 1145
11867 __cil_tmp23 = (struct device *)__cil_tmp22;
11868#line 1145
11869 __cil_tmp24 = (struct device *)__cil_tmp23;
11870#line 1145
11871 __dynamic_dev_dbg(& descriptor, __cil_tmp24, "disable udc\n");
11872 }
11873 } else {
11874
11875 }
11876 {
11877#line 1146
11878 __cil_tmp25 = (void (*)(void * ))0;
11879#line 1146
11880 __cil_tmp26 = (unsigned long )__cil_tmp25;
11881#line 1146
11882 __cil_tmp27 = (unsigned long )udc;
11883#line 1146
11884 __cil_tmp28 = __cil_tmp27 + 1552;
11885#line 1146
11886 __cil_tmp29 = *((struct mv_usb_platform_data **)__cil_tmp28);
11887#line 1146
11888 __cil_tmp30 = (unsigned long )__cil_tmp29;
11889#line 1146
11890 __cil_tmp31 = __cil_tmp30 + 48;
11891#line 1146
11892 __cil_tmp32 = *((void (**)(void * ))__cil_tmp31);
11893#line 1146
11894 __cil_tmp33 = (unsigned long )__cil_tmp32;
11895#line 1146
11896 if (__cil_tmp33 != __cil_tmp26) {
11897 {
11898#line 1147
11899 __cil_tmp34 = (unsigned long )udc;
11900#line 1147
11901 __cil_tmp35 = __cil_tmp34 + 1552;
11902#line 1147
11903 __cil_tmp36 = *((struct mv_usb_platform_data **)__cil_tmp35);
11904#line 1147
11905 __cil_tmp37 = (unsigned long )__cil_tmp36;
11906#line 1147
11907 __cil_tmp38 = __cil_tmp37 + 48;
11908#line 1147
11909 __cil_tmp39 = *((void (**)(void * ))__cil_tmp38);
11910#line 1147
11911 __cil_tmp40 = (unsigned long )udc;
11912#line 1147
11913 __cil_tmp41 = __cil_tmp40 + 1328;
11914#line 1147
11915 __cil_tmp42 = *((void **)__cil_tmp41);
11916#line 1147
11917 (*__cil_tmp39)(__cil_tmp42);
11918 }
11919 } else {
11920
11921 }
11922 }
11923 {
11924#line 1148
11925 udc_clock_disable(udc);
11926#line 1149
11927 udc->active = (unsigned char)0;
11928 }
11929 } else {
11930
11931 }
11932 }
11933#line 1151
11934 return;
11935}
11936}
11937#line 1153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11938static void mv_udc_disable(struct mv_udc *udc )
11939{ unsigned char *__cil_tmp2 ;
11940 unsigned char *__cil_tmp3 ;
11941 unsigned char __cil_tmp4 ;
11942 unsigned int __cil_tmp5 ;
11943
11944 {
11945 {
11946#line 1155
11947 __cil_tmp2 = (unsigned char *)udc;
11948#line 1155
11949 __cil_tmp3 = __cil_tmp2 + 1452UL;
11950#line 1155
11951 __cil_tmp4 = *__cil_tmp3;
11952#line 1155
11953 __cil_tmp5 = (unsigned int )__cil_tmp4;
11954#line 1155
11955 if (__cil_tmp5 != 0U) {
11956 {
11957#line 1156
11958 mv_udc_disable_internal(udc);
11959 }
11960 } else {
11961
11962 }
11963 }
11964#line 1157
11965 return;
11966}
11967}
11968#line 1159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
11969static int mv_udc_get_frame(struct usb_gadget *gadget )
11970{ struct mv_udc *udc ;
11971 u16 retval ;
11972 struct usb_gadget *__mptr ;
11973 unsigned int tmp ;
11974 struct usb_gadget *__cil_tmp6 ;
11975 unsigned long __cil_tmp7 ;
11976 unsigned long __cil_tmp8 ;
11977 unsigned long __cil_tmp9 ;
11978 unsigned long __cil_tmp10 ;
11979 struct mv_op_regs *__cil_tmp11 ;
11980 unsigned long __cil_tmp12 ;
11981 unsigned long __cil_tmp13 ;
11982 u32 *__cil_tmp14 ;
11983 void volatile *__cil_tmp15 ;
11984 u16 __cil_tmp16 ;
11985 unsigned int __cil_tmp17 ;
11986 unsigned int __cil_tmp18 ;
11987
11988 {
11989 {
11990#line 1164
11991 __cil_tmp6 = (struct usb_gadget *)0;
11992#line 1164
11993 __cil_tmp7 = (unsigned long )__cil_tmp6;
11994#line 1164
11995 __cil_tmp8 = (unsigned long )gadget;
11996#line 1164
11997 if (__cil_tmp8 == __cil_tmp7) {
11998#line 1165
11999 return (-19);
12000 } else {
12001
12002 }
12003 }
12004 {
12005#line 1167
12006 __mptr = (struct usb_gadget *)gadget;
12007#line 1167
12008 udc = (struct mv_udc *)__mptr;
12009#line 1169
12010 __cil_tmp9 = (unsigned long )udc;
12011#line 1169
12012 __cil_tmp10 = __cil_tmp9 + 1320;
12013#line 1169
12014 __cil_tmp11 = *((struct mv_op_regs **)__cil_tmp10);
12015#line 1169
12016 __cil_tmp12 = (unsigned long )__cil_tmp11;
12017#line 1169
12018 __cil_tmp13 = __cil_tmp12 + 12;
12019#line 1169
12020 __cil_tmp14 = (u32 *)__cil_tmp13;
12021#line 1169
12022 __cil_tmp15 = (void volatile *)__cil_tmp14;
12023#line 1169
12024 tmp = readl(__cil_tmp15);
12025#line 1169
12026 __cil_tmp16 = (u16 )tmp;
12027#line 1169
12028 __cil_tmp17 = (unsigned int )__cil_tmp16;
12029#line 1169
12030 __cil_tmp18 = __cil_tmp17 & 16383U;
12031#line 1169
12032 retval = (u16 )__cil_tmp18;
12033 }
12034#line 1171
12035 return ((int )retval);
12036}
12037}
12038#line 1175 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
12039static int mv_udc_wakeup(struct usb_gadget *gadget )
12040{ struct mv_udc *udc ;
12041 struct usb_gadget *__mptr ;
12042 u32 portsc ;
12043 unsigned char *__cil_tmp5 ;
12044 unsigned char *__cil_tmp6 ;
12045 unsigned char __cil_tmp7 ;
12046 unsigned int __cil_tmp8 ;
12047 unsigned long __cil_tmp9 ;
12048 unsigned long __cil_tmp10 ;
12049 struct mv_op_regs *__cil_tmp11 ;
12050 unsigned long __cil_tmp12 ;
12051 unsigned long __cil_tmp13 ;
12052 u32 (*__cil_tmp14)[8U] ;
12053 void volatile *__cil_tmp15 ;
12054 unsigned int __cil_tmp16 ;
12055 unsigned long __cil_tmp17 ;
12056 unsigned long __cil_tmp18 ;
12057 struct mv_op_regs *__cil_tmp19 ;
12058 unsigned long __cil_tmp20 ;
12059 unsigned long __cil_tmp21 ;
12060 u32 (*__cil_tmp22)[8U] ;
12061 void volatile *__cil_tmp23 ;
12062
12063 {
12064#line 1177
12065 __mptr = (struct usb_gadget *)gadget;
12066#line 1177
12067 udc = (struct mv_udc *)__mptr;
12068 {
12069#line 1181
12070 __cil_tmp5 = (unsigned char *)udc;
12071#line 1181
12072 __cil_tmp6 = __cil_tmp5 + 1452UL;
12073#line 1181
12074 __cil_tmp7 = *__cil_tmp6;
12075#line 1181
12076 __cil_tmp8 = (unsigned int )__cil_tmp7;
12077#line 1181
12078 if (__cil_tmp8 == 0U) {
12079#line 1182
12080 return (-524);
12081 } else {
12082
12083 }
12084 }
12085 {
12086#line 1184
12087 __cil_tmp9 = (unsigned long )udc;
12088#line 1184
12089 __cil_tmp10 = __cil_tmp9 + 1320;
12090#line 1184
12091 __cil_tmp11 = *((struct mv_op_regs **)__cil_tmp10);
12092#line 1184
12093 __cil_tmp12 = (unsigned long )__cil_tmp11;
12094#line 1184
12095 __cil_tmp13 = __cil_tmp12 + 68;
12096#line 1184
12097 __cil_tmp14 = (u32 (*)[8U])__cil_tmp13;
12098#line 1184
12099 __cil_tmp15 = (void volatile *)__cil_tmp14;
12100#line 1184
12101 portsc = readl(__cil_tmp15);
12102 }
12103 {
12104#line 1186
12105 __cil_tmp16 = portsc & 128U;
12106#line 1186
12107 if (__cil_tmp16 == 0U) {
12108#line 1187
12109 return (0);
12110 } else {
12111
12112 }
12113 }
12114 {
12115#line 1189
12116 portsc = portsc | 64U;
12117#line 1190
12118 __cil_tmp17 = (unsigned long )udc;
12119#line 1190
12120 __cil_tmp18 = __cil_tmp17 + 1320;
12121#line 1190
12122 __cil_tmp19 = *((struct mv_op_regs **)__cil_tmp18);
12123#line 1190
12124 __cil_tmp20 = (unsigned long )__cil_tmp19;
12125#line 1190
12126 __cil_tmp21 = __cil_tmp20 + 68;
12127#line 1190
12128 __cil_tmp22 = (u32 (*)[8U])__cil_tmp21;
12129#line 1190
12130 __cil_tmp23 = (void volatile *)__cil_tmp22;
12131#line 1190
12132 writel(portsc, __cil_tmp23);
12133 }
12134#line 1191
12135 return (0);
12136}
12137}
12138#line 1194 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
12139static int mv_udc_vbus_session(struct usb_gadget *gadget , int is_active )
12140{ struct mv_udc *udc ;
12141 unsigned long flags ;
12142 int retval ;
12143 struct usb_gadget *__mptr ;
12144 struct _ddebug descriptor ;
12145 long tmp ;
12146 int __cil_tmp9 ;
12147 struct _ddebug *__cil_tmp10 ;
12148 unsigned long __cil_tmp11 ;
12149 unsigned long __cil_tmp12 ;
12150 unsigned long __cil_tmp13 ;
12151 unsigned long __cil_tmp14 ;
12152 unsigned long __cil_tmp15 ;
12153 unsigned long __cil_tmp16 ;
12154 unsigned char __cil_tmp17 ;
12155 long __cil_tmp18 ;
12156 long __cil_tmp19 ;
12157 unsigned long __cil_tmp20 ;
12158 unsigned long __cil_tmp21 ;
12159 struct platform_device *__cil_tmp22 ;
12160 unsigned long __cil_tmp23 ;
12161 unsigned long __cil_tmp24 ;
12162 struct device *__cil_tmp25 ;
12163 struct device *__cil_tmp26 ;
12164 unsigned long __cil_tmp27 ;
12165 unsigned long __cil_tmp28 ;
12166 unsigned char __cil_tmp29 ;
12167 int __cil_tmp30 ;
12168 unsigned char __cil_tmp31 ;
12169 int __cil_tmp32 ;
12170 struct usb_gadget_driver *__cil_tmp33 ;
12171 unsigned long __cil_tmp34 ;
12172 unsigned long __cil_tmp35 ;
12173 unsigned long __cil_tmp36 ;
12174 struct usb_gadget_driver *__cil_tmp37 ;
12175 unsigned long __cil_tmp38 ;
12176 unsigned char *__cil_tmp39 ;
12177 unsigned char *__cil_tmp40 ;
12178 unsigned char __cil_tmp41 ;
12179 unsigned int __cil_tmp42 ;
12180 unsigned char *__cil_tmp43 ;
12181 unsigned char *__cil_tmp44 ;
12182 unsigned char __cil_tmp45 ;
12183 unsigned int __cil_tmp46 ;
12184 struct usb_gadget_driver *__cil_tmp47 ;
12185 unsigned long __cil_tmp48 ;
12186 unsigned long __cil_tmp49 ;
12187 unsigned long __cil_tmp50 ;
12188 struct usb_gadget_driver *__cil_tmp51 ;
12189 unsigned long __cil_tmp52 ;
12190 unsigned char *__cil_tmp53 ;
12191 unsigned char *__cil_tmp54 ;
12192 unsigned char __cil_tmp55 ;
12193 unsigned int __cil_tmp56 ;
12194 unsigned long __cil_tmp57 ;
12195 unsigned long __cil_tmp58 ;
12196 struct usb_gadget_driver *__cil_tmp59 ;
12197 unsigned long __cil_tmp60 ;
12198 unsigned long __cil_tmp61 ;
12199 spinlock_t *__cil_tmp62 ;
12200
12201 {
12202 {
12203#line 1198
12204 retval = 0;
12205#line 1200
12206 __mptr = (struct usb_gadget *)gadget;
12207#line 1200
12208 udc = (struct mv_udc *)__mptr;
12209#line 1201
12210 ldv_spin_lock();
12211#line 1203
12212 __cil_tmp9 = is_active != 0;
12213#line 1203
12214 udc->vbus_active = (unsigned char )__cil_tmp9;
12215#line 1205
12216 __cil_tmp10 = & descriptor;
12217#line 1205
12218 *((char **)__cil_tmp10) = "mv_udc";
12219#line 1205
12220 __cil_tmp11 = (unsigned long )(& descriptor) + 8;
12221#line 1205
12222 *((char **)__cil_tmp11) = "mv_udc_vbus_session";
12223#line 1205
12224 __cil_tmp12 = (unsigned long )(& descriptor) + 16;
12225#line 1205
12226 *((char **)__cil_tmp12) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
12227#line 1205
12228 __cil_tmp13 = (unsigned long )(& descriptor) + 24;
12229#line 1205
12230 *((char **)__cil_tmp13) = "%s: softconnect %d, vbus_active %d\n";
12231#line 1205
12232 __cil_tmp14 = (unsigned long )(& descriptor) + 32;
12233#line 1205
12234 *((unsigned int *)__cil_tmp14) = 1206U;
12235#line 1205
12236 __cil_tmp15 = (unsigned long )(& descriptor) + 35;
12237#line 1205
12238 *((unsigned char *)__cil_tmp15) = (unsigned char)1;
12239#line 1205
12240 __cil_tmp16 = (unsigned long )(& descriptor) + 35;
12241#line 1205
12242 __cil_tmp17 = *((unsigned char *)__cil_tmp16);
12243#line 1205
12244 __cil_tmp18 = (long )__cil_tmp17;
12245#line 1205
12246 __cil_tmp19 = __cil_tmp18 & 1L;
12247#line 1205
12248 tmp = __builtin_expect(__cil_tmp19, 0L);
12249 }
12250#line 1205
12251 if (tmp != 0L) {
12252 {
12253#line 1205
12254 __cil_tmp20 = (unsigned long )udc;
12255#line 1205
12256 __cil_tmp21 = __cil_tmp20 + 1296;
12257#line 1205
12258 __cil_tmp22 = *((struct platform_device **)__cil_tmp21);
12259#line 1205
12260 __cil_tmp23 = (unsigned long )__cil_tmp22;
12261#line 1205
12262 __cil_tmp24 = __cil_tmp23 + 16;
12263#line 1205
12264 __cil_tmp25 = (struct device *)__cil_tmp24;
12265#line 1205
12266 __cil_tmp26 = (struct device *)__cil_tmp25;
12267#line 1205
12268 __cil_tmp27 = (unsigned long )udc;
12269#line 1205
12270 __cil_tmp28 = __cil_tmp27 + 1452;
12271#line 1205
12272 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
12273#line 1205
12274 __cil_tmp30 = (int )__cil_tmp29;
12275#line 1205
12276 __cil_tmp31 = udc->vbus_active;
12277#line 1205
12278 __cil_tmp32 = (int )__cil_tmp31;
12279#line 1205
12280 __dynamic_dev_dbg(& descriptor, __cil_tmp26, "%s: softconnect %d, vbus_active %d\n",
12281 "mv_udc_vbus_session", __cil_tmp30, __cil_tmp32);
12282 }
12283 } else {
12284
12285 }
12286 {
12287#line 1208
12288 __cil_tmp33 = (struct usb_gadget_driver *)0;
12289#line 1208
12290 __cil_tmp34 = (unsigned long )__cil_tmp33;
12291#line 1208
12292 __cil_tmp35 = (unsigned long )udc;
12293#line 1208
12294 __cil_tmp36 = __cil_tmp35 + 1208;
12295#line 1208
12296 __cil_tmp37 = *((struct usb_gadget_driver **)__cil_tmp36);
12297#line 1208
12298 __cil_tmp38 = (unsigned long )__cil_tmp37;
12299#line 1208
12300 if (__cil_tmp38 != __cil_tmp34) {
12301 {
12302#line 1208
12303 __cil_tmp39 = (unsigned char *)udc;
12304#line 1208
12305 __cil_tmp40 = __cil_tmp39 + 1452UL;
12306#line 1208
12307 __cil_tmp41 = *__cil_tmp40;
12308#line 1208
12309 __cil_tmp42 = (unsigned int )__cil_tmp41;
12310#line 1208
12311 if (__cil_tmp42 != 0U) {
12312 {
12313#line 1208
12314 __cil_tmp43 = (unsigned char *)udc;
12315#line 1208
12316 __cil_tmp44 = __cil_tmp43 + 1452UL;
12317#line 1208
12318 __cil_tmp45 = *__cil_tmp44;
12319#line 1208
12320 __cil_tmp46 = (unsigned int )__cil_tmp45;
12321#line 1208
12322 if (__cil_tmp46 != 0U) {
12323 {
12324#line 1209
12325 retval = mv_udc_enable(udc);
12326 }
12327#line 1210
12328 if (retval == 0) {
12329 {
12330#line 1212
12331 udc_reset(udc);
12332#line 1213
12333 ep0_reset(udc);
12334#line 1214
12335 udc_start(udc);
12336 }
12337 } else {
12338
12339 }
12340 } else {
12341#line 1208
12342 goto _L___0;
12343 }
12344 }
12345 } else {
12346#line 1208
12347 goto _L___0;
12348 }
12349 }
12350 } else {
12351 _L___0:
12352 {
12353#line 1216
12354 __cil_tmp47 = (struct usb_gadget_driver *)0;
12355#line 1216
12356 __cil_tmp48 = (unsigned long )__cil_tmp47;
12357#line 1216
12358 __cil_tmp49 = (unsigned long )udc;
12359#line 1216
12360 __cil_tmp50 = __cil_tmp49 + 1208;
12361#line 1216
12362 __cil_tmp51 = *((struct usb_gadget_driver **)__cil_tmp50);
12363#line 1216
12364 __cil_tmp52 = (unsigned long )__cil_tmp51;
12365#line 1216
12366 if (__cil_tmp52 != __cil_tmp48) {
12367 {
12368#line 1216
12369 __cil_tmp53 = (unsigned char *)udc;
12370#line 1216
12371 __cil_tmp54 = __cil_tmp53 + 1452UL;
12372#line 1216
12373 __cil_tmp55 = *__cil_tmp54;
12374#line 1216
12375 __cil_tmp56 = (unsigned int )__cil_tmp55;
12376#line 1216
12377 if (__cil_tmp56 != 0U) {
12378 {
12379#line 1218
12380 __cil_tmp57 = (unsigned long )udc;
12381#line 1218
12382 __cil_tmp58 = __cil_tmp57 + 1208;
12383#line 1218
12384 __cil_tmp59 = *((struct usb_gadget_driver **)__cil_tmp58);
12385#line 1218
12386 stop_activity(udc, __cil_tmp59);
12387#line 1219
12388 udc_stop(udc);
12389#line 1220
12390 mv_udc_disable(udc);
12391 }
12392 } else {
12393
12394 }
12395 }
12396 } else {
12397
12398 }
12399 }
12400 }
12401 }
12402 {
12403#line 1223
12404 __cil_tmp60 = (unsigned long )udc;
12405#line 1223
12406 __cil_tmp61 = __cil_tmp60 + 1216;
12407#line 1223
12408 __cil_tmp62 = (spinlock_t *)__cil_tmp61;
12409#line 1223
12410 spin_unlock_irqrestore(__cil_tmp62, flags);
12411 }
12412#line 1224
12413 return (retval);
12414}
12415}
12416#line 1227 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
12417static int mv_udc_pullup(struct usb_gadget *gadget , int is_on )
12418{ struct mv_udc *udc ;
12419 unsigned long flags ;
12420 int retval ;
12421 struct usb_gadget *__mptr ;
12422 struct _ddebug descriptor ;
12423 long tmp ;
12424 unsigned long __cil_tmp9 ;
12425 unsigned long __cil_tmp10 ;
12426 int __cil_tmp11 ;
12427 struct _ddebug *__cil_tmp12 ;
12428 unsigned long __cil_tmp13 ;
12429 unsigned long __cil_tmp14 ;
12430 unsigned long __cil_tmp15 ;
12431 unsigned long __cil_tmp16 ;
12432 unsigned long __cil_tmp17 ;
12433 unsigned long __cil_tmp18 ;
12434 unsigned char __cil_tmp19 ;
12435 long __cil_tmp20 ;
12436 long __cil_tmp21 ;
12437 unsigned long __cil_tmp22 ;
12438 unsigned long __cil_tmp23 ;
12439 struct platform_device *__cil_tmp24 ;
12440 unsigned long __cil_tmp25 ;
12441 unsigned long __cil_tmp26 ;
12442 struct device *__cil_tmp27 ;
12443 struct device *__cil_tmp28 ;
12444 unsigned long __cil_tmp29 ;
12445 unsigned long __cil_tmp30 ;
12446 unsigned char __cil_tmp31 ;
12447 int __cil_tmp32 ;
12448 unsigned char __cil_tmp33 ;
12449 int __cil_tmp34 ;
12450 struct usb_gadget_driver *__cil_tmp35 ;
12451 unsigned long __cil_tmp36 ;
12452 unsigned long __cil_tmp37 ;
12453 unsigned long __cil_tmp38 ;
12454 struct usb_gadget_driver *__cil_tmp39 ;
12455 unsigned long __cil_tmp40 ;
12456 unsigned char *__cil_tmp41 ;
12457 unsigned char *__cil_tmp42 ;
12458 unsigned char __cil_tmp43 ;
12459 unsigned int __cil_tmp44 ;
12460 unsigned char *__cil_tmp45 ;
12461 unsigned char *__cil_tmp46 ;
12462 unsigned char __cil_tmp47 ;
12463 unsigned int __cil_tmp48 ;
12464 struct usb_gadget_driver *__cil_tmp49 ;
12465 unsigned long __cil_tmp50 ;
12466 unsigned long __cil_tmp51 ;
12467 unsigned long __cil_tmp52 ;
12468 struct usb_gadget_driver *__cil_tmp53 ;
12469 unsigned long __cil_tmp54 ;
12470 unsigned char *__cil_tmp55 ;
12471 unsigned char *__cil_tmp56 ;
12472 unsigned char __cil_tmp57 ;
12473 unsigned int __cil_tmp58 ;
12474 unsigned long __cil_tmp59 ;
12475 unsigned long __cil_tmp60 ;
12476 struct usb_gadget_driver *__cil_tmp61 ;
12477 unsigned long __cil_tmp62 ;
12478 unsigned long __cil_tmp63 ;
12479 spinlock_t *__cil_tmp64 ;
12480
12481 {
12482 {
12483#line 1231
12484 retval = 0;
12485#line 1233
12486 __mptr = (struct usb_gadget *)gadget;
12487#line 1233
12488 udc = (struct mv_udc *)__mptr;
12489#line 1234
12490 ldv_spin_lock();
12491#line 1236
12492 __cil_tmp9 = (unsigned long )udc;
12493#line 1236
12494 __cil_tmp10 = __cil_tmp9 + 1452;
12495#line 1236
12496 __cil_tmp11 = is_on != 0;
12497#line 1236
12498 *((unsigned char *)__cil_tmp10) = (unsigned char )__cil_tmp11;
12499#line 1238
12500 __cil_tmp12 = & descriptor;
12501#line 1238
12502 *((char **)__cil_tmp12) = "mv_udc";
12503#line 1238
12504 __cil_tmp13 = (unsigned long )(& descriptor) + 8;
12505#line 1238
12506 *((char **)__cil_tmp13) = "mv_udc_pullup";
12507#line 1238
12508 __cil_tmp14 = (unsigned long )(& descriptor) + 16;
12509#line 1238
12510 *((char **)__cil_tmp14) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
12511#line 1238
12512 __cil_tmp15 = (unsigned long )(& descriptor) + 24;
12513#line 1238
12514 *((char **)__cil_tmp15) = "%s: softconnect %d, vbus_active %d\n";
12515#line 1238
12516 __cil_tmp16 = (unsigned long )(& descriptor) + 32;
12517#line 1238
12518 *((unsigned int *)__cil_tmp16) = 1239U;
12519#line 1238
12520 __cil_tmp17 = (unsigned long )(& descriptor) + 35;
12521#line 1238
12522 *((unsigned char *)__cil_tmp17) = (unsigned char)1;
12523#line 1238
12524 __cil_tmp18 = (unsigned long )(& descriptor) + 35;
12525#line 1238
12526 __cil_tmp19 = *((unsigned char *)__cil_tmp18);
12527#line 1238
12528 __cil_tmp20 = (long )__cil_tmp19;
12529#line 1238
12530 __cil_tmp21 = __cil_tmp20 & 1L;
12531#line 1238
12532 tmp = __builtin_expect(__cil_tmp21, 0L);
12533 }
12534#line 1238
12535 if (tmp != 0L) {
12536 {
12537#line 1238
12538 __cil_tmp22 = (unsigned long )udc;
12539#line 1238
12540 __cil_tmp23 = __cil_tmp22 + 1296;
12541#line 1238
12542 __cil_tmp24 = *((struct platform_device **)__cil_tmp23);
12543#line 1238
12544 __cil_tmp25 = (unsigned long )__cil_tmp24;
12545#line 1238
12546 __cil_tmp26 = __cil_tmp25 + 16;
12547#line 1238
12548 __cil_tmp27 = (struct device *)__cil_tmp26;
12549#line 1238
12550 __cil_tmp28 = (struct device *)__cil_tmp27;
12551#line 1238
12552 __cil_tmp29 = (unsigned long )udc;
12553#line 1238
12554 __cil_tmp30 = __cil_tmp29 + 1452;
12555#line 1238
12556 __cil_tmp31 = *((unsigned char *)__cil_tmp30);
12557#line 1238
12558 __cil_tmp32 = (int )__cil_tmp31;
12559#line 1238
12560 __cil_tmp33 = udc->vbus_active;
12561#line 1238
12562 __cil_tmp34 = (int )__cil_tmp33;
12563#line 1238
12564 __dynamic_dev_dbg(& descriptor, __cil_tmp28, "%s: softconnect %d, vbus_active %d\n",
12565 "mv_udc_pullup", __cil_tmp32, __cil_tmp34);
12566 }
12567 } else {
12568
12569 }
12570 {
12571#line 1241
12572 __cil_tmp35 = (struct usb_gadget_driver *)0;
12573#line 1241
12574 __cil_tmp36 = (unsigned long )__cil_tmp35;
12575#line 1241
12576 __cil_tmp37 = (unsigned long )udc;
12577#line 1241
12578 __cil_tmp38 = __cil_tmp37 + 1208;
12579#line 1241
12580 __cil_tmp39 = *((struct usb_gadget_driver **)__cil_tmp38);
12581#line 1241
12582 __cil_tmp40 = (unsigned long )__cil_tmp39;
12583#line 1241
12584 if (__cil_tmp40 != __cil_tmp36) {
12585 {
12586#line 1241
12587 __cil_tmp41 = (unsigned char *)udc;
12588#line 1241
12589 __cil_tmp42 = __cil_tmp41 + 1452UL;
12590#line 1241
12591 __cil_tmp43 = *__cil_tmp42;
12592#line 1241
12593 __cil_tmp44 = (unsigned int )__cil_tmp43;
12594#line 1241
12595 if (__cil_tmp44 != 0U) {
12596 {
12597#line 1241
12598 __cil_tmp45 = (unsigned char *)udc;
12599#line 1241
12600 __cil_tmp46 = __cil_tmp45 + 1452UL;
12601#line 1241
12602 __cil_tmp47 = *__cil_tmp46;
12603#line 1241
12604 __cil_tmp48 = (unsigned int )__cil_tmp47;
12605#line 1241
12606 if (__cil_tmp48 != 0U) {
12607 {
12608#line 1242
12609 retval = mv_udc_enable(udc);
12610 }
12611#line 1243
12612 if (retval == 0) {
12613 {
12614#line 1245
12615 udc_reset(udc);
12616#line 1246
12617 ep0_reset(udc);
12618#line 1247
12619 udc_start(udc);
12620 }
12621 } else {
12622
12623 }
12624 } else {
12625#line 1241
12626 goto _L___0;
12627 }
12628 }
12629 } else {
12630#line 1241
12631 goto _L___0;
12632 }
12633 }
12634 } else {
12635 _L___0:
12636 {
12637#line 1249
12638 __cil_tmp49 = (struct usb_gadget_driver *)0;
12639#line 1249
12640 __cil_tmp50 = (unsigned long )__cil_tmp49;
12641#line 1249
12642 __cil_tmp51 = (unsigned long )udc;
12643#line 1249
12644 __cil_tmp52 = __cil_tmp51 + 1208;
12645#line 1249
12646 __cil_tmp53 = *((struct usb_gadget_driver **)__cil_tmp52);
12647#line 1249
12648 __cil_tmp54 = (unsigned long )__cil_tmp53;
12649#line 1249
12650 if (__cil_tmp54 != __cil_tmp50) {
12651 {
12652#line 1249
12653 __cil_tmp55 = (unsigned char *)udc;
12654#line 1249
12655 __cil_tmp56 = __cil_tmp55 + 1452UL;
12656#line 1249
12657 __cil_tmp57 = *__cil_tmp56;
12658#line 1249
12659 __cil_tmp58 = (unsigned int )__cil_tmp57;
12660#line 1249
12661 if (__cil_tmp58 != 0U) {
12662 {
12663#line 1251
12664 __cil_tmp59 = (unsigned long )udc;
12665#line 1251
12666 __cil_tmp60 = __cil_tmp59 + 1208;
12667#line 1251
12668 __cil_tmp61 = *((struct usb_gadget_driver **)__cil_tmp60);
12669#line 1251
12670 stop_activity(udc, __cil_tmp61);
12671#line 1252
12672 udc_stop(udc);
12673#line 1253
12674 mv_udc_disable(udc);
12675 }
12676 } else {
12677
12678 }
12679 }
12680 } else {
12681
12682 }
12683 }
12684 }
12685 }
12686 {
12687#line 1256
12688 __cil_tmp62 = (unsigned long )udc;
12689#line 1256
12690 __cil_tmp63 = __cil_tmp62 + 1216;
12691#line 1256
12692 __cil_tmp64 = (spinlock_t *)__cil_tmp63;
12693#line 1256
12694 spin_unlock_irqrestore(__cil_tmp64, flags);
12695 }
12696#line 1257
12697 return (retval);
12698}
12699}
12700#line 1260
12701static int mv_udc_start(struct usb_gadget_driver *driver , int (*bind)(struct usb_gadget * ) ) ;
12702#line 1262
12703static int mv_udc_stop(struct usb_gadget_driver *driver ) ;
12704#line 1264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
12705static struct usb_gadget_ops mv_ops =
12706#line 1264
12707 {& mv_udc_get_frame, & mv_udc_wakeup, (int (*)(struct usb_gadget * , int ))0,
12708 & mv_udc_vbus_session, (int (*)(struct usb_gadget * , unsigned int ))0, & mv_udc_pullup,
12709 (int (*)(struct usb_gadget * , unsigned int , unsigned long ))0, (void (*)(struct usb_dcd_config_params * ))0,
12710 (int (*)(struct usb_gadget * , struct usb_gadget_driver * ))0, (int (*)(struct usb_gadget * ,
12711 struct usb_gadget_driver * ))0,
12712 & mv_udc_start, & mv_udc_stop};
12713#line 1281 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
12714static int eps_init(struct mv_udc *udc )
12715{ struct mv_ep *ep ;
12716 char name[14U] ;
12717 int i ;
12718 unsigned long __cil_tmp5 ;
12719 unsigned long __cil_tmp6 ;
12720 unsigned long __cil_tmp7 ;
12721 unsigned long __cil_tmp8 ;
12722 unsigned long __cil_tmp9 ;
12723 unsigned long __cil_tmp10 ;
12724 char (*__cil_tmp11)[14U] ;
12725 char *__cil_tmp12 ;
12726 unsigned long __cil_tmp13 ;
12727 unsigned long __cil_tmp14 ;
12728 unsigned long __cil_tmp15 ;
12729 unsigned long __cil_tmp16 ;
12730 unsigned long __cil_tmp17 ;
12731 char (*__cil_tmp18)[14U] ;
12732 unsigned long __cil_tmp19 ;
12733 unsigned long __cil_tmp20 ;
12734 unsigned long __cil_tmp21 ;
12735 unsigned long __cil_tmp22 ;
12736 unsigned long __cil_tmp23 ;
12737 unsigned long __cil_tmp24 ;
12738 unsigned long __cil_tmp25 ;
12739 unsigned long __cil_tmp26 ;
12740 unsigned long __cil_tmp27 ;
12741 unsigned long __cil_tmp28 ;
12742 unsigned long __cil_tmp29 ;
12743 unsigned long __cil_tmp30 ;
12744 unsigned long __cil_tmp31 ;
12745 unsigned long __cil_tmp32 ;
12746 struct list_head *__cil_tmp33 ;
12747 unsigned long __cil_tmp34 ;
12748 unsigned long __cil_tmp35 ;
12749 unsigned long __cil_tmp36 ;
12750 struct mv_ep *__cil_tmp37 ;
12751 char *__cil_tmp38 ;
12752 int __cil_tmp39 ;
12753 unsigned long __cil_tmp40 ;
12754 unsigned long __cil_tmp41 ;
12755 char *__cil_tmp42 ;
12756 int __cil_tmp43 ;
12757 unsigned long __cil_tmp44 ;
12758 unsigned long __cil_tmp45 ;
12759 unsigned long __cil_tmp46 ;
12760 unsigned long __cil_tmp47 ;
12761 unsigned long __cil_tmp48 ;
12762 unsigned long __cil_tmp49 ;
12763 char (*__cil_tmp50)[14U] ;
12764 char *__cil_tmp51 ;
12765 char *__cil_tmp52 ;
12766 unsigned long __cil_tmp53 ;
12767 unsigned long __cil_tmp54 ;
12768 unsigned long __cil_tmp55 ;
12769 unsigned long __cil_tmp56 ;
12770 unsigned long __cil_tmp57 ;
12771 char (*__cil_tmp58)[14U] ;
12772 unsigned long __cil_tmp59 ;
12773 unsigned long __cil_tmp60 ;
12774 unsigned long __cil_tmp61 ;
12775 unsigned long __cil_tmp62 ;
12776 unsigned long __cil_tmp63 ;
12777 unsigned long __cil_tmp64 ;
12778 unsigned long __cil_tmp65 ;
12779 unsigned long __cil_tmp66 ;
12780 unsigned long __cil_tmp67 ;
12781 unsigned long __cil_tmp68 ;
12782 int __cil_tmp69 ;
12783 unsigned long __cil_tmp70 ;
12784 unsigned long __cil_tmp71 ;
12785 struct list_head *__cil_tmp72 ;
12786 unsigned long __cil_tmp73 ;
12787 unsigned long __cil_tmp74 ;
12788 unsigned long __cil_tmp75 ;
12789 struct list_head *__cil_tmp76 ;
12790 unsigned long __cil_tmp77 ;
12791 unsigned long __cil_tmp78 ;
12792 unsigned long __cil_tmp79 ;
12793 struct list_head *__cil_tmp80 ;
12794 unsigned long __cil_tmp81 ;
12795 unsigned long __cil_tmp82 ;
12796 unsigned long __cil_tmp83 ;
12797 unsigned long __cil_tmp84 ;
12798 unsigned long __cil_tmp85 ;
12799 struct mv_dqh *__cil_tmp86 ;
12800 unsigned long __cil_tmp87 ;
12801 unsigned long __cil_tmp88 ;
12802 unsigned int __cil_tmp89 ;
12803 unsigned int __cil_tmp90 ;
12804 unsigned int __cil_tmp91 ;
12805
12806 {
12807 {
12808#line 1288
12809 __cil_tmp5 = (unsigned long )udc;
12810#line 1288
12811 __cil_tmp6 = __cil_tmp5 + 1376;
12812#line 1288
12813 ep = *((struct mv_ep **)__cil_tmp6);
12814#line 1289
12815 __cil_tmp7 = (unsigned long )ep;
12816#line 1289
12817 __cil_tmp8 = __cil_tmp7 + 64;
12818#line 1289
12819 *((struct mv_udc **)__cil_tmp8) = udc;
12820#line 1290
12821 __cil_tmp9 = (unsigned long )ep;
12822#line 1290
12823 __cil_tmp10 = __cil_tmp9 + 108;
12824#line 1290
12825 __cil_tmp11 = (char (*)[14U])__cil_tmp10;
12826#line 1290
12827 __cil_tmp12 = (char *)__cil_tmp11;
12828#line 1290
12829 strncpy(__cil_tmp12, "ep0", 14UL);
12830#line 1291
12831 __cil_tmp13 = 0 + 8;
12832#line 1291
12833 __cil_tmp14 = (unsigned long )ep;
12834#line 1291
12835 __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
12836#line 1291
12837 __cil_tmp16 = (unsigned long )ep;
12838#line 1291
12839 __cil_tmp17 = __cil_tmp16 + 108;
12840#line 1291
12841 __cil_tmp18 = (char (*)[14U])__cil_tmp17;
12842#line 1291
12843 *((char **)__cil_tmp15) = (char *)__cil_tmp18;
12844#line 1292
12845 __cil_tmp19 = 0 + 16;
12846#line 1292
12847 __cil_tmp20 = (unsigned long )ep;
12848#line 1292
12849 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
12850#line 1292
12851 *((struct usb_ep_ops **)__cil_tmp21) = (struct usb_ep_ops *)(& mv_ep_ops);
12852#line 1293
12853 ep->wedge = (unsigned char)0;
12854#line 1294
12855 __cil_tmp22 = (unsigned long )ep;
12856#line 1294
12857 __cil_tmp23 = __cil_tmp22 + 122;
12858#line 1294
12859 *((unsigned char *)__cil_tmp23) = (unsigned char)0;
12860#line 1295
12861 __cil_tmp24 = 0 + 40;
12862#line 1295
12863 __cil_tmp25 = (unsigned long )ep;
12864#line 1295
12865 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
12866#line 1295
12867 *((unsigned short *)__cil_tmp26) = (unsigned short)64;
12868#line 1296
12869 __cil_tmp27 = (unsigned long )ep;
12870#line 1296
12871 __cil_tmp28 = __cil_tmp27 + 123;
12872#line 1296
12873 *((unsigned char *)__cil_tmp28) = (unsigned char)0;
12874#line 1297
12875 __cil_tmp29 = (unsigned long )ep;
12876#line 1297
12877 __cil_tmp30 = __cil_tmp29 + 96;
12878#line 1297
12879 *((struct usb_endpoint_descriptor **)__cil_tmp30) = & mv_ep0_desc;
12880#line 1298
12881 __cil_tmp31 = (unsigned long )ep;
12882#line 1298
12883 __cil_tmp32 = __cil_tmp31 + 72;
12884#line 1298
12885 __cil_tmp33 = (struct list_head *)__cil_tmp32;
12886#line 1298
12887 INIT_LIST_HEAD(__cil_tmp33);
12888#line 1300
12889 ep->ep_type = (unsigned char)0;
12890#line 1303
12891 i = 2;
12892 }
12893#line 1303
12894 goto ldv_25690;
12895 ldv_25689:
12896#line 1304
12897 __cil_tmp34 = (unsigned long )i;
12898#line 1304
12899 __cil_tmp35 = (unsigned long )udc;
12900#line 1304
12901 __cil_tmp36 = __cil_tmp35 + 1376;
12902#line 1304
12903 __cil_tmp37 = *((struct mv_ep **)__cil_tmp36);
12904#line 1304
12905 ep = __cil_tmp37 + __cil_tmp34;
12906#line 1305
12907 if (i & 1) {
12908 {
12909#line 1306
12910 __cil_tmp38 = (char *)(& name);
12911#line 1306
12912 __cil_tmp39 = i / 2;
12913#line 1306
12914 snprintf(__cil_tmp38, 14UL, "ep%din", __cil_tmp39);
12915#line 1307
12916 __cil_tmp40 = (unsigned long )ep;
12917#line 1307
12918 __cil_tmp41 = __cil_tmp40 + 104;
12919#line 1307
12920 *((u32 *)__cil_tmp41) = 1U;
12921 }
12922 } else {
12923 {
12924#line 1309
12925 __cil_tmp42 = (char *)(& name);
12926#line 1309
12927 __cil_tmp43 = i / 2;
12928#line 1309
12929 snprintf(__cil_tmp42, 14UL, "ep%dout", __cil_tmp43);
12930#line 1310
12931 __cil_tmp44 = (unsigned long )ep;
12932#line 1310
12933 __cil_tmp45 = __cil_tmp44 + 104;
12934#line 1310
12935 *((u32 *)__cil_tmp45) = 0U;
12936 }
12937 }
12938 {
12939#line 1312
12940 __cil_tmp46 = (unsigned long )ep;
12941#line 1312
12942 __cil_tmp47 = __cil_tmp46 + 64;
12943#line 1312
12944 *((struct mv_udc **)__cil_tmp47) = udc;
12945#line 1313
12946 __cil_tmp48 = (unsigned long )ep;
12947#line 1313
12948 __cil_tmp49 = __cil_tmp48 + 108;
12949#line 1313
12950 __cil_tmp50 = (char (*)[14U])__cil_tmp49;
12951#line 1313
12952 __cil_tmp51 = (char *)__cil_tmp50;
12953#line 1313
12954 __cil_tmp52 = (char *)(& name);
12955#line 1313
12956 strncpy(__cil_tmp51, __cil_tmp52, 14UL);
12957#line 1314
12958 __cil_tmp53 = 0 + 8;
12959#line 1314
12960 __cil_tmp54 = (unsigned long )ep;
12961#line 1314
12962 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
12963#line 1314
12964 __cil_tmp56 = (unsigned long )ep;
12965#line 1314
12966 __cil_tmp57 = __cil_tmp56 + 108;
12967#line 1314
12968 __cil_tmp58 = (char (*)[14U])__cil_tmp57;
12969#line 1314
12970 *((char **)__cil_tmp55) = (char *)__cil_tmp58;
12971#line 1316
12972 __cil_tmp59 = 0 + 16;
12973#line 1316
12974 __cil_tmp60 = (unsigned long )ep;
12975#line 1316
12976 __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
12977#line 1316
12978 *((struct usb_ep_ops **)__cil_tmp61) = (struct usb_ep_ops *)(& mv_ep_ops);
12979#line 1317
12980 __cil_tmp62 = (unsigned long )ep;
12981#line 1317
12982 __cil_tmp63 = __cil_tmp62 + 122;
12983#line 1317
12984 *((unsigned char *)__cil_tmp63) = (unsigned char)0;
12985#line 1318
12986 __cil_tmp64 = 0 + 40;
12987#line 1318
12988 __cil_tmp65 = (unsigned long )ep;
12989#line 1318
12990 __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
12991#line 1318
12992 *((unsigned short *)__cil_tmp66) = (unsigned short)65535;
12993#line 1319
12994 __cil_tmp67 = (unsigned long )ep;
12995#line 1319
12996 __cil_tmp68 = __cil_tmp67 + 123;
12997#line 1319
12998 __cil_tmp69 = i / 2;
12999#line 1319
13000 *((unsigned char *)__cil_tmp68) = (unsigned char )__cil_tmp69;
13001#line 1321
13002 __cil_tmp70 = (unsigned long )ep;
13003#line 1321
13004 __cil_tmp71 = __cil_tmp70 + 72;
13005#line 1321
13006 __cil_tmp72 = (struct list_head *)__cil_tmp71;
13007#line 1321
13008 INIT_LIST_HEAD(__cil_tmp72);
13009#line 1322
13010 __cil_tmp73 = 0 + 24;
13011#line 1322
13012 __cil_tmp74 = (unsigned long )ep;
13013#line 1322
13014 __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
13015#line 1322
13016 __cil_tmp76 = (struct list_head *)__cil_tmp75;
13017#line 1322
13018 __cil_tmp77 = 0 + 16;
13019#line 1322
13020 __cil_tmp78 = (unsigned long )udc;
13021#line 1322
13022 __cil_tmp79 = __cil_tmp78 + __cil_tmp77;
13023#line 1322
13024 __cil_tmp80 = (struct list_head *)__cil_tmp79;
13025#line 1322
13026 list_add_tail(__cil_tmp76, __cil_tmp80);
13027#line 1324
13028 __cil_tmp81 = (unsigned long )ep;
13029#line 1324
13030 __cil_tmp82 = __cil_tmp81 + 88;
13031#line 1324
13032 __cil_tmp83 = (unsigned long )i;
13033#line 1324
13034 __cil_tmp84 = (unsigned long )udc;
13035#line 1324
13036 __cil_tmp85 = __cil_tmp84 + 1344;
13037#line 1324
13038 __cil_tmp86 = *((struct mv_dqh **)__cil_tmp85);
13039#line 1324
13040 *((struct mv_dqh **)__cil_tmp82) = __cil_tmp86 + __cil_tmp83;
13041#line 1303
13042 i = i + 1;
13043 }
13044 ldv_25690: ;
13045 {
13046#line 1303
13047 __cil_tmp87 = (unsigned long )udc;
13048#line 1303
13049 __cil_tmp88 = __cil_tmp87 + 1336;
13050#line 1303
13051 __cil_tmp89 = *((unsigned int *)__cil_tmp88);
13052#line 1303
13053 __cil_tmp90 = __cil_tmp89 * 2U;
13054#line 1303
13055 __cil_tmp91 = (unsigned int )i;
13056#line 1303
13057 if (__cil_tmp91 < __cil_tmp90) {
13058#line 1304
13059 goto ldv_25689;
13060 } else {
13061#line 1306
13062 goto ldv_25691;
13063 }
13064 }
13065 ldv_25691: ;
13066#line 1327
13067 return (0);
13068}
13069}
13070#line 1331 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13071static void nuke(struct mv_ep *ep , int status )
13072{ struct mv_req *req ;
13073 struct list_head *__mptr ;
13074 int tmp ;
13075 unsigned long __cil_tmp6 ;
13076 unsigned long __cil_tmp7 ;
13077 struct usb_ep *__cil_tmp8 ;
13078 unsigned long __cil_tmp9 ;
13079 unsigned long __cil_tmp10 ;
13080 struct list_head *__cil_tmp11 ;
13081 struct mv_req *__cil_tmp12 ;
13082 unsigned long __cil_tmp13 ;
13083 unsigned long __cil_tmp14 ;
13084 struct list_head *__cil_tmp15 ;
13085 struct list_head *__cil_tmp16 ;
13086
13087 {
13088 {
13089#line 1334
13090 __cil_tmp6 = (unsigned long )ep;
13091#line 1334
13092 __cil_tmp7 = __cil_tmp6 + 122;
13093#line 1334
13094 *((unsigned char *)__cil_tmp7) = (unsigned char)1;
13095#line 1337
13096 __cil_tmp8 = (struct usb_ep *)ep;
13097#line 1337
13098 mv_ep_fifo_flush(__cil_tmp8);
13099 }
13100#line 1339
13101 goto ldv_25700;
13102 ldv_25699:
13103 {
13104#line 1340
13105 req = (struct mv_req *)0;
13106#line 1341
13107 __cil_tmp9 = (unsigned long )ep;
13108#line 1341
13109 __cil_tmp10 = __cil_tmp9 + 72;
13110#line 1341
13111 __cil_tmp11 = *((struct list_head **)__cil_tmp10);
13112#line 1341
13113 __mptr = (struct list_head *)__cil_tmp11;
13114#line 1341
13115 __cil_tmp12 = (struct mv_req *)__mptr;
13116#line 1341
13117 req = __cil_tmp12 + 0xffffffffffffff88UL;
13118#line 1342
13119 done(ep, req, status);
13120 }
13121 ldv_25700:
13122 {
13123#line 1339
13124 __cil_tmp13 = (unsigned long )ep;
13125#line 1339
13126 __cil_tmp14 = __cil_tmp13 + 72;
13127#line 1339
13128 __cil_tmp15 = (struct list_head *)__cil_tmp14;
13129#line 1339
13130 __cil_tmp16 = (struct list_head *)__cil_tmp15;
13131#line 1339
13132 tmp = list_empty(__cil_tmp16);
13133 }
13134#line 1339
13135 if (tmp == 0) {
13136#line 1340
13137 goto ldv_25699;
13138 } else {
13139#line 1342
13140 goto ldv_25701;
13141 }
13142 ldv_25701: ;
13143#line 1344
13144 return;
13145}
13146}
13147#line 1347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13148static void stop_activity(struct mv_udc *udc , struct usb_gadget_driver *driver )
13149{ struct mv_ep *ep ;
13150 struct list_head *__mptr ;
13151 struct list_head *__mptr___0 ;
13152 unsigned long __cil_tmp6 ;
13153 unsigned long __cil_tmp7 ;
13154 struct mv_ep *__cil_tmp8 ;
13155 unsigned long __cil_tmp9 ;
13156 unsigned long __cil_tmp10 ;
13157 unsigned long __cil_tmp11 ;
13158 struct list_head *__cil_tmp12 ;
13159 struct mv_ep *__cil_tmp13 ;
13160 unsigned long __cil_tmp14 ;
13161 unsigned long __cil_tmp15 ;
13162 unsigned long __cil_tmp16 ;
13163 struct list_head *__cil_tmp17 ;
13164 struct mv_ep *__cil_tmp18 ;
13165 unsigned long __cil_tmp19 ;
13166 unsigned long __cil_tmp20 ;
13167 unsigned long __cil_tmp21 ;
13168 struct list_head *__cil_tmp22 ;
13169 unsigned long __cil_tmp23 ;
13170 unsigned long __cil_tmp24 ;
13171 unsigned long __cil_tmp25 ;
13172 unsigned long __cil_tmp26 ;
13173 struct list_head *__cil_tmp27 ;
13174 unsigned long __cil_tmp28 ;
13175 struct usb_gadget_driver *__cil_tmp29 ;
13176 unsigned long __cil_tmp30 ;
13177 unsigned long __cil_tmp31 ;
13178 unsigned long __cil_tmp32 ;
13179 unsigned long __cil_tmp33 ;
13180 spinlock_t *__cil_tmp34 ;
13181 unsigned long __cil_tmp35 ;
13182 unsigned long __cil_tmp36 ;
13183 void (*__cil_tmp37)(struct usb_gadget * ) ;
13184 struct usb_gadget *__cil_tmp38 ;
13185 unsigned long __cil_tmp39 ;
13186 unsigned long __cil_tmp40 ;
13187 spinlock_t *__cil_tmp41 ;
13188
13189 {
13190 {
13191#line 1351
13192 __cil_tmp6 = (unsigned long )udc;
13193#line 1351
13194 __cil_tmp7 = __cil_tmp6 + 1376;
13195#line 1351
13196 __cil_tmp8 = *((struct mv_ep **)__cil_tmp7);
13197#line 1351
13198 nuke(__cil_tmp8, -108);
13199#line 1353
13200 __cil_tmp9 = 0 + 16;
13201#line 1353
13202 __cil_tmp10 = (unsigned long )udc;
13203#line 1353
13204 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
13205#line 1353
13206 __cil_tmp12 = *((struct list_head **)__cil_tmp11);
13207#line 1353
13208 __mptr = (struct list_head *)__cil_tmp12;
13209#line 1353
13210 __cil_tmp13 = (struct mv_ep *)__mptr;
13211#line 1353
13212 ep = __cil_tmp13 + 0xffffffffffffffe8UL;
13213 }
13214#line 1353
13215 goto ldv_25712;
13216 ldv_25711:
13217 {
13218#line 1354
13219 nuke(ep, -108);
13220#line 1353
13221 __cil_tmp14 = 0 + 24;
13222#line 1353
13223 __cil_tmp15 = (unsigned long )ep;
13224#line 1353
13225 __cil_tmp16 = __cil_tmp15 + __cil_tmp14;
13226#line 1353
13227 __cil_tmp17 = *((struct list_head **)__cil_tmp16);
13228#line 1353
13229 __mptr___0 = (struct list_head *)__cil_tmp17;
13230#line 1353
13231 __cil_tmp18 = (struct mv_ep *)__mptr___0;
13232#line 1353
13233 ep = __cil_tmp18 + 0xffffffffffffffe8UL;
13234 }
13235 ldv_25712: ;
13236 {
13237#line 1353
13238 __cil_tmp19 = 0 + 16;
13239#line 1353
13240 __cil_tmp20 = (unsigned long )udc;
13241#line 1353
13242 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
13243#line 1353
13244 __cil_tmp22 = (struct list_head *)__cil_tmp21;
13245#line 1353
13246 __cil_tmp23 = (unsigned long )__cil_tmp22;
13247#line 1353
13248 __cil_tmp24 = 0 + 24;
13249#line 1353
13250 __cil_tmp25 = (unsigned long )ep;
13251#line 1353
13252 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
13253#line 1353
13254 __cil_tmp27 = (struct list_head *)__cil_tmp26;
13255#line 1353
13256 __cil_tmp28 = (unsigned long )__cil_tmp27;
13257#line 1353
13258 if (__cil_tmp28 != __cil_tmp23) {
13259#line 1354
13260 goto ldv_25711;
13261 } else {
13262#line 1356
13263 goto ldv_25713;
13264 }
13265 }
13266 ldv_25713: ;
13267 {
13268#line 1358
13269 __cil_tmp29 = (struct usb_gadget_driver *)0;
13270#line 1358
13271 __cil_tmp30 = (unsigned long )__cil_tmp29;
13272#line 1358
13273 __cil_tmp31 = (unsigned long )driver;
13274#line 1358
13275 if (__cil_tmp31 != __cil_tmp30) {
13276 {
13277#line 1359
13278 __cil_tmp32 = (unsigned long )udc;
13279#line 1359
13280 __cil_tmp33 = __cil_tmp32 + 1216;
13281#line 1359
13282 __cil_tmp34 = (spinlock_t *)__cil_tmp33;
13283#line 1359
13284 spin_unlock(__cil_tmp34);
13285#line 1360
13286 __cil_tmp35 = (unsigned long )driver;
13287#line 1360
13288 __cil_tmp36 = __cil_tmp35 + 32;
13289#line 1360
13290 __cil_tmp37 = *((void (**)(struct usb_gadget * ))__cil_tmp36);
13291#line 1360
13292 __cil_tmp38 = (struct usb_gadget *)udc;
13293#line 1360
13294 (*__cil_tmp37)(__cil_tmp38);
13295#line 1361
13296 __cil_tmp39 = (unsigned long )udc;
13297#line 1361
13298 __cil_tmp40 = __cil_tmp39 + 1216;
13299#line 1361
13300 __cil_tmp41 = (spinlock_t *)__cil_tmp40;
13301#line 1361
13302 spin_lock(__cil_tmp41);
13303 }
13304 } else {
13305
13306 }
13307 }
13308#line 1363
13309 return;
13310}
13311}
13312#line 1365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13313static int mv_udc_start(struct usb_gadget_driver *driver , int (*bind)(struct usb_gadget * ) )
13314{ struct mv_udc *udc ;
13315 int retval ;
13316 unsigned long flags ;
13317 struct mv_udc *__cil_tmp6 ;
13318 unsigned long __cil_tmp7 ;
13319 unsigned long __cil_tmp8 ;
13320 struct usb_gadget_driver *__cil_tmp9 ;
13321 unsigned long __cil_tmp10 ;
13322 unsigned long __cil_tmp11 ;
13323 unsigned long __cil_tmp12 ;
13324 struct usb_gadget_driver *__cil_tmp13 ;
13325 unsigned long __cil_tmp14 ;
13326 unsigned long __cil_tmp15 ;
13327 unsigned long __cil_tmp16 ;
13328 unsigned long __cil_tmp17 ;
13329 unsigned long __cil_tmp18 ;
13330 unsigned long __cil_tmp19 ;
13331 unsigned long __cil_tmp20 ;
13332 unsigned long __cil_tmp21 ;
13333 unsigned long __cil_tmp22 ;
13334 unsigned long __cil_tmp23 ;
13335 unsigned long __cil_tmp24 ;
13336 unsigned long __cil_tmp25 ;
13337 unsigned long __cil_tmp26 ;
13338 unsigned long __cil_tmp27 ;
13339 unsigned long __cil_tmp28 ;
13340 unsigned long __cil_tmp29 ;
13341 unsigned long __cil_tmp30 ;
13342 unsigned long __cil_tmp31 ;
13343 unsigned long __cil_tmp32 ;
13344 unsigned long __cil_tmp33 ;
13345 spinlock_t *__cil_tmp34 ;
13346 struct usb_gadget *__cil_tmp35 ;
13347 unsigned long __cil_tmp36 ;
13348 unsigned long __cil_tmp37 ;
13349 struct platform_device *__cil_tmp38 ;
13350 unsigned long __cil_tmp39 ;
13351 unsigned long __cil_tmp40 ;
13352 struct device *__cil_tmp41 ;
13353 struct device *__cil_tmp42 ;
13354 unsigned long __cil_tmp43 ;
13355 unsigned long __cil_tmp44 ;
13356 char *__cil_tmp45 ;
13357 unsigned long __cil_tmp46 ;
13358 unsigned long __cil_tmp47 ;
13359 unsigned long __cil_tmp48 ;
13360 unsigned long __cil_tmp49 ;
13361 unsigned long __cil_tmp50 ;
13362 unsigned long __cil_tmp51 ;
13363 struct usb_phy *__cil_tmp52 ;
13364 unsigned long __cil_tmp53 ;
13365 unsigned long __cil_tmp54 ;
13366 unsigned long __cil_tmp55 ;
13367 struct usb_phy *__cil_tmp56 ;
13368 unsigned long __cil_tmp57 ;
13369 unsigned long __cil_tmp58 ;
13370 unsigned long __cil_tmp59 ;
13371 struct usb_phy *__cil_tmp60 ;
13372 unsigned long __cil_tmp61 ;
13373 unsigned long __cil_tmp62 ;
13374 struct usb_otg *__cil_tmp63 ;
13375 struct usb_gadget *__cil_tmp64 ;
13376 unsigned long __cil_tmp65 ;
13377 unsigned long __cil_tmp66 ;
13378 struct platform_device *__cil_tmp67 ;
13379 unsigned long __cil_tmp68 ;
13380 unsigned long __cil_tmp69 ;
13381 struct device *__cil_tmp70 ;
13382 struct device *__cil_tmp71 ;
13383 void (*__cil_tmp72)(struct usb_gadget * ) ;
13384 unsigned long __cil_tmp73 ;
13385 unsigned long __cil_tmp74 ;
13386 unsigned long __cil_tmp75 ;
13387 void (*__cil_tmp76)(struct usb_gadget * ) ;
13388 unsigned long __cil_tmp77 ;
13389 unsigned long __cil_tmp78 ;
13390 unsigned long __cil_tmp79 ;
13391 void (*__cil_tmp80)(struct usb_gadget * ) ;
13392 struct usb_gadget *__cil_tmp81 ;
13393 unsigned long __cil_tmp82 ;
13394 unsigned long __cil_tmp83 ;
13395 unsigned long __cil_tmp84 ;
13396 unsigned long __cil_tmp85 ;
13397 unsigned long __cil_tmp86 ;
13398 unsigned long __cil_tmp87 ;
13399 struct usb_gadget *__cil_tmp88 ;
13400 struct workqueue_struct *__cil_tmp89 ;
13401 unsigned long __cil_tmp90 ;
13402 unsigned long __cil_tmp91 ;
13403 unsigned long __cil_tmp92 ;
13404 struct workqueue_struct *__cil_tmp93 ;
13405 unsigned long __cil_tmp94 ;
13406 unsigned long __cil_tmp95 ;
13407 unsigned long __cil_tmp96 ;
13408 struct workqueue_struct *__cil_tmp97 ;
13409 unsigned long __cil_tmp98 ;
13410 unsigned long __cil_tmp99 ;
13411 struct work_struct *__cil_tmp100 ;
13412
13413 {
13414#line 1368
13415 udc = the_controller;
13416#line 1369
13417 retval = 0;
13418 {
13419#line 1372
13420 __cil_tmp6 = (struct mv_udc *)0;
13421#line 1372
13422 __cil_tmp7 = (unsigned long )__cil_tmp6;
13423#line 1372
13424 __cil_tmp8 = (unsigned long )udc;
13425#line 1372
13426 if (__cil_tmp8 == __cil_tmp7) {
13427#line 1373
13428 return (-19);
13429 } else {
13430
13431 }
13432 }
13433 {
13434#line 1375
13435 __cil_tmp9 = (struct usb_gadget_driver *)0;
13436#line 1375
13437 __cil_tmp10 = (unsigned long )__cil_tmp9;
13438#line 1375
13439 __cil_tmp11 = (unsigned long )udc;
13440#line 1375
13441 __cil_tmp12 = __cil_tmp11 + 1208;
13442#line 1375
13443 __cil_tmp13 = *((struct usb_gadget_driver **)__cil_tmp12);
13444#line 1375
13445 __cil_tmp14 = (unsigned long )__cil_tmp13;
13446#line 1375
13447 if (__cil_tmp14 != __cil_tmp10) {
13448#line 1376
13449 return (-16);
13450 } else {
13451
13452 }
13453 }
13454 {
13455#line 1378
13456 ldv_spin_lock();
13457#line 1381
13458 __cil_tmp15 = 56 + 8;
13459#line 1381
13460 __cil_tmp16 = (unsigned long )driver;
13461#line 1381
13462 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
13463#line 1381
13464 *((struct bus_type **)__cil_tmp17) = (struct bus_type *)0;
13465#line 1382
13466 __cil_tmp18 = (unsigned long )udc;
13467#line 1382
13468 __cil_tmp19 = __cil_tmp18 + 1208;
13469#line 1382
13470 *((struct usb_gadget_driver **)__cil_tmp19) = driver;
13471#line 1383
13472 __cil_tmp20 = 56 + 272;
13473#line 1383
13474 __cil_tmp21 = 0 + __cil_tmp20;
13475#line 1383
13476 __cil_tmp22 = (unsigned long )udc;
13477#line 1383
13478 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
13479#line 1383
13480 __cil_tmp24 = (unsigned long )driver;
13481#line 1383
13482 __cil_tmp25 = __cil_tmp24 + 56;
13483#line 1383
13484 *((struct device_driver **)__cil_tmp23) = (struct device_driver *)__cil_tmp25;
13485#line 1385
13486 __cil_tmp26 = (unsigned long )udc;
13487#line 1385
13488 __cil_tmp27 = __cil_tmp26 + 1428;
13489#line 1385
13490 *((unsigned int *)__cil_tmp27) = 1U;
13491#line 1386
13492 __cil_tmp28 = (unsigned long )udc;
13493#line 1386
13494 __cil_tmp29 = __cil_tmp28 + 1432;
13495#line 1386
13496 *((unsigned int *)__cil_tmp29) = 0U;
13497#line 1387
13498 __cil_tmp30 = (unsigned long )udc;
13499#line 1387
13500 __cil_tmp31 = __cil_tmp30 + 1436;
13501#line 1387
13502 *((unsigned int *)__cil_tmp31) = 0U;
13503#line 1389
13504 __cil_tmp32 = (unsigned long )udc;
13505#line 1389
13506 __cil_tmp33 = __cil_tmp32 + 1216;
13507#line 1389
13508 __cil_tmp34 = (spinlock_t *)__cil_tmp33;
13509#line 1389
13510 spin_unlock_irqrestore(__cil_tmp34, flags);
13511#line 1391
13512 __cil_tmp35 = (struct usb_gadget *)udc;
13513#line 1391
13514 retval = (*bind)(__cil_tmp35);
13515 }
13516#line 1392
13517 if (retval != 0) {
13518 {
13519#line 1393
13520 __cil_tmp36 = (unsigned long )udc;
13521#line 1393
13522 __cil_tmp37 = __cil_tmp36 + 1296;
13523#line 1393
13524 __cil_tmp38 = *((struct platform_device **)__cil_tmp37);
13525#line 1393
13526 __cil_tmp39 = (unsigned long )__cil_tmp38;
13527#line 1393
13528 __cil_tmp40 = __cil_tmp39 + 16;
13529#line 1393
13530 __cil_tmp41 = (struct device *)__cil_tmp40;
13531#line 1393
13532 __cil_tmp42 = (struct device *)__cil_tmp41;
13533#line 1393
13534 __cil_tmp43 = (unsigned long )driver;
13535#line 1393
13536 __cil_tmp44 = __cil_tmp43 + 56;
13537#line 1393
13538 __cil_tmp45 = *((char **)__cil_tmp44);
13539#line 1393
13540 dev_err(__cil_tmp42, "bind to driver %s --> %d\n", __cil_tmp45, retval);
13541#line 1395
13542 __cil_tmp46 = (unsigned long )udc;
13543#line 1395
13544 __cil_tmp47 = __cil_tmp46 + 1208;
13545#line 1395
13546 *((struct usb_gadget_driver **)__cil_tmp47) = (struct usb_gadget_driver *)0;
13547#line 1396
13548 __cil_tmp48 = 56 + 272;
13549#line 1396
13550 __cil_tmp49 = 0 + __cil_tmp48;
13551#line 1396
13552 __cil_tmp50 = (unsigned long )udc;
13553#line 1396
13554 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
13555#line 1396
13556 *((struct device_driver **)__cil_tmp51) = (struct device_driver *)0;
13557 }
13558#line 1397
13559 return (retval);
13560 } else {
13561
13562 }
13563 {
13564#line 1400
13565 __cil_tmp52 = (struct usb_phy *)0;
13566#line 1400
13567 __cil_tmp53 = (unsigned long )__cil_tmp52;
13568#line 1400
13569 __cil_tmp54 = (unsigned long )udc;
13570#line 1400
13571 __cil_tmp55 = __cil_tmp54 + 1544;
13572#line 1400
13573 __cil_tmp56 = *((struct usb_phy **)__cil_tmp55);
13574#line 1400
13575 __cil_tmp57 = (unsigned long )__cil_tmp56;
13576#line 1400
13577 if (__cil_tmp57 != __cil_tmp53) {
13578 {
13579#line 1401
13580 __cil_tmp58 = (unsigned long )udc;
13581#line 1401
13582 __cil_tmp59 = __cil_tmp58 + 1544;
13583#line 1401
13584 __cil_tmp60 = *((struct usb_phy **)__cil_tmp59);
13585#line 1401
13586 __cil_tmp61 = (unsigned long )__cil_tmp60;
13587#line 1401
13588 __cil_tmp62 = __cil_tmp61 + 32;
13589#line 1401
13590 __cil_tmp63 = *((struct usb_otg **)__cil_tmp62);
13591#line 1401
13592 __cil_tmp64 = (struct usb_gadget *)udc;
13593#line 1401
13594 retval = otg_set_peripheral(__cil_tmp63, __cil_tmp64);
13595 }
13596#line 1403
13597 if (retval != 0) {
13598 {
13599#line 1404
13600 __cil_tmp65 = (unsigned long )udc;
13601#line 1404
13602 __cil_tmp66 = __cil_tmp65 + 1296;
13603#line 1404
13604 __cil_tmp67 = *((struct platform_device **)__cil_tmp66);
13605#line 1404
13606 __cil_tmp68 = (unsigned long )__cil_tmp67;
13607#line 1404
13608 __cil_tmp69 = __cil_tmp68 + 16;
13609#line 1404
13610 __cil_tmp70 = (struct device *)__cil_tmp69;
13611#line 1404
13612 __cil_tmp71 = (struct device *)__cil_tmp70;
13613#line 1404
13614 dev_err(__cil_tmp71, "unable to register peripheral to otg\n");
13615 }
13616 {
13617#line 1406
13618 __cil_tmp72 = (void (*)(struct usb_gadget * ))0;
13619#line 1406
13620 __cil_tmp73 = (unsigned long )__cil_tmp72;
13621#line 1406
13622 __cil_tmp74 = (unsigned long )driver;
13623#line 1406
13624 __cil_tmp75 = __cil_tmp74 + 16;
13625#line 1406
13626 __cil_tmp76 = *((void (**)(struct usb_gadget * ))__cil_tmp75);
13627#line 1406
13628 __cil_tmp77 = (unsigned long )__cil_tmp76;
13629#line 1406
13630 if (__cil_tmp77 != __cil_tmp73) {
13631 {
13632#line 1407
13633 __cil_tmp78 = (unsigned long )driver;
13634#line 1407
13635 __cil_tmp79 = __cil_tmp78 + 16;
13636#line 1407
13637 __cil_tmp80 = *((void (**)(struct usb_gadget * ))__cil_tmp79);
13638#line 1407
13639 __cil_tmp81 = (struct usb_gadget *)udc;
13640#line 1407
13641 (*__cil_tmp80)(__cil_tmp81);
13642#line 1408
13643 __cil_tmp82 = 56 + 272;
13644#line 1408
13645 __cil_tmp83 = 0 + __cil_tmp82;
13646#line 1408
13647 __cil_tmp84 = (unsigned long )udc;
13648#line 1408
13649 __cil_tmp85 = __cil_tmp84 + __cil_tmp83;
13650#line 1408
13651 *((struct device_driver **)__cil_tmp85) = (struct device_driver *)0;
13652#line 1409
13653 __cil_tmp86 = (unsigned long )udc;
13654#line 1409
13655 __cil_tmp87 = __cil_tmp86 + 1208;
13656#line 1409
13657 *((struct usb_gadget_driver **)__cil_tmp87) = (struct usb_gadget_driver *)0;
13658 }
13659 } else {
13660
13661 }
13662 }
13663#line 1411
13664 return (retval);
13665 } else {
13666
13667 }
13668 } else {
13669
13670 }
13671 }
13672 {
13673#line 1416
13674 __cil_tmp88 = (struct usb_gadget *)udc;
13675#line 1416
13676 mv_udc_pullup(__cil_tmp88, 1);
13677 }
13678 {
13679#line 1419
13680 __cil_tmp89 = (struct workqueue_struct *)0;
13681#line 1419
13682 __cil_tmp90 = (unsigned long )__cil_tmp89;
13683#line 1419
13684 __cil_tmp91 = (unsigned long )udc;
13685#line 1419
13686 __cil_tmp92 = __cil_tmp91 + 1536;
13687#line 1419
13688 __cil_tmp93 = *((struct workqueue_struct **)__cil_tmp92);
13689#line 1419
13690 __cil_tmp94 = (unsigned long )__cil_tmp93;
13691#line 1419
13692 if (__cil_tmp94 != __cil_tmp90) {
13693 {
13694#line 1420
13695 __cil_tmp95 = (unsigned long )udc;
13696#line 1420
13697 __cil_tmp96 = __cil_tmp95 + 1536;
13698#line 1420
13699 __cil_tmp97 = *((struct workqueue_struct **)__cil_tmp96);
13700#line 1420
13701 __cil_tmp98 = (unsigned long )udc;
13702#line 1420
13703 __cil_tmp99 = __cil_tmp98 + 1456;
13704#line 1420
13705 __cil_tmp100 = (struct work_struct *)__cil_tmp99;
13706#line 1420
13707 queue_work(__cil_tmp97, __cil_tmp100);
13708 }
13709 } else {
13710
13711 }
13712 }
13713#line 1422
13714 return (0);
13715}
13716}
13717#line 1425 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13718static int mv_udc_stop(struct usb_gadget_driver *driver )
13719{ struct mv_udc *udc ;
13720 unsigned long flags ;
13721 struct mv_udc *__cil_tmp4 ;
13722 unsigned long __cil_tmp5 ;
13723 unsigned long __cil_tmp6 ;
13724 unsigned long __cil_tmp7 ;
13725 unsigned long __cil_tmp8 ;
13726 unsigned long __cil_tmp9 ;
13727 unsigned long __cil_tmp10 ;
13728 unsigned long __cil_tmp11 ;
13729 spinlock_t *__cil_tmp12 ;
13730 unsigned long __cil_tmp13 ;
13731 unsigned long __cil_tmp14 ;
13732 void (*__cil_tmp15)(struct usb_gadget * ) ;
13733 struct usb_gadget *__cil_tmp16 ;
13734 unsigned long __cil_tmp17 ;
13735 unsigned long __cil_tmp18 ;
13736 unsigned long __cil_tmp19 ;
13737 unsigned long __cil_tmp20 ;
13738 unsigned long __cil_tmp21 ;
13739 unsigned long __cil_tmp22 ;
13740
13741 {
13742#line 1427
13743 udc = the_controller;
13744 {
13745#line 1430
13746 __cil_tmp4 = (struct mv_udc *)0;
13747#line 1430
13748 __cil_tmp5 = (unsigned long )__cil_tmp4;
13749#line 1430
13750 __cil_tmp6 = (unsigned long )udc;
13751#line 1430
13752 if (__cil_tmp6 == __cil_tmp5) {
13753#line 1431
13754 return (-19);
13755 } else {
13756
13757 }
13758 }
13759 {
13760#line 1433
13761 ldv_spin_lock();
13762#line 1435
13763 mv_udc_enable(udc);
13764#line 1436
13765 udc_stop(udc);
13766#line 1439
13767 __cil_tmp7 = 0 + 32;
13768#line 1439
13769 __cil_tmp8 = (unsigned long )udc;
13770#line 1439
13771 __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
13772#line 1439
13773 *((enum usb_device_speed *)__cil_tmp9) = (enum usb_device_speed )0;
13774#line 1440
13775 stop_activity(udc, driver);
13776#line 1441
13777 mv_udc_disable(udc);
13778#line 1443
13779 __cil_tmp10 = (unsigned long )udc;
13780#line 1443
13781 __cil_tmp11 = __cil_tmp10 + 1216;
13782#line 1443
13783 __cil_tmp12 = (spinlock_t *)__cil_tmp11;
13784#line 1443
13785 spin_unlock_irqrestore(__cil_tmp12, flags);
13786#line 1446
13787 __cil_tmp13 = (unsigned long )driver;
13788#line 1446
13789 __cil_tmp14 = __cil_tmp13 + 16;
13790#line 1446
13791 __cil_tmp15 = *((void (**)(struct usb_gadget * ))__cil_tmp14);
13792#line 1446
13793 __cil_tmp16 = (struct usb_gadget *)udc;
13794#line 1446
13795 (*__cil_tmp15)(__cil_tmp16);
13796#line 1447
13797 __cil_tmp17 = 56 + 272;
13798#line 1447
13799 __cil_tmp18 = 0 + __cil_tmp17;
13800#line 1447
13801 __cil_tmp19 = (unsigned long )udc;
13802#line 1447
13803 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
13804#line 1447
13805 *((struct device_driver **)__cil_tmp20) = (struct device_driver *)0;
13806#line 1448
13807 __cil_tmp21 = (unsigned long )udc;
13808#line 1448
13809 __cil_tmp22 = __cil_tmp21 + 1208;
13810#line 1448
13811 *((struct usb_gadget_driver **)__cil_tmp22) = (struct usb_gadget_driver *)0;
13812 }
13813#line 1450
13814 return (0);
13815}
13816}
13817#line 1453 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13818static void mv_set_ptc(struct mv_udc *udc , u32 mode )
13819{ u32 portsc ;
13820 unsigned long __cil_tmp4 ;
13821 unsigned long __cil_tmp5 ;
13822 struct mv_op_regs *__cil_tmp6 ;
13823 unsigned long __cil_tmp7 ;
13824 unsigned long __cil_tmp8 ;
13825 u32 (*__cil_tmp9)[8U] ;
13826 void volatile *__cil_tmp10 ;
13827 u32 __cil_tmp11 ;
13828 unsigned long __cil_tmp12 ;
13829 unsigned long __cil_tmp13 ;
13830 struct mv_op_regs *__cil_tmp14 ;
13831 unsigned long __cil_tmp15 ;
13832 unsigned long __cil_tmp16 ;
13833 u32 (*__cil_tmp17)[8U] ;
13834 void volatile *__cil_tmp18 ;
13835
13836 {
13837 {
13838#line 1457
13839 __cil_tmp4 = (unsigned long )udc;
13840#line 1457
13841 __cil_tmp5 = __cil_tmp4 + 1320;
13842#line 1457
13843 __cil_tmp6 = *((struct mv_op_regs **)__cil_tmp5);
13844#line 1457
13845 __cil_tmp7 = (unsigned long )__cil_tmp6;
13846#line 1457
13847 __cil_tmp8 = __cil_tmp7 + 68;
13848#line 1457
13849 __cil_tmp9 = (u32 (*)[8U])__cil_tmp8;
13850#line 1457
13851 __cil_tmp10 = (void volatile *)__cil_tmp9;
13852#line 1457
13853 portsc = readl(__cil_tmp10);
13854#line 1458
13855 __cil_tmp11 = mode << 16;
13856#line 1458
13857 portsc = __cil_tmp11 | portsc;
13858#line 1459
13859 __cil_tmp12 = (unsigned long )udc;
13860#line 1459
13861 __cil_tmp13 = __cil_tmp12 + 1320;
13862#line 1459
13863 __cil_tmp14 = *((struct mv_op_regs **)__cil_tmp13);
13864#line 1459
13865 __cil_tmp15 = (unsigned long )__cil_tmp14;
13866#line 1459
13867 __cil_tmp16 = __cil_tmp15 + 68;
13868#line 1459
13869 __cil_tmp17 = (u32 (*)[8U])__cil_tmp16;
13870#line 1459
13871 __cil_tmp18 = (void volatile *)__cil_tmp17;
13872#line 1459
13873 writel(portsc, __cil_tmp18);
13874 }
13875#line 1460
13876 return;
13877}
13878}
13879#line 1462 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13880static void prime_status_complete(struct usb_ep *ep , struct usb_request *_req )
13881{ struct mv_udc *udc ;
13882 struct mv_req *req ;
13883 struct usb_request *__mptr ;
13884 unsigned long flags ;
13885 unsigned long __cil_tmp7 ;
13886 unsigned long __cil_tmp8 ;
13887 struct platform_device *__cil_tmp9 ;
13888 unsigned long __cil_tmp10 ;
13889 unsigned long __cil_tmp11 ;
13890 struct device *__cil_tmp12 ;
13891 struct device *__cil_tmp13 ;
13892 unsigned long __cil_tmp14 ;
13893 unsigned long __cil_tmp15 ;
13894 unsigned int __cil_tmp16 ;
13895 unsigned long __cil_tmp17 ;
13896 unsigned long __cil_tmp18 ;
13897 unsigned int __cil_tmp19 ;
13898 unsigned long __cil_tmp20 ;
13899 unsigned long __cil_tmp21 ;
13900 unsigned int __cil_tmp22 ;
13901 unsigned long __cil_tmp23 ;
13902 unsigned long __cil_tmp24 ;
13903 unsigned long __cil_tmp25 ;
13904 unsigned long __cil_tmp26 ;
13905 spinlock_t *__cil_tmp27 ;
13906
13907 {
13908 {
13909#line 1464
13910 udc = the_controller;
13911#line 1465
13912 __mptr = (struct usb_request *)_req;
13913#line 1465
13914 req = (struct mv_req *)__mptr;
13915#line 1468
13916 __cil_tmp7 = (unsigned long )udc;
13917#line 1468
13918 __cil_tmp8 = __cil_tmp7 + 1296;
13919#line 1468
13920 __cil_tmp9 = *((struct platform_device **)__cil_tmp8);
13921#line 1468
13922 __cil_tmp10 = (unsigned long )__cil_tmp9;
13923#line 1468
13924 __cil_tmp11 = __cil_tmp10 + 16;
13925#line 1468
13926 __cil_tmp12 = (struct device *)__cil_tmp11;
13927#line 1468
13928 __cil_tmp13 = (struct device *)__cil_tmp12;
13929#line 1468
13930 __cil_tmp14 = (unsigned long )req;
13931#line 1468
13932 __cil_tmp15 = __cil_tmp14 + 136;
13933#line 1468
13934 __cil_tmp16 = *((unsigned int *)__cil_tmp15);
13935#line 1468
13936 _dev_info(__cil_tmp13, "switch to test mode %d\n", __cil_tmp16);
13937#line 1470
13938 ldv_spin_lock();
13939 }
13940 {
13941#line 1471
13942 __cil_tmp17 = (unsigned long )req;
13943#line 1471
13944 __cil_tmp18 = __cil_tmp17 + 136;
13945#line 1471
13946 __cil_tmp19 = *((unsigned int *)__cil_tmp18);
13947#line 1471
13948 if (__cil_tmp19 != 0U) {
13949 {
13950#line 1472
13951 __cil_tmp20 = (unsigned long )req;
13952#line 1472
13953 __cil_tmp21 = __cil_tmp20 + 136;
13954#line 1472
13955 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
13956#line 1472
13957 mv_set_ptc(udc, __cil_tmp22);
13958#line 1473
13959 __cil_tmp23 = (unsigned long )req;
13960#line 1473
13961 __cil_tmp24 = __cil_tmp23 + 136;
13962#line 1473
13963 *((unsigned int *)__cil_tmp24) = 0U;
13964 }
13965 } else {
13966
13967 }
13968 }
13969 {
13970#line 1475
13971 __cil_tmp25 = (unsigned long )udc;
13972#line 1475
13973 __cil_tmp26 = __cil_tmp25 + 1216;
13974#line 1475
13975 __cil_tmp27 = (spinlock_t *)__cil_tmp26;
13976#line 1475
13977 spin_unlock_irqrestore(__cil_tmp27, flags);
13978 }
13979#line 1476
13980 return;
13981}
13982}
13983#line 1479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
13984static int udc_prime_status(struct mv_udc *udc , u8 direction , u16 status , bool empty )
13985{ int retval ;
13986 struct mv_req *req ;
13987 struct mv_ep *ep ;
13988 int tmp___0 ;
13989 int tmp___1 ;
13990 int tmp___2 ;
13991 unsigned long __cil_tmp12 ;
13992 unsigned long __cil_tmp13 ;
13993 unsigned long __cil_tmp14 ;
13994 unsigned long __cil_tmp15 ;
13995 unsigned long __cil_tmp16 ;
13996 unsigned long __cil_tmp17 ;
13997 unsigned long __cil_tmp18 ;
13998 unsigned long __cil_tmp19 ;
13999 void *__cil_tmp20 ;
14000 u16 *__cil_tmp21 ;
14001 unsigned long __cil_tmp22 ;
14002 unsigned long __cil_tmp23 ;
14003 unsigned long __cil_tmp24 ;
14004 unsigned long __cil_tmp25 ;
14005 unsigned long __cil_tmp26 ;
14006 unsigned long __cil_tmp27 ;
14007 unsigned long __cil_tmp28 ;
14008 unsigned long __cil_tmp29 ;
14009 unsigned long __cil_tmp30 ;
14010 unsigned long __cil_tmp31 ;
14011 unsigned long __cil_tmp32 ;
14012 unsigned long __cil_tmp33 ;
14013 unsigned long __cil_tmp34 ;
14014 unsigned long __cil_tmp35 ;
14015 unsigned long __cil_tmp36 ;
14016 unsigned long __cil_tmp37 ;
14017 unsigned int __cil_tmp38 ;
14018 unsigned long __cil_tmp39 ;
14019 unsigned long __cil_tmp40 ;
14020 unsigned long __cil_tmp41 ;
14021 unsigned long __cil_tmp42 ;
14022 unsigned long __cil_tmp43 ;
14023 unsigned long __cil_tmp44 ;
14024 unsigned long __cil_tmp45 ;
14025 unsigned long __cil_tmp46 ;
14026 unsigned long __cil_tmp47 ;
14027 unsigned long __cil_tmp48 ;
14028 unsigned long __cil_tmp49 ;
14029 unsigned long __cil_tmp50 ;
14030 unsigned long __cil_tmp51 ;
14031 unsigned long __cil_tmp52 ;
14032 unsigned long __cil_tmp53 ;
14033 unsigned long __cil_tmp54 ;
14034 unsigned long __cil_tmp55 ;
14035 dma_addr_t __cil_tmp56 ;
14036 unsigned short *__cil_tmp57 ;
14037 unsigned short *__cil_tmp58 ;
14038 unsigned short __cil_tmp59 ;
14039 unsigned int __cil_tmp60 ;
14040 unsigned long __cil_tmp61 ;
14041 unsigned long __cil_tmp62 ;
14042 struct mv_udc *__cil_tmp63 ;
14043 unsigned long __cil_tmp64 ;
14044 unsigned long __cil_tmp65 ;
14045 unsigned int __cil_tmp66 ;
14046 unsigned long __cil_tmp67 ;
14047 unsigned long __cil_tmp68 ;
14048 u32 __cil_tmp69 ;
14049 unsigned long __cil_tmp70 ;
14050 unsigned long __cil_tmp71 ;
14051 unsigned long __cil_tmp72 ;
14052 unsigned long __cil_tmp73 ;
14053 unsigned long __cil_tmp74 ;
14054 unsigned long __cil_tmp75 ;
14055 struct mv_udc *__cil_tmp76 ;
14056 unsigned long __cil_tmp77 ;
14057 unsigned long __cil_tmp78 ;
14058 struct device *__cil_tmp79 ;
14059 void *__cil_tmp80 ;
14060 unsigned long __cil_tmp81 ;
14061 unsigned long __cil_tmp82 ;
14062 unsigned long __cil_tmp83 ;
14063 unsigned int __cil_tmp84 ;
14064 size_t __cil_tmp85 ;
14065 enum dma_data_direction __cil_tmp86 ;
14066 struct dma_attrs *__cil_tmp87 ;
14067 unsigned long __cil_tmp88 ;
14068 unsigned long __cil_tmp89 ;
14069 unsigned long __cil_tmp90 ;
14070 unsigned long __cil_tmp91 ;
14071 struct platform_device *__cil_tmp92 ;
14072 unsigned long __cil_tmp93 ;
14073 unsigned long __cil_tmp94 ;
14074 struct device *__cil_tmp95 ;
14075 struct device *__cil_tmp96 ;
14076 unsigned long __cil_tmp97 ;
14077 unsigned long __cil_tmp98 ;
14078 struct list_head *__cil_tmp99 ;
14079 unsigned long __cil_tmp100 ;
14080 unsigned long __cil_tmp101 ;
14081 struct list_head *__cil_tmp102 ;
14082
14083 {
14084#line 1481
14085 retval = 0;
14086#line 1485
14087 __cil_tmp12 = (unsigned long )udc;
14088#line 1485
14089 __cil_tmp13 = __cil_tmp12 + 1376;
14090#line 1485
14091 ep = *((struct mv_ep **)__cil_tmp13);
14092#line 1486
14093 __cil_tmp14 = (unsigned long )udc;
14094#line 1486
14095 __cil_tmp15 = __cil_tmp14 + 1436;
14096#line 1486
14097 *((unsigned int *)__cil_tmp15) = (unsigned int )direction;
14098#line 1487
14099 __cil_tmp16 = (unsigned long )udc;
14100#line 1487
14101 __cil_tmp17 = __cil_tmp16 + 1432;
14102#line 1487
14103 *((unsigned int *)__cil_tmp17) = 3U;
14104#line 1489
14105 __cil_tmp18 = (unsigned long )udc;
14106#line 1489
14107 __cil_tmp19 = __cil_tmp18 + 1408;
14108#line 1489
14109 req = *((struct mv_req **)__cil_tmp19);
14110#line 1492
14111 if (! empty) {
14112#line 1493
14113 __cil_tmp20 = *((void **)req);
14114#line 1493
14115 __cil_tmp21 = (u16 *)__cil_tmp20;
14116#line 1493
14117 *__cil_tmp21 = status;
14118#line 1494
14119 __cil_tmp22 = 0 + 8;
14120#line 1494
14121 __cil_tmp23 = (unsigned long )req;
14122#line 1494
14123 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
14124#line 1494
14125 *((unsigned int *)__cil_tmp24) = 2U;
14126 } else {
14127#line 1496
14128 __cil_tmp25 = 0 + 8;
14129#line 1496
14130 __cil_tmp26 = (unsigned long )req;
14131#line 1496
14132 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
14133#line 1496
14134 *((unsigned int *)__cil_tmp27) = 0U;
14135 }
14136#line 1498
14137 __cil_tmp28 = (unsigned long )req;
14138#line 1498
14139 __cil_tmp29 = __cil_tmp28 + 112;
14140#line 1498
14141 *((struct mv_ep **)__cil_tmp29) = ep;
14142#line 1499
14143 __cil_tmp30 = 0 + 80;
14144#line 1499
14145 __cil_tmp31 = (unsigned long )req;
14146#line 1499
14147 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
14148#line 1499
14149 *((int *)__cil_tmp32) = -115;
14150#line 1500
14151 __cil_tmp33 = 0 + 84;
14152#line 1500
14153 __cil_tmp34 = (unsigned long )req;
14154#line 1500
14155 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
14156#line 1500
14157 *((unsigned int *)__cil_tmp35) = 0U;
14158 {
14159#line 1501
14160 __cil_tmp36 = (unsigned long )udc;
14161#line 1501
14162 __cil_tmp37 = __cil_tmp36 + 1444;
14163#line 1501
14164 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
14165#line 1501
14166 if (__cil_tmp38 != 0U) {
14167#line 1502
14168 __cil_tmp39 = 0 + 48;
14169#line 1502
14170 __cil_tmp40 = (unsigned long )req;
14171#line 1502
14172 __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
14173#line 1502
14174 *((void (**)(struct usb_ep * , struct usb_request * ))__cil_tmp41) = & prime_status_complete;
14175#line 1503
14176 __cil_tmp42 = (unsigned long )req;
14177#line 1503
14178 __cil_tmp43 = __cil_tmp42 + 136;
14179#line 1503
14180 __cil_tmp44 = (unsigned long )udc;
14181#line 1503
14182 __cil_tmp45 = __cil_tmp44 + 1444;
14183#line 1503
14184 *((unsigned int *)__cil_tmp43) = *((unsigned int *)__cil_tmp45);
14185#line 1504
14186 __cil_tmp46 = (unsigned long )udc;
14187#line 1504
14188 __cil_tmp47 = __cil_tmp46 + 1444;
14189#line 1504
14190 *((unsigned int *)__cil_tmp47) = 0U;
14191 } else {
14192#line 1506
14193 __cil_tmp48 = 0 + 48;
14194#line 1506
14195 __cil_tmp49 = (unsigned long )req;
14196#line 1506
14197 __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
14198#line 1506
14199 *((void (**)(struct usb_ep * , struct usb_request * ))__cil_tmp50) = (void (*)(struct usb_ep * ,
14200 struct usb_request * ))0;
14201 }
14202 }
14203#line 1507
14204 __cil_tmp51 = (unsigned long )req;
14205#line 1507
14206 __cil_tmp52 = __cil_tmp51 + 140;
14207#line 1507
14208 *((unsigned int *)__cil_tmp52) = 0U;
14209 {
14210#line 1509
14211 __cil_tmp53 = 0 + 16;
14212#line 1509
14213 __cil_tmp54 = (unsigned long )req;
14214#line 1509
14215 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
14216#line 1509
14217 __cil_tmp56 = *((dma_addr_t *)__cil_tmp55);
14218#line 1509
14219 if (__cil_tmp56 == 0xffffffffffffffffULL) {
14220 {
14221#line 1510
14222 __cil_tmp57 = (unsigned short *)ep;
14223#line 1510
14224 __cil_tmp58 = __cil_tmp57 + 61UL;
14225#line 1510
14226 __cil_tmp59 = *__cil_tmp58;
14227#line 1510
14228 __cil_tmp60 = (unsigned int )__cil_tmp59;
14229#line 1510
14230 if (__cil_tmp60 == 0U) {
14231#line 1510
14232 __cil_tmp61 = (unsigned long )ep;
14233#line 1510
14234 __cil_tmp62 = __cil_tmp61 + 64;
14235#line 1510
14236 __cil_tmp63 = *((struct mv_udc **)__cil_tmp62);
14237#line 1510
14238 __cil_tmp64 = (unsigned long )__cil_tmp63;
14239#line 1510
14240 __cil_tmp65 = __cil_tmp64 + 1436;
14241#line 1510
14242 __cil_tmp66 = *((unsigned int *)__cil_tmp65);
14243#line 1510
14244 tmp___1 = __cil_tmp66 != 0U;
14245 } else {
14246#line 1510
14247 __cil_tmp67 = (unsigned long )ep;
14248#line 1510
14249 __cil_tmp68 = __cil_tmp67 + 104;
14250#line 1510
14251 __cil_tmp69 = *((u32 *)__cil_tmp68);
14252#line 1510
14253 tmp___1 = __cil_tmp69 != 0U;
14254 }
14255 }
14256#line 1510
14257 if (tmp___1) {
14258#line 1510
14259 tmp___0 = 1;
14260 } else {
14261#line 1510
14262 tmp___0 = 2;
14263 }
14264 {
14265#line 1510
14266 __cil_tmp70 = 0 + 16;
14267#line 1510
14268 __cil_tmp71 = (unsigned long )req;
14269#line 1510
14270 __cil_tmp72 = __cil_tmp71 + __cil_tmp70;
14271#line 1510
14272 __cil_tmp73 = 0 + 56;
14273#line 1510
14274 __cil_tmp74 = (unsigned long )ep;
14275#line 1510
14276 __cil_tmp75 = __cil_tmp74 + 64;
14277#line 1510
14278 __cil_tmp76 = *((struct mv_udc **)__cil_tmp75);
14279#line 1510
14280 __cil_tmp77 = (unsigned long )__cil_tmp76;
14281#line 1510
14282 __cil_tmp78 = __cil_tmp77 + __cil_tmp73;
14283#line 1510
14284 __cil_tmp79 = *((struct device **)__cil_tmp78);
14285#line 1510
14286 __cil_tmp80 = *((void **)req);
14287#line 1510
14288 __cil_tmp81 = 0 + 8;
14289#line 1510
14290 __cil_tmp82 = (unsigned long )req;
14291#line 1510
14292 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
14293#line 1510
14294 __cil_tmp84 = *((unsigned int *)__cil_tmp83);
14295#line 1510
14296 __cil_tmp85 = (size_t )__cil_tmp84;
14297#line 1510
14298 __cil_tmp86 = (enum dma_data_direction )tmp___0;
14299#line 1510
14300 __cil_tmp87 = (struct dma_attrs *)0;
14301#line 1510
14302 *((dma_addr_t *)__cil_tmp72) = dma_map_single_attrs(__cil_tmp79, __cil_tmp80,
14303 __cil_tmp85, __cil_tmp86,
14304 __cil_tmp87);
14305#line 1513
14306 __cil_tmp88 = (unsigned long )req;
14307#line 1513
14308 __cil_tmp89 = __cil_tmp88 + 144;
14309#line 1513
14310 *((unsigned char *)__cil_tmp89) = (unsigned char)1;
14311 }
14312 } else {
14313
14314 }
14315 }
14316 {
14317#line 1517
14318 tmp___2 = req_to_dtd(req);
14319 }
14320#line 1517
14321 if (tmp___2 == 0) {
14322 {
14323#line 1518
14324 retval = queue_dtd(ep, req);
14325 }
14326 } else {
14327#line 1520
14328 retval = -12;
14329#line 1521
14330 goto out;
14331 }
14332#line 1524
14333 if (retval != 0) {
14334 {
14335#line 1525
14336 __cil_tmp90 = (unsigned long )udc;
14337#line 1525
14338 __cil_tmp91 = __cil_tmp90 + 1296;
14339#line 1525
14340 __cil_tmp92 = *((struct platform_device **)__cil_tmp91);
14341#line 1525
14342 __cil_tmp93 = (unsigned long )__cil_tmp92;
14343#line 1525
14344 __cil_tmp94 = __cil_tmp93 + 16;
14345#line 1525
14346 __cil_tmp95 = (struct device *)__cil_tmp94;
14347#line 1525
14348 __cil_tmp96 = (struct device *)__cil_tmp95;
14349#line 1525
14350 dev_err(__cil_tmp96, "response error on GET_STATUS request\n");
14351 }
14352#line 1526
14353 goto out;
14354 } else {
14355
14356 }
14357 {
14358#line 1529
14359 __cil_tmp97 = (unsigned long )req;
14360#line 1529
14361 __cil_tmp98 = __cil_tmp97 + 120;
14362#line 1529
14363 __cil_tmp99 = (struct list_head *)__cil_tmp98;
14364#line 1529
14365 __cil_tmp100 = (unsigned long )ep;
14366#line 1529
14367 __cil_tmp101 = __cil_tmp100 + 72;
14368#line 1529
14369 __cil_tmp102 = (struct list_head *)__cil_tmp101;
14370#line 1529
14371 list_add_tail(__cil_tmp99, __cil_tmp102);
14372 }
14373#line 1531
14374 return (0);
14375 out: ;
14376#line 1533
14377 return (retval);
14378}
14379}
14380#line 1536 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
14381static void mv_udc_testmode(struct mv_udc *udc , u16 index )
14382{ int tmp ;
14383 unsigned int __cil_tmp4 ;
14384 unsigned long __cil_tmp5 ;
14385 unsigned long __cil_tmp6 ;
14386 u8 __cil_tmp7 ;
14387 u16 __cil_tmp8 ;
14388 bool __cil_tmp9 ;
14389 unsigned long __cil_tmp10 ;
14390 unsigned long __cil_tmp11 ;
14391 struct platform_device *__cil_tmp12 ;
14392 unsigned long __cil_tmp13 ;
14393 unsigned long __cil_tmp14 ;
14394 struct device *__cil_tmp15 ;
14395 struct device *__cil_tmp16 ;
14396 int __cil_tmp17 ;
14397
14398 {
14399 {
14400#line 1538
14401 __cil_tmp4 = (unsigned int )index;
14402#line 1538
14403 if (__cil_tmp4 <= 5U) {
14404 {
14405#line 1539
14406 __cil_tmp5 = (unsigned long )udc;
14407#line 1539
14408 __cil_tmp6 = __cil_tmp5 + 1444;
14409#line 1539
14410 *((unsigned int *)__cil_tmp6) = (unsigned int )index;
14411#line 1540
14412 __cil_tmp7 = (u8 )1;
14413#line 1540
14414 __cil_tmp8 = (u16 )0;
14415#line 1540
14416 __cil_tmp9 = (bool )1;
14417#line 1540
14418 tmp = udc_prime_status(udc, __cil_tmp7, __cil_tmp8, __cil_tmp9);
14419 }
14420#line 1540
14421 if (tmp != 0) {
14422 {
14423#line 1541
14424 ep0_stall(udc);
14425 }
14426 } else {
14427
14428 }
14429 } else {
14430 {
14431#line 1543
14432 __cil_tmp10 = (unsigned long )udc;
14433#line 1543
14434 __cil_tmp11 = __cil_tmp10 + 1296;
14435#line 1543
14436 __cil_tmp12 = *((struct platform_device **)__cil_tmp11);
14437#line 1543
14438 __cil_tmp13 = (unsigned long )__cil_tmp12;
14439#line 1543
14440 __cil_tmp14 = __cil_tmp13 + 16;
14441#line 1543
14442 __cil_tmp15 = (struct device *)__cil_tmp14;
14443#line 1543
14444 __cil_tmp16 = (struct device *)__cil_tmp15;
14445#line 1543
14446 __cil_tmp17 = (int )index;
14447#line 1543
14448 dev_err(__cil_tmp16, "This test mode(%d) is not supported\n", __cil_tmp17);
14449 }
14450 }
14451 }
14452#line 1545
14453 return;
14454}
14455}
14456#line 1547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
14457static void ch9setaddress(struct mv_udc *udc , struct usb_ctrlrequest *setup )
14458{ int tmp ;
14459 unsigned long __cil_tmp4 ;
14460 unsigned long __cil_tmp5 ;
14461 unsigned long __cil_tmp6 ;
14462 unsigned long __cil_tmp7 ;
14463 __le16 __cil_tmp8 ;
14464 unsigned char __cil_tmp9 ;
14465 unsigned long __cil_tmp10 ;
14466 unsigned long __cil_tmp11 ;
14467 u8 __cil_tmp12 ;
14468 u16 __cil_tmp13 ;
14469 bool __cil_tmp14 ;
14470
14471 {
14472 {
14473#line 1549
14474 __cil_tmp4 = (unsigned long )udc;
14475#line 1549
14476 __cil_tmp5 = __cil_tmp4 + 1440;
14477#line 1549
14478 __cil_tmp6 = (unsigned long )setup;
14479#line 1549
14480 __cil_tmp7 = __cil_tmp6 + 2;
14481#line 1549
14482 __cil_tmp8 = *((__le16 *)__cil_tmp7);
14483#line 1549
14484 __cil_tmp9 = (unsigned char )__cil_tmp8;
14485#line 1549
14486 *((unsigned int *)__cil_tmp5) = (unsigned int )__cil_tmp9;
14487#line 1552
14488 __cil_tmp10 = (unsigned long )udc;
14489#line 1552
14490 __cil_tmp11 = __cil_tmp10 + 1428;
14491#line 1552
14492 *((unsigned int *)__cil_tmp11) = 6U;
14493#line 1554
14494 __cil_tmp12 = (u8 )1;
14495#line 1554
14496 __cil_tmp13 = (u16 )0;
14497#line 1554
14498 __cil_tmp14 = (bool )1;
14499#line 1554
14500 tmp = udc_prime_status(udc, __cil_tmp12, __cil_tmp13, __cil_tmp14);
14501 }
14502#line 1554
14503 if (tmp != 0) {
14504 {
14505#line 1555
14506 ep0_stall(udc);
14507 }
14508 } else {
14509
14510 }
14511#line 1556
14512 return;
14513}
14514}
14515#line 1558 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
14516static void ch9getstatus(struct mv_udc *udc , u8 ep_num , struct usb_ctrlrequest *setup )
14517{ u16 status ;
14518 int retval ;
14519 u8 ep_num___0 ;
14520 u8 direction ;
14521 int tmp ;
14522 __u8 __cil_tmp9 ;
14523 int __cil_tmp10 ;
14524 int __cil_tmp11 ;
14525 __u8 __cil_tmp12 ;
14526 int __cil_tmp13 ;
14527 int __cil_tmp14 ;
14528 short __cil_tmp15 ;
14529 int __cil_tmp16 ;
14530 unsigned char __cil_tmp17 ;
14531 int __cil_tmp18 ;
14532 int __cil_tmp19 ;
14533 short __cil_tmp20 ;
14534 int __cil_tmp21 ;
14535 int __cil_tmp22 ;
14536 __u8 __cil_tmp23 ;
14537 int __cil_tmp24 ;
14538 int __cil_tmp25 ;
14539 __u8 __cil_tmp26 ;
14540 int __cil_tmp27 ;
14541 int __cil_tmp28 ;
14542 unsigned long __cil_tmp29 ;
14543 unsigned long __cil_tmp30 ;
14544 __le16 __cil_tmp31 ;
14545 u8 __cil_tmp32 ;
14546 unsigned int __cil_tmp33 ;
14547 unsigned int __cil_tmp34 ;
14548 unsigned long __cil_tmp35 ;
14549 unsigned long __cil_tmp36 ;
14550 __le16 __cil_tmp37 ;
14551 int __cil_tmp38 ;
14552 int __cil_tmp39 ;
14553 int __cil_tmp40 ;
14554 int __cil_tmp41 ;
14555 u8 __cil_tmp42 ;
14556 int __cil_tmp43 ;
14557 u8 __cil_tmp44 ;
14558 u8 __cil_tmp45 ;
14559 int __cil_tmp46 ;
14560 u16 __cil_tmp47 ;
14561 bool __cil_tmp48 ;
14562 unsigned long __cil_tmp49 ;
14563 unsigned long __cil_tmp50 ;
14564
14565 {
14566#line 1561
14567 status = (u16 )0U;
14568 {
14569#line 1564
14570 __cil_tmp9 = *((__u8 *)setup);
14571#line 1564
14572 __cil_tmp10 = (int )__cil_tmp9;
14573#line 1564
14574 __cil_tmp11 = __cil_tmp10 & 224;
14575#line 1564
14576 if (__cil_tmp11 != 128) {
14577#line 1566
14578 return;
14579 } else {
14580
14581 }
14582 }
14583 {
14584#line 1568
14585 __cil_tmp12 = *((__u8 *)setup);
14586#line 1568
14587 __cil_tmp13 = (int )__cil_tmp12;
14588#line 1568
14589 __cil_tmp14 = __cil_tmp13 & 31;
14590#line 1568
14591 if (__cil_tmp14 == 0) {
14592#line 1569
14593 status = (u16 )1U;
14594#line 1570
14595 __cil_tmp15 = (short )status;
14596#line 1570
14597 __cil_tmp16 = (int )__cil_tmp15;
14598#line 1570
14599 __cil_tmp17 = udc->remote_wakeup;
14600#line 1570
14601 __cil_tmp18 = (int )__cil_tmp17;
14602#line 1570
14603 __cil_tmp19 = __cil_tmp18 << 1;
14604#line 1570
14605 __cil_tmp20 = (short )__cil_tmp19;
14606#line 1570
14607 __cil_tmp21 = (int )__cil_tmp20;
14608#line 1570
14609 __cil_tmp22 = __cil_tmp21 | __cil_tmp16;
14610#line 1570
14611 status = (u16 )__cil_tmp22;
14612 } else {
14613 {
14614#line 1571
14615 __cil_tmp23 = *((__u8 *)setup);
14616#line 1571
14617 __cil_tmp24 = (int )__cil_tmp23;
14618#line 1571
14619 __cil_tmp25 = __cil_tmp24 & 31;
14620#line 1571
14621 if (__cil_tmp25 == 1) {
14622#line 1574
14623 status = (u16 )0U;
14624 } else {
14625 {
14626#line 1575
14627 __cil_tmp26 = *((__u8 *)setup);
14628#line 1575
14629 __cil_tmp27 = (int )__cil_tmp26;
14630#line 1575
14631 __cil_tmp28 = __cil_tmp27 & 31;
14632#line 1575
14633 if (__cil_tmp28 == 2) {
14634 {
14635#line 1579
14636 __cil_tmp29 = (unsigned long )setup;
14637#line 1579
14638 __cil_tmp30 = __cil_tmp29 + 4;
14639#line 1579
14640 __cil_tmp31 = *((__le16 *)__cil_tmp30);
14641#line 1579
14642 __cil_tmp32 = (u8 )__cil_tmp31;
14643#line 1579
14644 __cil_tmp33 = (unsigned int )__cil_tmp32;
14645#line 1579
14646 __cil_tmp34 = __cil_tmp33 & 15U;
14647#line 1579
14648 ep_num___0 = (u8 )__cil_tmp34;
14649#line 1580
14650 __cil_tmp35 = (unsigned long )setup;
14651#line 1580
14652 __cil_tmp36 = __cil_tmp35 + 4;
14653#line 1580
14654 __cil_tmp37 = *((__le16 *)__cil_tmp36);
14655#line 1580
14656 __cil_tmp38 = (int )__cil_tmp37;
14657#line 1580
14658 __cil_tmp39 = __cil_tmp38 & 128;
14659#line 1580
14660 __cil_tmp40 = __cil_tmp39 != 0;
14661#line 1580
14662 direction = (u8 )__cil_tmp40;
14663#line 1582
14664 __cil_tmp41 = (int )ep_num___0;
14665#line 1582
14666 __cil_tmp42 = (u8 )__cil_tmp41;
14667#line 1582
14668 __cil_tmp43 = (int )direction;
14669#line 1582
14670 __cil_tmp44 = (u8 )__cil_tmp43;
14671#line 1582
14672 tmp = ep_is_stall(udc, __cil_tmp42, __cil_tmp44);
14673#line 1582
14674 status = (u16 )tmp;
14675 }
14676 } else {
14677
14678 }
14679 }
14680 }
14681 }
14682 }
14683 }
14684 {
14685#line 1586
14686 __cil_tmp45 = (u8 )1;
14687#line 1586
14688 __cil_tmp46 = (int )status;
14689#line 1586
14690 __cil_tmp47 = (u16 )__cil_tmp46;
14691#line 1586
14692 __cil_tmp48 = (bool )0;
14693#line 1586
14694 retval = udc_prime_status(udc, __cil_tmp45, __cil_tmp47, __cil_tmp48);
14695 }
14696#line 1587
14697 if (retval != 0) {
14698 {
14699#line 1588
14700 ep0_stall(udc);
14701 }
14702 } else {
14703#line 1590
14704 __cil_tmp49 = (unsigned long )udc;
14705#line 1590
14706 __cil_tmp50 = __cil_tmp49 + 1432;
14707#line 1590
14708 *((unsigned int *)__cil_tmp50) = 1U;
14709 }
14710#line 1591
14711 return;
14712}
14713}
14714#line 1593 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
14715static void ch9clearfeature(struct mv_udc *udc , struct usb_ctrlrequest *setup )
14716{ u8 ep_num ;
14717 u8 direction ;
14718 struct mv_ep *ep ;
14719 int tmp ;
14720 __u8 __cil_tmp7 ;
14721 int __cil_tmp8 ;
14722 int __cil_tmp9 ;
14723 unsigned long __cil_tmp10 ;
14724 unsigned long __cil_tmp11 ;
14725 __le16 __cil_tmp12 ;
14726 __u8 __cil_tmp13 ;
14727 int __cil_tmp14 ;
14728 int __cil_tmp15 ;
14729 unsigned long __cil_tmp16 ;
14730 unsigned long __cil_tmp17 ;
14731 __le16 __cil_tmp18 ;
14732 unsigned long __cil_tmp19 ;
14733 unsigned long __cil_tmp20 ;
14734 __le16 __cil_tmp21 ;
14735 u8 __cil_tmp22 ;
14736 unsigned int __cil_tmp23 ;
14737 unsigned int __cil_tmp24 ;
14738 unsigned long __cil_tmp25 ;
14739 unsigned long __cil_tmp26 ;
14740 __le16 __cil_tmp27 ;
14741 int __cil_tmp28 ;
14742 int __cil_tmp29 ;
14743 int __cil_tmp30 ;
14744 unsigned long __cil_tmp31 ;
14745 unsigned long __cil_tmp32 ;
14746 __le16 __cil_tmp33 ;
14747 unsigned int __cil_tmp34 ;
14748 unsigned long __cil_tmp35 ;
14749 unsigned long __cil_tmp36 ;
14750 __le16 __cil_tmp37 ;
14751 unsigned int __cil_tmp38 ;
14752 unsigned long __cil_tmp39 ;
14753 unsigned long __cil_tmp40 ;
14754 unsigned int __cil_tmp41 ;
14755 unsigned int __cil_tmp42 ;
14756 int __cil_tmp43 ;
14757 int __cil_tmp44 ;
14758 int __cil_tmp45 ;
14759 int __cil_tmp46 ;
14760 unsigned long __cil_tmp47 ;
14761 unsigned long __cil_tmp48 ;
14762 unsigned long __cil_tmp49 ;
14763 struct mv_ep *__cil_tmp50 ;
14764 unsigned char *__cil_tmp51 ;
14765 unsigned char *__cil_tmp52 ;
14766 unsigned char __cil_tmp53 ;
14767 unsigned int __cil_tmp54 ;
14768 unsigned long __cil_tmp55 ;
14769 unsigned long __cil_tmp56 ;
14770 spinlock_t *__cil_tmp57 ;
14771 int __cil_tmp58 ;
14772 u8 __cil_tmp59 ;
14773 int __cil_tmp60 ;
14774 u8 __cil_tmp61 ;
14775 unsigned long __cil_tmp62 ;
14776 unsigned long __cil_tmp63 ;
14777 spinlock_t *__cil_tmp64 ;
14778 u8 __cil_tmp65 ;
14779 u16 __cil_tmp66 ;
14780 bool __cil_tmp67 ;
14781
14782 {
14783 {
14784#line 1599
14785 __cil_tmp7 = *((__u8 *)setup);
14786#line 1599
14787 __cil_tmp8 = (int )__cil_tmp7;
14788#line 1599
14789 __cil_tmp9 = __cil_tmp8 & 127;
14790#line 1599
14791 if (__cil_tmp9 == 0) {
14792 {
14793#line 1601
14794 __cil_tmp10 = (unsigned long )setup;
14795#line 1601
14796 __cil_tmp11 = __cil_tmp10 + 2;
14797#line 1601
14798 __cil_tmp12 = *((__le16 *)__cil_tmp11);
14799#line 1602
14800 if ((int )__cil_tmp12 == 1) {
14801#line 1602
14802 goto case_1;
14803 } else {
14804 {
14805#line 1605
14806 goto switch_default;
14807#line 1601
14808 if (0) {
14809 case_1:
14810#line 1603
14811 udc->remote_wakeup = (unsigned char)0;
14812#line 1604
14813 goto ldv_25776;
14814 switch_default: ;
14815#line 1606
14816 goto out;
14817 } else {
14818 switch_break: ;
14819 }
14820 }
14821 }
14822 }
14823 ldv_25776: ;
14824 } else {
14825 {
14826#line 1608
14827 __cil_tmp13 = *((__u8 *)setup);
14828#line 1608
14829 __cil_tmp14 = (int )__cil_tmp13;
14830#line 1608
14831 __cil_tmp15 = __cil_tmp14 & 127;
14832#line 1608
14833 if (__cil_tmp15 == 2) {
14834 {
14835#line 1610
14836 __cil_tmp16 = (unsigned long )setup;
14837#line 1610
14838 __cil_tmp17 = __cil_tmp16 + 2;
14839#line 1610
14840 __cil_tmp18 = *((__le16 *)__cil_tmp17);
14841#line 1611
14842 if ((int )__cil_tmp18 == 0) {
14843#line 1611
14844 goto case_0;
14845 } else {
14846 {
14847#line 1625
14848 goto switch_default___0;
14849#line 1610
14850 if (0) {
14851 case_0:
14852#line 1612
14853 __cil_tmp19 = (unsigned long )setup;
14854#line 1612
14855 __cil_tmp20 = __cil_tmp19 + 4;
14856#line 1612
14857 __cil_tmp21 = *((__le16 *)__cil_tmp20);
14858#line 1612
14859 __cil_tmp22 = (u8 )__cil_tmp21;
14860#line 1612
14861 __cil_tmp23 = (unsigned int )__cil_tmp22;
14862#line 1612
14863 __cil_tmp24 = __cil_tmp23 & 15U;
14864#line 1612
14865 ep_num = (u8 )__cil_tmp24;
14866#line 1613
14867 __cil_tmp25 = (unsigned long )setup;
14868#line 1613
14869 __cil_tmp26 = __cil_tmp25 + 4;
14870#line 1613
14871 __cil_tmp27 = *((__le16 *)__cil_tmp26);
14872#line 1613
14873 __cil_tmp28 = (int )__cil_tmp27;
14874#line 1613
14875 __cil_tmp29 = __cil_tmp28 & 128;
14876#line 1613
14877 __cil_tmp30 = __cil_tmp29 != 0;
14878#line 1613
14879 direction = (u8 )__cil_tmp30;
14880 {
14881#line 1615
14882 __cil_tmp31 = (unsigned long )setup;
14883#line 1615
14884 __cil_tmp32 = __cil_tmp31 + 2;
14885#line 1615
14886 __cil_tmp33 = *((__le16 *)__cil_tmp32);
14887#line 1615
14888 __cil_tmp34 = (unsigned int )__cil_tmp33;
14889#line 1615
14890 if (__cil_tmp34 != 0U) {
14891#line 1617
14892 goto out;
14893 } else {
14894 {
14895#line 1615
14896 __cil_tmp35 = (unsigned long )setup;
14897#line 1615
14898 __cil_tmp36 = __cil_tmp35 + 6;
14899#line 1615
14900 __cil_tmp37 = *((__le16 *)__cil_tmp36);
14901#line 1615
14902 __cil_tmp38 = (unsigned int )__cil_tmp37;
14903#line 1615
14904 if (__cil_tmp38 != 0U) {
14905#line 1617
14906 goto out;
14907 } else {
14908 {
14909#line 1615
14910 __cil_tmp39 = (unsigned long )udc;
14911#line 1615
14912 __cil_tmp40 = __cil_tmp39 + 1336;
14913#line 1615
14914 __cil_tmp41 = *((unsigned int *)__cil_tmp40);
14915#line 1615
14916 __cil_tmp42 = (unsigned int )ep_num;
14917#line 1615
14918 if (__cil_tmp42 > __cil_tmp41) {
14919#line 1617
14920 goto out;
14921 } else {
14922
14923 }
14924 }
14925 }
14926 }
14927 }
14928 }
14929#line 1618
14930 __cil_tmp43 = (int )direction;
14931#line 1618
14932 __cil_tmp44 = (int )ep_num;
14933#line 1618
14934 __cil_tmp45 = __cil_tmp44 * 2;
14935#line 1618
14936 __cil_tmp46 = __cil_tmp45 + __cil_tmp43;
14937#line 1618
14938 __cil_tmp47 = (unsigned long )__cil_tmp46;
14939#line 1618
14940 __cil_tmp48 = (unsigned long )udc;
14941#line 1618
14942 __cil_tmp49 = __cil_tmp48 + 1376;
14943#line 1618
14944 __cil_tmp50 = *((struct mv_ep **)__cil_tmp49);
14945#line 1618
14946 ep = __cil_tmp50 + __cil_tmp47;
14947 {
14948#line 1619
14949 __cil_tmp51 = (unsigned char *)ep;
14950#line 1619
14951 __cil_tmp52 = __cil_tmp51 + 122UL;
14952#line 1619
14953 __cil_tmp53 = *__cil_tmp52;
14954#line 1619
14955 __cil_tmp54 = (unsigned int )__cil_tmp53;
14956#line 1619
14957 if (__cil_tmp54 != 0U) {
14958#line 1620
14959 goto ldv_25780;
14960 } else {
14961
14962 }
14963 }
14964 {
14965#line 1621
14966 __cil_tmp55 = (unsigned long )udc;
14967#line 1621
14968 __cil_tmp56 = __cil_tmp55 + 1216;
14969#line 1621
14970 __cil_tmp57 = (spinlock_t *)__cil_tmp56;
14971#line 1621
14972 spin_unlock(__cil_tmp57);
14973#line 1622
14974 __cil_tmp58 = (int )ep_num;
14975#line 1622
14976 __cil_tmp59 = (u8 )__cil_tmp58;
14977#line 1622
14978 __cil_tmp60 = (int )direction;
14979#line 1622
14980 __cil_tmp61 = (u8 )__cil_tmp60;
14981#line 1622
14982 ep_set_stall(udc, __cil_tmp59, __cil_tmp61, 0);
14983#line 1623
14984 __cil_tmp62 = (unsigned long )udc;
14985#line 1623
14986 __cil_tmp63 = __cil_tmp62 + 1216;
14987#line 1623
14988 __cil_tmp64 = (spinlock_t *)__cil_tmp63;
14989#line 1623
14990 spin_lock(__cil_tmp64);
14991 }
14992#line 1624
14993 goto ldv_25780;
14994 switch_default___0: ;
14995#line 1626
14996 goto out;
14997 } else {
14998 switch_break___0: ;
14999 }
15000 }
15001 }
15002 }
15003 ldv_25780: ;
15004 } else {
15005#line 1629
15006 goto out;
15007 }
15008 }
15009 }
15010 }
15011 {
15012#line 1631
15013 __cil_tmp65 = (u8 )1;
15014#line 1631
15015 __cil_tmp66 = (u16 )0;
15016#line 1631
15017 __cil_tmp67 = (bool )1;
15018#line 1631
15019 tmp = udc_prime_status(udc, __cil_tmp65, __cil_tmp66, __cil_tmp67);
15020 }
15021#line 1631
15022 if (tmp != 0) {
15023 {
15024#line 1632
15025 ep0_stall(udc);
15026 }
15027 } else {
15028
15029 }
15030 out: ;
15031#line 1634
15032 return;
15033}
15034}
15035#line 1637 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
15036static void ch9setfeature(struct mv_udc *udc , struct usb_ctrlrequest *setup )
15037{ u8 ep_num ;
15038 u8 direction ;
15039 int tmp ;
15040 __u8 __cil_tmp6 ;
15041 int __cil_tmp7 ;
15042 int __cil_tmp8 ;
15043 unsigned long __cil_tmp9 ;
15044 unsigned long __cil_tmp10 ;
15045 __le16 __cil_tmp11 ;
15046 unsigned long __cil_tmp12 ;
15047 unsigned long __cil_tmp13 ;
15048 __le16 __cil_tmp14 ;
15049 int __cil_tmp15 ;
15050 int __cil_tmp16 ;
15051 unsigned long __cil_tmp17 ;
15052 unsigned long __cil_tmp18 ;
15053 unsigned long __cil_tmp19 ;
15054 enum usb_device_speed __cil_tmp20 ;
15055 unsigned int __cil_tmp21 ;
15056 unsigned long __cil_tmp22 ;
15057 unsigned long __cil_tmp23 ;
15058 unsigned int __cil_tmp24 ;
15059 unsigned long __cil_tmp25 ;
15060 unsigned long __cil_tmp26 ;
15061 unsigned int __cil_tmp27 ;
15062 unsigned long __cil_tmp28 ;
15063 unsigned long __cil_tmp29 ;
15064 unsigned int __cil_tmp30 ;
15065 unsigned long __cil_tmp31 ;
15066 unsigned long __cil_tmp32 ;
15067 __le16 __cil_tmp33 ;
15068 int __cil_tmp34 ;
15069 int __cil_tmp35 ;
15070 u16 __cil_tmp36 ;
15071 __u8 __cil_tmp37 ;
15072 int __cil_tmp38 ;
15073 int __cil_tmp39 ;
15074 unsigned long __cil_tmp40 ;
15075 unsigned long __cil_tmp41 ;
15076 __le16 __cil_tmp42 ;
15077 unsigned long __cil_tmp43 ;
15078 unsigned long __cil_tmp44 ;
15079 __le16 __cil_tmp45 ;
15080 u8 __cil_tmp46 ;
15081 unsigned int __cil_tmp47 ;
15082 unsigned int __cil_tmp48 ;
15083 unsigned long __cil_tmp49 ;
15084 unsigned long __cil_tmp50 ;
15085 __le16 __cil_tmp51 ;
15086 int __cil_tmp52 ;
15087 int __cil_tmp53 ;
15088 int __cil_tmp54 ;
15089 unsigned long __cil_tmp55 ;
15090 unsigned long __cil_tmp56 ;
15091 __le16 __cil_tmp57 ;
15092 unsigned int __cil_tmp58 ;
15093 unsigned long __cil_tmp59 ;
15094 unsigned long __cil_tmp60 ;
15095 __le16 __cil_tmp61 ;
15096 unsigned int __cil_tmp62 ;
15097 unsigned long __cil_tmp63 ;
15098 unsigned long __cil_tmp64 ;
15099 unsigned int __cil_tmp65 ;
15100 unsigned int __cil_tmp66 ;
15101 unsigned long __cil_tmp67 ;
15102 unsigned long __cil_tmp68 ;
15103 spinlock_t *__cil_tmp69 ;
15104 int __cil_tmp70 ;
15105 u8 __cil_tmp71 ;
15106 int __cil_tmp72 ;
15107 u8 __cil_tmp73 ;
15108 unsigned long __cil_tmp74 ;
15109 unsigned long __cil_tmp75 ;
15110 spinlock_t *__cil_tmp76 ;
15111 u8 __cil_tmp77 ;
15112 u16 __cil_tmp78 ;
15113 bool __cil_tmp79 ;
15114
15115 {
15116 {
15117#line 1642
15118 __cil_tmp6 = *((__u8 *)setup);
15119#line 1642
15120 __cil_tmp7 = (int )__cil_tmp6;
15121#line 1642
15122 __cil_tmp8 = __cil_tmp7 & 127;
15123#line 1642
15124 if (__cil_tmp8 == 0) {
15125 {
15126#line 1644
15127 __cil_tmp9 = (unsigned long )setup;
15128#line 1644
15129 __cil_tmp10 = __cil_tmp9 + 2;
15130#line 1644
15131 __cil_tmp11 = *((__le16 *)__cil_tmp10);
15132#line 1645
15133 if ((int )__cil_tmp11 == 1) {
15134#line 1645
15135 goto case_1;
15136 } else
15137#line 1648
15138 if ((int )__cil_tmp11 == 2) {
15139#line 1648
15140 goto case_2;
15141 } else {
15142 {
15143#line 1660
15144 goto switch_default;
15145#line 1644
15146 if (0) {
15147 case_1:
15148#line 1646
15149 udc->remote_wakeup = (unsigned char)1;
15150#line 1647
15151 goto ldv_25789;
15152 case_2: ;
15153 {
15154#line 1649
15155 __cil_tmp12 = (unsigned long )setup;
15156#line 1649
15157 __cil_tmp13 = __cil_tmp12 + 4;
15158#line 1649
15159 __cil_tmp14 = *((__le16 *)__cil_tmp13);
15160#line 1649
15161 __cil_tmp15 = (int )__cil_tmp14;
15162#line 1649
15163 __cil_tmp16 = __cil_tmp15 & 255;
15164#line 1649
15165 if (__cil_tmp16 != 0) {
15166 {
15167#line 1651
15168 ep0_stall(udc);
15169 }
15170 } else {
15171 {
15172#line 1649
15173 __cil_tmp17 = 0 + 32;
15174#line 1649
15175 __cil_tmp18 = (unsigned long )udc;
15176#line 1649
15177 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
15178#line 1649
15179 __cil_tmp20 = *((enum usb_device_speed *)__cil_tmp19);
15180#line 1649
15181 __cil_tmp21 = (unsigned int )__cil_tmp20;
15182#line 1649
15183 if (__cil_tmp21 != 3U) {
15184 {
15185#line 1651
15186 ep0_stall(udc);
15187 }
15188 } else {
15189
15190 }
15191 }
15192 }
15193 }
15194 {
15195#line 1653
15196 __cil_tmp22 = (unsigned long )udc;
15197#line 1653
15198 __cil_tmp23 = __cil_tmp22 + 1428;
15199#line 1653
15200 __cil_tmp24 = *((unsigned int *)__cil_tmp23);
15201#line 1653
15202 if (__cil_tmp24 != 7U) {
15203 {
15204#line 1653
15205 __cil_tmp25 = (unsigned long )udc;
15206#line 1653
15207 __cil_tmp26 = __cil_tmp25 + 1428;
15208#line 1653
15209 __cil_tmp27 = *((unsigned int *)__cil_tmp26);
15210#line 1653
15211 if (__cil_tmp27 != 6U) {
15212 {
15213#line 1653
15214 __cil_tmp28 = (unsigned long )udc;
15215#line 1653
15216 __cil_tmp29 = __cil_tmp28 + 1428;
15217#line 1653
15218 __cil_tmp30 = *((unsigned int *)__cil_tmp29);
15219#line 1653
15220 if (__cil_tmp30 != 5U) {
15221 {
15222#line 1656
15223 ep0_stall(udc);
15224 }
15225 } else {
15226
15227 }
15228 }
15229 } else {
15230
15231 }
15232 }
15233 } else {
15234
15235 }
15236 }
15237 {
15238#line 1658
15239 __cil_tmp31 = (unsigned long )setup;
15240#line 1658
15241 __cil_tmp32 = __cil_tmp31 + 4;
15242#line 1658
15243 __cil_tmp33 = *((__le16 *)__cil_tmp32);
15244#line 1658
15245 __cil_tmp34 = (int )__cil_tmp33;
15246#line 1658
15247 __cil_tmp35 = __cil_tmp34 >> 8;
15248#line 1658
15249 __cil_tmp36 = (u16 )__cil_tmp35;
15250#line 1658
15251 mv_udc_testmode(udc, __cil_tmp36);
15252 }
15253#line 1659
15254 goto out;
15255 switch_default: ;
15256#line 1661
15257 goto out;
15258 } else {
15259 switch_break: ;
15260 }
15261 }
15262 }
15263 }
15264 ldv_25789: ;
15265 } else {
15266 {
15267#line 1663
15268 __cil_tmp37 = *((__u8 *)setup);
15269#line 1663
15270 __cil_tmp38 = (int )__cil_tmp37;
15271#line 1663
15272 __cil_tmp39 = __cil_tmp38 & 127;
15273#line 1663
15274 if (__cil_tmp39 == 2) {
15275 {
15276#line 1665
15277 __cil_tmp40 = (unsigned long )setup;
15278#line 1665
15279 __cil_tmp41 = __cil_tmp40 + 2;
15280#line 1665
15281 __cil_tmp42 = *((__le16 *)__cil_tmp41);
15282#line 1666
15283 if ((int )__cil_tmp42 == 0) {
15284#line 1666
15285 goto case_0;
15286 } else {
15287 {
15288#line 1677
15289 goto switch_default___0;
15290#line 1665
15291 if (0) {
15292 case_0:
15293#line 1667
15294 __cil_tmp43 = (unsigned long )setup;
15295#line 1667
15296 __cil_tmp44 = __cil_tmp43 + 4;
15297#line 1667
15298 __cil_tmp45 = *((__le16 *)__cil_tmp44);
15299#line 1667
15300 __cil_tmp46 = (u8 )__cil_tmp45;
15301#line 1667
15302 __cil_tmp47 = (unsigned int )__cil_tmp46;
15303#line 1667
15304 __cil_tmp48 = __cil_tmp47 & 15U;
15305#line 1667
15306 ep_num = (u8 )__cil_tmp48;
15307#line 1668
15308 __cil_tmp49 = (unsigned long )setup;
15309#line 1668
15310 __cil_tmp50 = __cil_tmp49 + 4;
15311#line 1668
15312 __cil_tmp51 = *((__le16 *)__cil_tmp50);
15313#line 1668
15314 __cil_tmp52 = (int )__cil_tmp51;
15315#line 1668
15316 __cil_tmp53 = __cil_tmp52 & 128;
15317#line 1668
15318 __cil_tmp54 = __cil_tmp53 != 0;
15319#line 1668
15320 direction = (u8 )__cil_tmp54;
15321 {
15322#line 1670
15323 __cil_tmp55 = (unsigned long )setup;
15324#line 1670
15325 __cil_tmp56 = __cil_tmp55 + 2;
15326#line 1670
15327 __cil_tmp57 = *((__le16 *)__cil_tmp56);
15328#line 1670
15329 __cil_tmp58 = (unsigned int )__cil_tmp57;
15330#line 1670
15331 if (__cil_tmp58 != 0U) {
15332#line 1672
15333 goto out;
15334 } else {
15335 {
15336#line 1670
15337 __cil_tmp59 = (unsigned long )setup;
15338#line 1670
15339 __cil_tmp60 = __cil_tmp59 + 6;
15340#line 1670
15341 __cil_tmp61 = *((__le16 *)__cil_tmp60);
15342#line 1670
15343 __cil_tmp62 = (unsigned int )__cil_tmp61;
15344#line 1670
15345 if (__cil_tmp62 != 0U) {
15346#line 1672
15347 goto out;
15348 } else {
15349 {
15350#line 1670
15351 __cil_tmp63 = (unsigned long )udc;
15352#line 1670
15353 __cil_tmp64 = __cil_tmp63 + 1336;
15354#line 1670
15355 __cil_tmp65 = *((unsigned int *)__cil_tmp64);
15356#line 1670
15357 __cil_tmp66 = (unsigned int )ep_num;
15358#line 1670
15359 if (__cil_tmp66 > __cil_tmp65) {
15360#line 1672
15361 goto out;
15362 } else {
15363
15364 }
15365 }
15366 }
15367 }
15368 }
15369 }
15370 {
15371#line 1673
15372 __cil_tmp67 = (unsigned long )udc;
15373#line 1673
15374 __cil_tmp68 = __cil_tmp67 + 1216;
15375#line 1673
15376 __cil_tmp69 = (spinlock_t *)__cil_tmp68;
15377#line 1673
15378 spin_unlock(__cil_tmp69);
15379#line 1674
15380 __cil_tmp70 = (int )ep_num;
15381#line 1674
15382 __cil_tmp71 = (u8 )__cil_tmp70;
15383#line 1674
15384 __cil_tmp72 = (int )direction;
15385#line 1674
15386 __cil_tmp73 = (u8 )__cil_tmp72;
15387#line 1674
15388 ep_set_stall(udc, __cil_tmp71, __cil_tmp73, 1);
15389#line 1675
15390 __cil_tmp74 = (unsigned long )udc;
15391#line 1675
15392 __cil_tmp75 = __cil_tmp74 + 1216;
15393#line 1675
15394 __cil_tmp76 = (spinlock_t *)__cil_tmp75;
15395#line 1675
15396 spin_lock(__cil_tmp76);
15397 }
15398#line 1676
15399 goto ldv_25794;
15400 switch_default___0: ;
15401#line 1678
15402 goto out;
15403 } else {
15404 switch_break___0: ;
15405 }
15406 }
15407 }
15408 }
15409 ldv_25794: ;
15410 } else {
15411#line 1681
15412 goto out;
15413 }
15414 }
15415 }
15416 }
15417 {
15418#line 1683
15419 __cil_tmp77 = (u8 )1;
15420#line 1683
15421 __cil_tmp78 = (u16 )0;
15422#line 1683
15423 __cil_tmp79 = (bool )1;
15424#line 1683
15425 tmp = udc_prime_status(udc, __cil_tmp77, __cil_tmp78, __cil_tmp79);
15426 }
15427#line 1683
15428 if (tmp != 0) {
15429 {
15430#line 1684
15431 ep0_stall(udc);
15432 }
15433 } else {
15434
15435 }
15436 out: ;
15437#line 1686
15438 return;
15439}
15440}
15441#line 1689 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
15442static void handle_setup_packet(struct mv_udc *udc , u8 ep_num , struct usb_ctrlrequest *setup )
15443{ bool delegate ;
15444 struct _ddebug descriptor ;
15445 long tmp ;
15446 int tmp___0 ;
15447 int tmp___1 ;
15448 int __cil_tmp9 ;
15449 int __cil_tmp10 ;
15450 unsigned long __cil_tmp11 ;
15451 unsigned long __cil_tmp12 ;
15452 unsigned long __cil_tmp13 ;
15453 struct mv_ep *__cil_tmp14 ;
15454 struct mv_ep *__cil_tmp15 ;
15455 struct _ddebug *__cil_tmp16 ;
15456 unsigned long __cil_tmp17 ;
15457 unsigned long __cil_tmp18 ;
15458 unsigned long __cil_tmp19 ;
15459 unsigned long __cil_tmp20 ;
15460 unsigned long __cil_tmp21 ;
15461 unsigned long __cil_tmp22 ;
15462 unsigned char __cil_tmp23 ;
15463 long __cil_tmp24 ;
15464 long __cil_tmp25 ;
15465 unsigned long __cil_tmp26 ;
15466 unsigned long __cil_tmp27 ;
15467 struct platform_device *__cil_tmp28 ;
15468 unsigned long __cil_tmp29 ;
15469 unsigned long __cil_tmp30 ;
15470 struct device *__cil_tmp31 ;
15471 struct device *__cil_tmp32 ;
15472 __u8 __cil_tmp33 ;
15473 int __cil_tmp34 ;
15474 unsigned long __cil_tmp35 ;
15475 unsigned long __cil_tmp36 ;
15476 __u8 __cil_tmp37 ;
15477 int __cil_tmp38 ;
15478 unsigned long __cil_tmp39 ;
15479 unsigned long __cil_tmp40 ;
15480 __le16 __cil_tmp41 ;
15481 int __cil_tmp42 ;
15482 unsigned long __cil_tmp43 ;
15483 unsigned long __cil_tmp44 ;
15484 __le16 __cil_tmp45 ;
15485 int __cil_tmp46 ;
15486 unsigned long __cil_tmp47 ;
15487 unsigned long __cil_tmp48 ;
15488 __le16 __cil_tmp49 ;
15489 int __cil_tmp50 ;
15490 __u8 __cil_tmp51 ;
15491 int __cil_tmp52 ;
15492 int __cil_tmp53 ;
15493 unsigned long __cil_tmp54 ;
15494 unsigned long __cil_tmp55 ;
15495 __u8 __cil_tmp56 ;
15496 int __cil_tmp57 ;
15497 u8 __cil_tmp58 ;
15498 unsigned long __cil_tmp59 ;
15499 unsigned long __cil_tmp60 ;
15500 __le16 __cil_tmp61 ;
15501 unsigned int __cil_tmp62 ;
15502 unsigned long __cil_tmp63 ;
15503 unsigned long __cil_tmp64 ;
15504 __u8 __cil_tmp65 ;
15505 signed char __cil_tmp66 ;
15506 int __cil_tmp67 ;
15507 int __cil_tmp68 ;
15508 unsigned long __cil_tmp69 ;
15509 unsigned long __cil_tmp70 ;
15510 spinlock_t *__cil_tmp71 ;
15511 unsigned long __cil_tmp72 ;
15512 unsigned long __cil_tmp73 ;
15513 struct usb_gadget_driver *__cil_tmp74 ;
15514 unsigned long __cil_tmp75 ;
15515 unsigned long __cil_tmp76 ;
15516 int (*__cil_tmp77)(struct usb_gadget * , struct usb_ctrlrequest * ) ;
15517 struct usb_gadget *__cil_tmp78 ;
15518 unsigned long __cil_tmp79 ;
15519 unsigned long __cil_tmp80 ;
15520 struct usb_ctrlrequest *__cil_tmp81 ;
15521 struct usb_ctrlrequest *__cil_tmp82 ;
15522 unsigned long __cil_tmp83 ;
15523 unsigned long __cil_tmp84 ;
15524 spinlock_t *__cil_tmp85 ;
15525 __u8 __cil_tmp86 ;
15526 signed char __cil_tmp87 ;
15527 int __cil_tmp88 ;
15528 unsigned long __cil_tmp89 ;
15529 unsigned long __cil_tmp90 ;
15530 unsigned long __cil_tmp91 ;
15531 unsigned long __cil_tmp92 ;
15532 unsigned long __cil_tmp93 ;
15533 unsigned long __cil_tmp94 ;
15534 unsigned long __cil_tmp95 ;
15535 unsigned long __cil_tmp96 ;
15536 spinlock_t *__cil_tmp97 ;
15537 unsigned long __cil_tmp98 ;
15538 unsigned long __cil_tmp99 ;
15539 struct usb_gadget_driver *__cil_tmp100 ;
15540 unsigned long __cil_tmp101 ;
15541 unsigned long __cil_tmp102 ;
15542 int (*__cil_tmp103)(struct usb_gadget * , struct usb_ctrlrequest * ) ;
15543 struct usb_gadget *__cil_tmp104 ;
15544 unsigned long __cil_tmp105 ;
15545 unsigned long __cil_tmp106 ;
15546 struct usb_ctrlrequest *__cil_tmp107 ;
15547 struct usb_ctrlrequest *__cil_tmp108 ;
15548 unsigned long __cil_tmp109 ;
15549 unsigned long __cil_tmp110 ;
15550 spinlock_t *__cil_tmp111 ;
15551 unsigned long __cil_tmp112 ;
15552 unsigned long __cil_tmp113 ;
15553
15554 {
15555 {
15556#line 1692
15557 delegate = (bool )0;
15558#line 1694
15559 __cil_tmp9 = (int )ep_num;
15560#line 1694
15561 __cil_tmp10 = __cil_tmp9 * 2;
15562#line 1694
15563 __cil_tmp11 = (unsigned long )__cil_tmp10;
15564#line 1694
15565 __cil_tmp12 = (unsigned long )udc;
15566#line 1694
15567 __cil_tmp13 = __cil_tmp12 + 1376;
15568#line 1694
15569 __cil_tmp14 = *((struct mv_ep **)__cil_tmp13);
15570#line 1694
15571 __cil_tmp15 = __cil_tmp14 + __cil_tmp11;
15572#line 1694
15573 nuke(__cil_tmp15, -108);
15574#line 1696
15575 __cil_tmp16 = & descriptor;
15576#line 1696
15577 *((char **)__cil_tmp16) = "mv_udc";
15578#line 1696
15579 __cil_tmp17 = (unsigned long )(& descriptor) + 8;
15580#line 1696
15581 *((char **)__cil_tmp17) = "handle_setup_packet";
15582#line 1696
15583 __cil_tmp18 = (unsigned long )(& descriptor) + 16;
15584#line 1696
15585 *((char **)__cil_tmp18) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p";
15586#line 1696
15587 __cil_tmp19 = (unsigned long )(& descriptor) + 24;
15588#line 1696
15589 *((char **)__cil_tmp19) = "SETUP %02x.%02x v%04x i%04x l%04x\n";
15590#line 1696
15591 __cil_tmp20 = (unsigned long )(& descriptor) + 32;
15592#line 1696
15593 *((unsigned int *)__cil_tmp20) = 1698U;
15594#line 1696
15595 __cil_tmp21 = (unsigned long )(& descriptor) + 35;
15596#line 1696
15597 *((unsigned char *)__cil_tmp21) = (unsigned char)1;
15598#line 1696
15599 __cil_tmp22 = (unsigned long )(& descriptor) + 35;
15600#line 1696
15601 __cil_tmp23 = *((unsigned char *)__cil_tmp22);
15602#line 1696
15603 __cil_tmp24 = (long )__cil_tmp23;
15604#line 1696
15605 __cil_tmp25 = __cil_tmp24 & 1L;
15606#line 1696
15607 tmp = __builtin_expect(__cil_tmp25, 0L);
15608 }
15609#line 1696
15610 if (tmp != 0L) {
15611 {
15612#line 1696
15613 __cil_tmp26 = (unsigned long )udc;
15614#line 1696
15615 __cil_tmp27 = __cil_tmp26 + 1296;
15616#line 1696
15617 __cil_tmp28 = *((struct platform_device **)__cil_tmp27);
15618#line 1696
15619 __cil_tmp29 = (unsigned long )__cil_tmp28;
15620#line 1696
15621 __cil_tmp30 = __cil_tmp29 + 16;
15622#line 1696
15623 __cil_tmp31 = (struct device *)__cil_tmp30;
15624#line 1696
15625 __cil_tmp32 = (struct device *)__cil_tmp31;
15626#line 1696
15627 __cil_tmp33 = *((__u8 *)setup);
15628#line 1696
15629 __cil_tmp34 = (int )__cil_tmp33;
15630#line 1696
15631 __cil_tmp35 = (unsigned long )setup;
15632#line 1696
15633 __cil_tmp36 = __cil_tmp35 + 1;
15634#line 1696
15635 __cil_tmp37 = *((__u8 *)__cil_tmp36);
15636#line 1696
15637 __cil_tmp38 = (int )__cil_tmp37;
15638#line 1696
15639 __cil_tmp39 = (unsigned long )setup;
15640#line 1696
15641 __cil_tmp40 = __cil_tmp39 + 2;
15642#line 1696
15643 __cil_tmp41 = *((__le16 *)__cil_tmp40);
15644#line 1696
15645 __cil_tmp42 = (int )__cil_tmp41;
15646#line 1696
15647 __cil_tmp43 = (unsigned long )setup;
15648#line 1696
15649 __cil_tmp44 = __cil_tmp43 + 4;
15650#line 1696
15651 __cil_tmp45 = *((__le16 *)__cil_tmp44);
15652#line 1696
15653 __cil_tmp46 = (int )__cil_tmp45;
15654#line 1696
15655 __cil_tmp47 = (unsigned long )setup;
15656#line 1696
15657 __cil_tmp48 = __cil_tmp47 + 6;
15658#line 1696
15659 __cil_tmp49 = *((__le16 *)__cil_tmp48);
15660#line 1696
15661 __cil_tmp50 = (int )__cil_tmp49;
15662#line 1696
15663 __dynamic_dev_dbg(& descriptor, __cil_tmp32, "SETUP %02x.%02x v%04x i%04x l%04x\n",
15664 __cil_tmp34, __cil_tmp38, __cil_tmp42, __cil_tmp46, __cil_tmp50);
15665 }
15666 } else {
15667
15668 }
15669 {
15670#line 1700
15671 __cil_tmp51 = *((__u8 *)setup);
15672#line 1700
15673 __cil_tmp52 = (int )__cil_tmp51;
15674#line 1700
15675 __cil_tmp53 = __cil_tmp52 & 96;
15676#line 1700
15677 if (__cil_tmp53 == 0) {
15678 {
15679#line 1701
15680 __cil_tmp54 = (unsigned long )setup;
15681#line 1701
15682 __cil_tmp55 = __cil_tmp54 + 1;
15683#line 1701
15684 __cil_tmp56 = *((__u8 *)__cil_tmp55);
15685#line 1702
15686 if ((int )__cil_tmp56 == 0) {
15687#line 1702
15688 goto case_0;
15689 } else
15690#line 1706
15691 if ((int )__cil_tmp56 == 5) {
15692#line 1706
15693 goto case_5;
15694 } else
15695#line 1710
15696 if ((int )__cil_tmp56 == 1) {
15697#line 1710
15698 goto case_1;
15699 } else
15700#line 1714
15701 if ((int )__cil_tmp56 == 3) {
15702#line 1714
15703 goto case_3;
15704 } else {
15705 {
15706#line 1718
15707 goto switch_default;
15708#line 1701
15709 if (0) {
15710 case_0:
15711 {
15712#line 1703
15713 __cil_tmp57 = (int )ep_num;
15714#line 1703
15715 __cil_tmp58 = (u8 )__cil_tmp57;
15716#line 1703
15717 ch9getstatus(udc, __cil_tmp58, setup);
15718 }
15719#line 1704
15720 goto ldv_25805;
15721 case_5:
15722 {
15723#line 1707
15724 ch9setaddress(udc, setup);
15725 }
15726#line 1708
15727 goto ldv_25805;
15728 case_1:
15729 {
15730#line 1711
15731 ch9clearfeature(udc, setup);
15732 }
15733#line 1712
15734 goto ldv_25805;
15735 case_3:
15736 {
15737#line 1715
15738 ch9setfeature(udc, setup);
15739 }
15740#line 1716
15741 goto ldv_25805;
15742 switch_default:
15743#line 1719
15744 delegate = (bool )1;
15745 } else {
15746 switch_break: ;
15747 }
15748 }
15749 }
15750 }
15751 ldv_25805: ;
15752 } else {
15753#line 1722
15754 delegate = (bool )1;
15755 }
15756 }
15757#line 1725
15758 if ((int )delegate) {
15759 {
15760#line 1727
15761 __cil_tmp59 = (unsigned long )setup;
15762#line 1727
15763 __cil_tmp60 = __cil_tmp59 + 6;
15764#line 1727
15765 __cil_tmp61 = *((__le16 *)__cil_tmp60);
15766#line 1727
15767 __cil_tmp62 = (unsigned int )__cil_tmp61;
15768#line 1727
15769 if (__cil_tmp62 != 0U) {
15770 {
15771#line 1729
15772 __cil_tmp63 = (unsigned long )udc;
15773#line 1729
15774 __cil_tmp64 = __cil_tmp63 + 1436;
15775#line 1729
15776 __cil_tmp65 = *((__u8 *)setup);
15777#line 1729
15778 __cil_tmp66 = (signed char )__cil_tmp65;
15779#line 1729
15780 __cil_tmp67 = (int )__cil_tmp66;
15781#line 1729
15782 __cil_tmp68 = __cil_tmp67 < 0;
15783#line 1729
15784 *((unsigned int *)__cil_tmp64) = (unsigned int )__cil_tmp68;
15785#line 1731
15786 __cil_tmp69 = (unsigned long )udc;
15787#line 1731
15788 __cil_tmp70 = __cil_tmp69 + 1216;
15789#line 1731
15790 __cil_tmp71 = (spinlock_t *)__cil_tmp70;
15791#line 1731
15792 spin_unlock(__cil_tmp71);
15793#line 1732
15794 __cil_tmp72 = (unsigned long )udc;
15795#line 1732
15796 __cil_tmp73 = __cil_tmp72 + 1208;
15797#line 1732
15798 __cil_tmp74 = *((struct usb_gadget_driver **)__cil_tmp73);
15799#line 1732
15800 __cil_tmp75 = (unsigned long )__cil_tmp74;
15801#line 1732
15802 __cil_tmp76 = __cil_tmp75 + 24;
15803#line 1732
15804 __cil_tmp77 = *((int (**)(struct usb_gadget * , struct usb_ctrlrequest * ))__cil_tmp76);
15805#line 1732
15806 __cil_tmp78 = (struct usb_gadget *)udc;
15807#line 1732
15808 __cil_tmp79 = (unsigned long )udc;
15809#line 1732
15810 __cil_tmp80 = __cil_tmp79 + 1416;
15811#line 1732
15812 __cil_tmp81 = (struct usb_ctrlrequest *)__cil_tmp80;
15813#line 1732
15814 __cil_tmp82 = (struct usb_ctrlrequest *)__cil_tmp81;
15815#line 1732
15816 tmp___0 = (*__cil_tmp77)(__cil_tmp78, __cil_tmp82);
15817 }
15818#line 1732
15819 if (tmp___0 < 0) {
15820 {
15821#line 1734
15822 ep0_stall(udc);
15823 }
15824 } else {
15825
15826 }
15827 {
15828#line 1735
15829 __cil_tmp83 = (unsigned long )udc;
15830#line 1735
15831 __cil_tmp84 = __cil_tmp83 + 1216;
15832#line 1735
15833 __cil_tmp85 = (spinlock_t *)__cil_tmp84;
15834#line 1735
15835 spin_lock(__cil_tmp85);
15836 }
15837 {
15838#line 1736
15839 __cil_tmp86 = *((__u8 *)setup);
15840#line 1736
15841 __cil_tmp87 = (signed char )__cil_tmp86;
15842#line 1736
15843 __cil_tmp88 = (int )__cil_tmp87;
15844#line 1736
15845 if (__cil_tmp88 < 0) {
15846#line 1736
15847 __cil_tmp89 = (unsigned long )udc;
15848#line 1736
15849 __cil_tmp90 = __cil_tmp89 + 1432;
15850#line 1736
15851 *((unsigned int *)__cil_tmp90) = 1U;
15852 } else {
15853#line 1736
15854 __cil_tmp91 = (unsigned long )udc;
15855#line 1736
15856 __cil_tmp92 = __cil_tmp91 + 1432;
15857#line 1736
15858 *((unsigned int *)__cil_tmp92) = 4U;
15859 }
15860 }
15861 } else {
15862 {
15863#line 1740
15864 __cil_tmp93 = (unsigned long )udc;
15865#line 1740
15866 __cil_tmp94 = __cil_tmp93 + 1436;
15867#line 1740
15868 *((unsigned int *)__cil_tmp94) = 1U;
15869#line 1741
15870 __cil_tmp95 = (unsigned long )udc;
15871#line 1741
15872 __cil_tmp96 = __cil_tmp95 + 1216;
15873#line 1741
15874 __cil_tmp97 = (spinlock_t *)__cil_tmp96;
15875#line 1741
15876 spin_unlock(__cil_tmp97);
15877#line 1742
15878 __cil_tmp98 = (unsigned long )udc;
15879#line 1742
15880 __cil_tmp99 = __cil_tmp98 + 1208;
15881#line 1742
15882 __cil_tmp100 = *((struct usb_gadget_driver **)__cil_tmp99);
15883#line 1742
15884 __cil_tmp101 = (unsigned long )__cil_tmp100;
15885#line 1742
15886 __cil_tmp102 = __cil_tmp101 + 24;
15887#line 1742
15888 __cil_tmp103 = *((int (**)(struct usb_gadget * , struct usb_ctrlrequest * ))__cil_tmp102);
15889#line 1742
15890 __cil_tmp104 = (struct usb_gadget *)udc;
15891#line 1742
15892 __cil_tmp105 = (unsigned long )udc;
15893#line 1742
15894 __cil_tmp106 = __cil_tmp105 + 1416;
15895#line 1742
15896 __cil_tmp107 = (struct usb_ctrlrequest *)__cil_tmp106;
15897#line 1742
15898 __cil_tmp108 = (struct usb_ctrlrequest *)__cil_tmp107;
15899#line 1742
15900 tmp___1 = (*__cil_tmp103)(__cil_tmp104, __cil_tmp108);
15901 }
15902#line 1742
15903 if (tmp___1 < 0) {
15904 {
15905#line 1744
15906 ep0_stall(udc);
15907 }
15908 } else {
15909
15910 }
15911 {
15912#line 1745
15913 __cil_tmp109 = (unsigned long )udc;
15914#line 1745
15915 __cil_tmp110 = __cil_tmp109 + 1216;
15916#line 1745
15917 __cil_tmp111 = (spinlock_t *)__cil_tmp110;
15918#line 1745
15919 spin_lock(__cil_tmp111);
15920#line 1746
15921 __cil_tmp112 = (unsigned long )udc;
15922#line 1746
15923 __cil_tmp113 = __cil_tmp112 + 1432;
15924#line 1746
15925 *((unsigned int *)__cil_tmp113) = 3U;
15926 }
15927 }
15928 }
15929 } else {
15930
15931 }
15932#line 1748
15933 return;
15934}
15935}
15936#line 1752 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
15937static void ep0_req_complete(struct mv_udc *udc , struct mv_ep *ep0 , struct mv_req *req )
15938{ u32 new_addr ;
15939 int tmp ;
15940 int tmp___0 ;
15941 unsigned long __cil_tmp7 ;
15942 unsigned long __cil_tmp8 ;
15943 unsigned int __cil_tmp9 ;
15944 unsigned long __cil_tmp10 ;
15945 unsigned long __cil_tmp11 ;
15946 u32 __cil_tmp12 ;
15947 unsigned long __cil_tmp13 ;
15948 unsigned long __cil_tmp14 ;
15949 struct mv_op_regs *__cil_tmp15 ;
15950 unsigned long __cil_tmp16 ;
15951 unsigned long __cil_tmp17 ;
15952 u32 *__cil_tmp18 ;
15953 void volatile *__cil_tmp19 ;
15954 unsigned long __cil_tmp20 ;
15955 unsigned long __cil_tmp21 ;
15956 unsigned int __cil_tmp22 ;
15957 u8 __cil_tmp23 ;
15958 u16 __cil_tmp24 ;
15959 bool __cil_tmp25 ;
15960 u8 __cil_tmp26 ;
15961 u16 __cil_tmp27 ;
15962 bool __cil_tmp28 ;
15963 unsigned long __cil_tmp29 ;
15964 unsigned long __cil_tmp30 ;
15965 unsigned long __cil_tmp31 ;
15966 unsigned long __cil_tmp32 ;
15967 struct platform_device *__cil_tmp33 ;
15968 unsigned long __cil_tmp34 ;
15969 unsigned long __cil_tmp35 ;
15970 struct device *__cil_tmp36 ;
15971 struct device *__cil_tmp37 ;
15972
15973 {
15974 {
15975#line 1757
15976 __cil_tmp7 = (unsigned long )udc;
15977#line 1757
15978 __cil_tmp8 = __cil_tmp7 + 1428;
15979#line 1757
15980 __cil_tmp9 = *((unsigned int *)__cil_tmp8);
15981#line 1757
15982 if (__cil_tmp9 == 6U) {
15983 {
15984#line 1759
15985 __cil_tmp10 = (unsigned long )udc;
15986#line 1759
15987 __cil_tmp11 = __cil_tmp10 + 1440;
15988#line 1759
15989 new_addr = *((unsigned int *)__cil_tmp11);
15990#line 1760
15991 __cil_tmp12 = new_addr << 25;
15992#line 1760
15993 __cil_tmp13 = (unsigned long )udc;
15994#line 1760
15995 __cil_tmp14 = __cil_tmp13 + 1320;
15996#line 1760
15997 __cil_tmp15 = *((struct mv_op_regs **)__cil_tmp14);
15998#line 1760
15999 __cil_tmp16 = (unsigned long )__cil_tmp15;
16000#line 1760
16001 __cil_tmp17 = __cil_tmp16 + 20;
16002#line 1760
16003 __cil_tmp18 = (u32 *)__cil_tmp17;
16004#line 1760
16005 __cil_tmp19 = (void volatile *)__cil_tmp18;
16006#line 1760
16007 writel(__cil_tmp12, __cil_tmp19);
16008 }
16009 } else {
16010
16011 }
16012 }
16013 {
16014#line 1764
16015 done(ep0, req, 0);
16016 }
16017 {
16018#line 1766
16019 __cil_tmp20 = (unsigned long )udc;
16020#line 1766
16021 __cil_tmp21 = __cil_tmp20 + 1432;
16022#line 1766
16023 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
16024#line 1767
16025 if ((int )__cil_tmp22 == 1) {
16026#line 1767
16027 goto case_1;
16028 } else
16029#line 1772
16030 if ((int )__cil_tmp22 == 4) {
16031#line 1772
16032 goto case_4;
16033 } else
16034#line 1777
16035 if ((int )__cil_tmp22 == 3) {
16036#line 1777
16037 goto case_3;
16038 } else
16039#line 1780
16040 if ((int )__cil_tmp22 == 0) {
16041#line 1780
16042 goto case_0;
16043 } else {
16044 {
16045#line 1783
16046 goto switch_default;
16047#line 1766
16048 if (0) {
16049 case_1:
16050 {
16051#line 1769
16052 __cil_tmp23 = (u8 )0;
16053#line 1769
16054 __cil_tmp24 = (u16 )0;
16055#line 1769
16056 __cil_tmp25 = (bool )1;
16057#line 1769
16058 tmp = udc_prime_status(udc, __cil_tmp23, __cil_tmp24, __cil_tmp25);
16059 }
16060#line 1769
16061 if (tmp != 0) {
16062 {
16063#line 1770
16064 ep0_stall(udc);
16065 }
16066 } else {
16067
16068 }
16069#line 1771
16070 goto ldv_25817;
16071 case_4:
16072 {
16073#line 1774
16074 __cil_tmp26 = (u8 )1;
16075#line 1774
16076 __cil_tmp27 = (u16 )0;
16077#line 1774
16078 __cil_tmp28 = (bool )1;
16079#line 1774
16080 tmp___0 = udc_prime_status(udc, __cil_tmp26, __cil_tmp27, __cil_tmp28);
16081 }
16082#line 1774
16083 if (tmp___0 != 0) {
16084 {
16085#line 1775
16086 ep0_stall(udc);
16087 }
16088 } else {
16089
16090 }
16091#line 1776
16092 goto ldv_25817;
16093 case_3:
16094#line 1778
16095 __cil_tmp29 = (unsigned long )udc;
16096#line 1778
16097 __cil_tmp30 = __cil_tmp29 + 1432;
16098#line 1778
16099 *((unsigned int *)__cil_tmp30) = 0U;
16100#line 1779
16101 goto ldv_25817;
16102 case_0:
16103 {
16104#line 1781
16105 __cil_tmp31 = (unsigned long )udc;
16106#line 1781
16107 __cil_tmp32 = __cil_tmp31 + 1296;
16108#line 1781
16109 __cil_tmp33 = *((struct platform_device **)__cil_tmp32);
16110#line 1781
16111 __cil_tmp34 = (unsigned long )__cil_tmp33;
16112#line 1781
16113 __cil_tmp35 = __cil_tmp34 + 16;
16114#line 1781
16115 __cil_tmp36 = (struct device *)__cil_tmp35;
16116#line 1781
16117 __cil_tmp37 = (struct device *)__cil_tmp36;
16118#line 1781
16119 dev_err(__cil_tmp37, "unexpect ep0 packets\n");
16120 }
16121#line 1782
16122 goto ldv_25817;
16123 switch_default:
16124 {
16125#line 1784
16126 ep0_stall(udc);
16127 }
16128#line 1785
16129 goto ldv_25817;
16130 } else {
16131 switch_break: ;
16132 }
16133 }
16134 }
16135 }
16136 ldv_25817: ;
16137#line 1788
16138 return;
16139}
16140}
16141#line 1789 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
16142static void get_setup_data(struct mv_udc *udc , u8 ep_num , u8 *buffer_ptr )
16143{ u32 temp ;
16144 struct mv_dqh *dqh ;
16145 size_t __len ;
16146 void *__ret ;
16147 unsigned int tmp ;
16148 int __cil_tmp9 ;
16149 int __cil_tmp10 ;
16150 unsigned long __cil_tmp11 ;
16151 unsigned long __cil_tmp12 ;
16152 unsigned long __cil_tmp13 ;
16153 struct mv_dqh *__cil_tmp14 ;
16154 int __cil_tmp15 ;
16155 int __cil_tmp16 ;
16156 unsigned int __cil_tmp17 ;
16157 unsigned long __cil_tmp18 ;
16158 unsigned long __cil_tmp19 ;
16159 struct mv_op_regs *__cil_tmp20 ;
16160 unsigned long __cil_tmp21 ;
16161 unsigned long __cil_tmp22 ;
16162 u32 *__cil_tmp23 ;
16163 void volatile *__cil_tmp24 ;
16164 unsigned long __cil_tmp25 ;
16165 unsigned long __cil_tmp26 ;
16166 struct mv_op_regs *__cil_tmp27 ;
16167 u32 *__cil_tmp28 ;
16168 void volatile *__cil_tmp29 ;
16169 unsigned int __cil_tmp30 ;
16170 unsigned long __cil_tmp31 ;
16171 unsigned long __cil_tmp32 ;
16172 struct mv_op_regs *__cil_tmp33 ;
16173 u32 *__cil_tmp34 ;
16174 void volatile *__cil_tmp35 ;
16175 void *__cil_tmp36 ;
16176 unsigned long __cil_tmp37 ;
16177 unsigned long __cil_tmp38 ;
16178 u8 (*__cil_tmp39)[8U] ;
16179 void *__cil_tmp40 ;
16180 void *__cil_tmp41 ;
16181 unsigned long __cil_tmp42 ;
16182 unsigned long __cil_tmp43 ;
16183 u8 (*__cil_tmp44)[8U] ;
16184 void *__cil_tmp45 ;
16185 unsigned long __cil_tmp46 ;
16186 unsigned long __cil_tmp47 ;
16187 struct mv_op_regs *__cil_tmp48 ;
16188 u32 *__cil_tmp49 ;
16189 void volatile *__cil_tmp50 ;
16190 unsigned int __cil_tmp51 ;
16191 unsigned long __cil_tmp52 ;
16192 unsigned long __cil_tmp53 ;
16193 struct mv_op_regs *__cil_tmp54 ;
16194 u32 *__cil_tmp55 ;
16195 void volatile *__cil_tmp56 ;
16196 unsigned int __cil_tmp57 ;
16197 unsigned long __cil_tmp58 ;
16198 unsigned long __cil_tmp59 ;
16199 struct mv_op_regs *__cil_tmp60 ;
16200 u32 *__cil_tmp61 ;
16201 void volatile *__cil_tmp62 ;
16202
16203 {
16204 {
16205#line 1794
16206 __cil_tmp9 = (int )ep_num;
16207#line 1794
16208 __cil_tmp10 = __cil_tmp9 * 2;
16209#line 1794
16210 __cil_tmp11 = (unsigned long )__cil_tmp10;
16211#line 1794
16212 __cil_tmp12 = (unsigned long )udc;
16213#line 1794
16214 __cil_tmp13 = __cil_tmp12 + 1344;
16215#line 1794
16216 __cil_tmp14 = *((struct mv_dqh **)__cil_tmp13);
16217#line 1794
16218 dqh = __cil_tmp14 + __cil_tmp11;
16219#line 1797
16220 __cil_tmp15 = (int )ep_num;
16221#line 1797
16222 __cil_tmp16 = 1 << __cil_tmp15;
16223#line 1797
16224 __cil_tmp17 = (unsigned int )__cil_tmp16;
16225#line 1797
16226 __cil_tmp18 = (unsigned long )udc;
16227#line 1797
16228 __cil_tmp19 = __cil_tmp18 + 1320;
16229#line 1797
16230 __cil_tmp20 = *((struct mv_op_regs **)__cil_tmp19);
16231#line 1797
16232 __cil_tmp21 = (unsigned long )__cil_tmp20;
16233#line 1797
16234 __cil_tmp22 = __cil_tmp21 + 108;
16235#line 1797
16236 __cil_tmp23 = (u32 *)__cil_tmp22;
16237#line 1797
16238 __cil_tmp24 = (void volatile *)__cil_tmp23;
16239#line 1797
16240 writel(__cil_tmp17, __cil_tmp24);
16241 }
16242 ldv_25832:
16243 {
16244#line 1802
16245 __cil_tmp25 = (unsigned long )udc;
16246#line 1802
16247 __cil_tmp26 = __cil_tmp25 + 1320;
16248#line 1802
16249 __cil_tmp27 = *((struct mv_op_regs **)__cil_tmp26);
16250#line 1802
16251 __cil_tmp28 = (u32 *)__cil_tmp27;
16252#line 1802
16253 __cil_tmp29 = (void volatile *)__cil_tmp28;
16254#line 1802
16255 temp = readl(__cil_tmp29);
16256#line 1803
16257 __cil_tmp30 = temp | 8192U;
16258#line 1803
16259 __cil_tmp31 = (unsigned long )udc;
16260#line 1803
16261 __cil_tmp32 = __cil_tmp31 + 1320;
16262#line 1803
16263 __cil_tmp33 = *((struct mv_op_regs **)__cil_tmp32);
16264#line 1803
16265 __cil_tmp34 = (u32 *)__cil_tmp33;
16266#line 1803
16267 __cil_tmp35 = (void volatile *)__cil_tmp34;
16268#line 1803
16269 writel(__cil_tmp30, __cil_tmp35);
16270#line 1806
16271 __len = 8UL;
16272 }
16273#line 1806
16274 if (__len > 63UL) {
16275 {
16276#line 1806
16277 __cil_tmp36 = (void *)buffer_ptr;
16278#line 1806
16279 __cil_tmp37 = (unsigned long )dqh;
16280#line 1806
16281 __cil_tmp38 = __cil_tmp37 + 40;
16282#line 1806
16283 __cil_tmp39 = (u8 (*)[8U])__cil_tmp38;
16284#line 1806
16285 __cil_tmp40 = (void *)__cil_tmp39;
16286#line 1806
16287 __ret = __memcpy(__cil_tmp36, __cil_tmp40, __len);
16288 }
16289 } else {
16290 {
16291#line 1806
16292 __cil_tmp41 = (void *)buffer_ptr;
16293#line 1806
16294 __cil_tmp42 = (unsigned long )dqh;
16295#line 1806
16296 __cil_tmp43 = __cil_tmp42 + 40;
16297#line 1806
16298 __cil_tmp44 = (u8 (*)[8U])__cil_tmp43;
16299#line 1806
16300 __cil_tmp45 = (void *)__cil_tmp44;
16301#line 1806
16302 __ret = __builtin_memcpy(__cil_tmp41, __cil_tmp45, __len);
16303 }
16304 }
16305 {
16306#line 1807
16307 __cil_tmp46 = (unsigned long )udc;
16308#line 1807
16309 __cil_tmp47 = __cil_tmp46 + 1320;
16310#line 1807
16311 __cil_tmp48 = *((struct mv_op_regs **)__cil_tmp47);
16312#line 1807
16313 __cil_tmp49 = (u32 *)__cil_tmp48;
16314#line 1807
16315 __cil_tmp50 = (void volatile *)__cil_tmp49;
16316#line 1807
16317 tmp = readl(__cil_tmp50);
16318 }
16319 {
16320#line 1807
16321 __cil_tmp51 = tmp & 8192U;
16322#line 1807
16323 if (__cil_tmp51 == 0U) {
16324#line 1808
16325 goto ldv_25832;
16326 } else {
16327#line 1810
16328 goto ldv_25833;
16329 }
16330 }
16331 ldv_25833:
16332 {
16333#line 1810
16334 __cil_tmp52 = (unsigned long )udc;
16335#line 1810
16336 __cil_tmp53 = __cil_tmp52 + 1320;
16337#line 1810
16338 __cil_tmp54 = *((struct mv_op_regs **)__cil_tmp53);
16339#line 1810
16340 __cil_tmp55 = (u32 *)__cil_tmp54;
16341#line 1810
16342 __cil_tmp56 = (void volatile *)__cil_tmp55;
16343#line 1810
16344 temp = readl(__cil_tmp56);
16345#line 1811
16346 __cil_tmp57 = temp & 4294959103U;
16347#line 1811
16348 __cil_tmp58 = (unsigned long )udc;
16349#line 1811
16350 __cil_tmp59 = __cil_tmp58 + 1320;
16351#line 1811
16352 __cil_tmp60 = *((struct mv_op_regs **)__cil_tmp59);
16353#line 1811
16354 __cil_tmp61 = (u32 *)__cil_tmp60;
16355#line 1811
16356 __cil_tmp62 = (void volatile *)__cil_tmp61;
16357#line 1811
16358 writel(__cil_tmp57, __cil_tmp62);
16359 }
16360#line 1812
16361 return;
16362}
16363}
16364#line 1814 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
16365static void irq_process_tr_complete(struct mv_udc *udc )
16366{ u32 tmp ;
16367 u32 bit_pos ;
16368 int i ;
16369 int ep_num ;
16370 int direction ;
16371 struct mv_ep *curr_ep ;
16372 struct mv_req *curr_req ;
16373 struct mv_req *temp_req ;
16374 int status ;
16375 struct list_head *__mptr ;
16376 struct list_head *__mptr___0 ;
16377 struct list_head *__mptr___1 ;
16378 unsigned long __cil_tmp14 ;
16379 unsigned long __cil_tmp15 ;
16380 struct mv_op_regs *__cil_tmp16 ;
16381 unsigned long __cil_tmp17 ;
16382 unsigned long __cil_tmp18 ;
16383 u32 *__cil_tmp19 ;
16384 void volatile *__cil_tmp20 ;
16385 int __cil_tmp21 ;
16386 u32 __cil_tmp22 ;
16387 unsigned int __cil_tmp23 ;
16388 u8 __cil_tmp24 ;
16389 int __cil_tmp25 ;
16390 u8 __cil_tmp26 ;
16391 unsigned long __cil_tmp27 ;
16392 unsigned long __cil_tmp28 ;
16393 struct usb_ctrlrequest *__cil_tmp29 ;
16394 u8 *__cil_tmp30 ;
16395 u8 __cil_tmp31 ;
16396 int __cil_tmp32 ;
16397 u8 __cil_tmp33 ;
16398 unsigned long __cil_tmp34 ;
16399 unsigned long __cil_tmp35 ;
16400 struct usb_ctrlrequest *__cil_tmp36 ;
16401 unsigned long __cil_tmp37 ;
16402 unsigned long __cil_tmp38 ;
16403 unsigned int __cil_tmp39 ;
16404 unsigned int __cil_tmp40 ;
16405 unsigned long __cil_tmp41 ;
16406 unsigned long __cil_tmp42 ;
16407 struct mv_op_regs *__cil_tmp43 ;
16408 unsigned long __cil_tmp44 ;
16409 unsigned long __cil_tmp45 ;
16410 u32 *__cil_tmp46 ;
16411 void volatile *__cil_tmp47 ;
16412 unsigned long __cil_tmp48 ;
16413 unsigned long __cil_tmp49 ;
16414 struct mv_op_regs *__cil_tmp50 ;
16415 unsigned long __cil_tmp51 ;
16416 unsigned long __cil_tmp52 ;
16417 u32 *__cil_tmp53 ;
16418 void volatile *__cil_tmp54 ;
16419 int __cil_tmp55 ;
16420 int __cil_tmp56 ;
16421 int __cil_tmp57 ;
16422 unsigned int __cil_tmp58 ;
16423 unsigned long __cil_tmp59 ;
16424 unsigned long __cil_tmp60 ;
16425 unsigned long __cil_tmp61 ;
16426 unsigned long __cil_tmp62 ;
16427 unsigned long __cil_tmp63 ;
16428 struct mv_ep *__cil_tmp64 ;
16429 unsigned long __cil_tmp65 ;
16430 unsigned long __cil_tmp66 ;
16431 struct list_head *__cil_tmp67 ;
16432 struct mv_req *__cil_tmp68 ;
16433 unsigned long __cil_tmp69 ;
16434 unsigned long __cil_tmp70 ;
16435 struct list_head *__cil_tmp71 ;
16436 struct mv_req *__cil_tmp72 ;
16437 unsigned long __cil_tmp73 ;
16438 unsigned long __cil_tmp74 ;
16439 unsigned long __cil_tmp75 ;
16440 unsigned long __cil_tmp76 ;
16441 unsigned long __cil_tmp77 ;
16442 struct list_head *__cil_tmp78 ;
16443 struct mv_req *__cil_tmp79 ;
16444 unsigned long __cil_tmp80 ;
16445 unsigned long __cil_tmp81 ;
16446 struct list_head *__cil_tmp82 ;
16447 unsigned long __cil_tmp83 ;
16448 unsigned long __cil_tmp84 ;
16449 unsigned long __cil_tmp85 ;
16450 struct list_head *__cil_tmp86 ;
16451 unsigned long __cil_tmp87 ;
16452 unsigned long __cil_tmp88 ;
16453 unsigned long __cil_tmp89 ;
16454 unsigned int __cil_tmp90 ;
16455 unsigned int __cil_tmp91 ;
16456 unsigned int __cil_tmp92 ;
16457
16458 {
16459 {
16460#line 1817
16461 ep_num = 0;
16462#line 1817
16463 direction = 0;
16464#line 1828
16465 __cil_tmp14 = (unsigned long )udc;
16466#line 1828
16467 __cil_tmp15 = __cil_tmp14 + 1320;
16468#line 1828
16469 __cil_tmp16 = *((struct mv_op_regs **)__cil_tmp15);
16470#line 1828
16471 __cil_tmp17 = (unsigned long )__cil_tmp16;
16472#line 1828
16473 __cil_tmp18 = __cil_tmp17 + 108;
16474#line 1828
16475 __cil_tmp19 = (u32 *)__cil_tmp18;
16476#line 1828
16477 __cil_tmp20 = (void volatile *)__cil_tmp19;
16478#line 1828
16479 tmp = readl(__cil_tmp20);
16480 }
16481#line 1830
16482 if (tmp != 0U) {
16483#line 1831
16484 i = 0;
16485#line 1831
16486 goto ldv_25847;
16487 ldv_25846: ;
16488 {
16489#line 1832
16490 __cil_tmp21 = 1 << i;
16491#line 1832
16492 __cil_tmp22 = (u32 )__cil_tmp21;
16493#line 1832
16494 __cil_tmp23 = __cil_tmp22 & tmp;
16495#line 1832
16496 if (__cil_tmp23 != 0U) {
16497 {
16498#line 1833
16499 __cil_tmp24 = (u8 )i;
16500#line 1833
16501 __cil_tmp25 = (int )__cil_tmp24;
16502#line 1833
16503 __cil_tmp26 = (u8 )__cil_tmp25;
16504#line 1833
16505 __cil_tmp27 = (unsigned long )udc;
16506#line 1833
16507 __cil_tmp28 = __cil_tmp27 + 1416;
16508#line 1833
16509 __cil_tmp29 = (struct usb_ctrlrequest *)__cil_tmp28;
16510#line 1833
16511 __cil_tmp30 = (u8 *)__cil_tmp29;
16512#line 1833
16513 get_setup_data(udc, __cil_tmp26, __cil_tmp30);
16514#line 1835
16515 __cil_tmp31 = (u8 )i;
16516#line 1835
16517 __cil_tmp32 = (int )__cil_tmp31;
16518#line 1835
16519 __cil_tmp33 = (u8 )__cil_tmp32;
16520#line 1835
16521 __cil_tmp34 = (unsigned long )udc;
16522#line 1835
16523 __cil_tmp35 = __cil_tmp34 + 1416;
16524#line 1835
16525 __cil_tmp36 = (struct usb_ctrlrequest *)__cil_tmp35;
16526#line 1835
16527 handle_setup_packet(udc, __cil_tmp33, __cil_tmp36);
16528 }
16529 } else {
16530
16531 }
16532 }
16533#line 1831
16534 i = i + 1;
16535 ldv_25847: ;
16536 {
16537#line 1831
16538 __cil_tmp37 = (unsigned long )udc;
16539#line 1831
16540 __cil_tmp38 = __cil_tmp37 + 1336;
16541#line 1831
16542 __cil_tmp39 = *((unsigned int *)__cil_tmp38);
16543#line 1831
16544 __cil_tmp40 = (unsigned int )i;
16545#line 1831
16546 if (__cil_tmp40 < __cil_tmp39) {
16547#line 1832
16548 goto ldv_25846;
16549 } else {
16550#line 1834
16551 goto ldv_25848;
16552 }
16553 }
16554 ldv_25848: ;
16555 } else {
16556
16557 }
16558 {
16559#line 1846
16560 __cil_tmp41 = (unsigned long )udc;
16561#line 1846
16562 __cil_tmp42 = __cil_tmp41 + 1320;
16563#line 1846
16564 __cil_tmp43 = *((struct mv_op_regs **)__cil_tmp42);
16565#line 1846
16566 __cil_tmp44 = (unsigned long )__cil_tmp43;
16567#line 1846
16568 __cil_tmp45 = __cil_tmp44 + 124;
16569#line 1846
16570 __cil_tmp46 = (u32 *)__cil_tmp45;
16571#line 1846
16572 __cil_tmp47 = (void volatile *)__cil_tmp46;
16573#line 1846
16574 tmp = readl(__cil_tmp47);
16575 }
16576#line 1848
16577 if (tmp == 0U) {
16578#line 1849
16579 return;
16580 } else {
16581
16582 }
16583 {
16584#line 1851
16585 __cil_tmp48 = (unsigned long )udc;
16586#line 1851
16587 __cil_tmp49 = __cil_tmp48 + 1320;
16588#line 1851
16589 __cil_tmp50 = *((struct mv_op_regs **)__cil_tmp49);
16590#line 1851
16591 __cil_tmp51 = (unsigned long )__cil_tmp50;
16592#line 1851
16593 __cil_tmp52 = __cil_tmp51 + 124;
16594#line 1851
16595 __cil_tmp53 = (u32 *)__cil_tmp52;
16596#line 1851
16597 __cil_tmp54 = (void volatile *)__cil_tmp53;
16598#line 1851
16599 writel(tmp, __cil_tmp54);
16600#line 1853
16601 i = 0;
16602 }
16603#line 1853
16604 goto ldv_25860;
16605 ldv_25859:
16606#line 1854
16607 ep_num = i >> 1;
16608#line 1855
16609 direction = i % 2;
16610#line 1857
16611 __cil_tmp55 = direction * 16;
16612#line 1857
16613 __cil_tmp56 = __cil_tmp55 + ep_num;
16614#line 1857
16615 __cil_tmp57 = 1 << __cil_tmp56;
16616#line 1857
16617 bit_pos = (u32 )__cil_tmp57;
16618 {
16619#line 1859
16620 __cil_tmp58 = bit_pos & tmp;
16621#line 1859
16622 if (__cil_tmp58 == 0U) {
16623#line 1860
16624 goto ldv_25849;
16625 } else {
16626
16627 }
16628 }
16629#line 1862
16630 if (i == 1) {
16631#line 1863
16632 __cil_tmp59 = (unsigned long )udc;
16633#line 1863
16634 __cil_tmp60 = __cil_tmp59 + 1376;
16635#line 1863
16636 curr_ep = *((struct mv_ep **)__cil_tmp60);
16637 } else {
16638#line 1865
16639 __cil_tmp61 = (unsigned long )i;
16640#line 1865
16641 __cil_tmp62 = (unsigned long )udc;
16642#line 1865
16643 __cil_tmp63 = __cil_tmp62 + 1376;
16644#line 1865
16645 __cil_tmp64 = *((struct mv_ep **)__cil_tmp63);
16646#line 1865
16647 curr_ep = __cil_tmp64 + __cil_tmp61;
16648 }
16649#line 1867
16650 __cil_tmp65 = (unsigned long )curr_ep;
16651#line 1867
16652 __cil_tmp66 = __cil_tmp65 + 72;
16653#line 1867
16654 __cil_tmp67 = *((struct list_head **)__cil_tmp66);
16655#line 1867
16656 __mptr = (struct list_head *)__cil_tmp67;
16657#line 1867
16658 __cil_tmp68 = (struct mv_req *)__mptr;
16659#line 1867
16660 curr_req = __cil_tmp68 + 0xffffffffffffff88UL;
16661#line 1867
16662 __cil_tmp69 = (unsigned long )curr_req;
16663#line 1867
16664 __cil_tmp70 = __cil_tmp69 + 120;
16665#line 1867
16666 __cil_tmp71 = *((struct list_head **)__cil_tmp70);
16667#line 1867
16668 __mptr___0 = (struct list_head *)__cil_tmp71;
16669#line 1867
16670 __cil_tmp72 = (struct mv_req *)__mptr___0;
16671#line 1867
16672 temp_req = __cil_tmp72 + 0xffffffffffffff88UL;
16673#line 1867
16674 goto ldv_25858;
16675 ldv_25857:
16676 {
16677#line 1869
16678 status = process_ep_req(udc, i, curr_req);
16679 }
16680#line 1870
16681 if (status != 0) {
16682#line 1871
16683 goto ldv_25856;
16684 } else {
16685
16686 }
16687#line 1874
16688 __cil_tmp73 = 0 + 80;
16689#line 1874
16690 __cil_tmp74 = (unsigned long )curr_req;
16691#line 1874
16692 __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
16693#line 1874
16694 *((int *)__cil_tmp75) = status;
16695#line 1877
16696 if (ep_num == 0) {
16697 {
16698#line 1878
16699 ep0_req_complete(udc, curr_ep, curr_req);
16700 }
16701#line 1879
16702 goto ldv_25856;
16703 } else {
16704 {
16705#line 1881
16706 done(curr_ep, curr_req, status);
16707 }
16708 }
16709#line 1867
16710 curr_req = temp_req;
16711#line 1867
16712 __cil_tmp76 = (unsigned long )temp_req;
16713#line 1867
16714 __cil_tmp77 = __cil_tmp76 + 120;
16715#line 1867
16716 __cil_tmp78 = *((struct list_head **)__cil_tmp77);
16717#line 1867
16718 __mptr___1 = (struct list_head *)__cil_tmp78;
16719#line 1867
16720 __cil_tmp79 = (struct mv_req *)__mptr___1;
16721#line 1867
16722 temp_req = __cil_tmp79 + 0xffffffffffffff88UL;
16723 ldv_25858: ;
16724 {
16725#line 1867
16726 __cil_tmp80 = (unsigned long )curr_ep;
16727#line 1867
16728 __cil_tmp81 = __cil_tmp80 + 72;
16729#line 1867
16730 __cil_tmp82 = (struct list_head *)__cil_tmp81;
16731#line 1867
16732 __cil_tmp83 = (unsigned long )__cil_tmp82;
16733#line 1867
16734 __cil_tmp84 = (unsigned long )curr_req;
16735#line 1867
16736 __cil_tmp85 = __cil_tmp84 + 120;
16737#line 1867
16738 __cil_tmp86 = (struct list_head *)__cil_tmp85;
16739#line 1867
16740 __cil_tmp87 = (unsigned long )__cil_tmp86;
16741#line 1867
16742 if (__cil_tmp87 != __cil_tmp83) {
16743#line 1868
16744 goto ldv_25857;
16745 } else {
16746#line 1870
16747 goto ldv_25856;
16748 }
16749 }
16750 ldv_25856: ;
16751 ldv_25849:
16752#line 1853
16753 i = i + 1;
16754 ldv_25860: ;
16755 {
16756#line 1853
16757 __cil_tmp88 = (unsigned long )udc;
16758#line 1853
16759 __cil_tmp89 = __cil_tmp88 + 1336;
16760#line 1853
16761 __cil_tmp90 = *((unsigned int *)__cil_tmp89);
16762#line 1853
16763 __cil_tmp91 = __cil_tmp90 * 2U;
16764#line 1853
16765 __cil_tmp92 = (unsigned int )i;
16766#line 1853
16767 if (__cil_tmp92 < __cil_tmp91) {
16768#line 1854
16769 goto ldv_25859;
16770 } else {
16771#line 1856
16772 goto ldv_25861;
16773 }
16774 }
16775 ldv_25861: ;
16776#line 1858
16777 return;
16778}
16779}
16780#line 1887 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
16781void irq_process_reset(struct mv_udc *udc )
16782{ u32 tmp ;
16783 unsigned int loops ;
16784 unsigned int tmp___0 ;
16785 unsigned int tmp___1 ;
16786 unsigned int tmp___2 ;
16787 unsigned int tmp___3 ;
16788 unsigned long __cil_tmp8 ;
16789 unsigned long __cil_tmp9 ;
16790 unsigned long __cil_tmp10 ;
16791 unsigned long __cil_tmp11 ;
16792 unsigned long __cil_tmp12 ;
16793 unsigned long __cil_tmp13 ;
16794 struct mv_op_regs *__cil_tmp14 ;
16795 unsigned long __cil_tmp15 ;
16796 unsigned long __cil_tmp16 ;
16797 u32 *__cil_tmp17 ;
16798 void volatile *__cil_tmp18 ;
16799 unsigned long __cil_tmp19 ;
16800 unsigned long __cil_tmp20 ;
16801 struct mv_op_regs *__cil_tmp21 ;
16802 unsigned long __cil_tmp22 ;
16803 unsigned long __cil_tmp23 ;
16804 u32 *__cil_tmp24 ;
16805 void volatile *__cil_tmp25 ;
16806 unsigned long __cil_tmp26 ;
16807 unsigned long __cil_tmp27 ;
16808 struct mv_op_regs *__cil_tmp28 ;
16809 unsigned long __cil_tmp29 ;
16810 unsigned long __cil_tmp30 ;
16811 u32 *__cil_tmp31 ;
16812 void volatile *__cil_tmp32 ;
16813 unsigned long __cil_tmp33 ;
16814 unsigned long __cil_tmp34 ;
16815 struct mv_op_regs *__cil_tmp35 ;
16816 unsigned long __cil_tmp36 ;
16817 unsigned long __cil_tmp37 ;
16818 u32 *__cil_tmp38 ;
16819 void volatile *__cil_tmp39 ;
16820 unsigned long __cil_tmp40 ;
16821 unsigned long __cil_tmp41 ;
16822 struct mv_op_regs *__cil_tmp42 ;
16823 unsigned long __cil_tmp43 ;
16824 unsigned long __cil_tmp44 ;
16825 u32 *__cil_tmp45 ;
16826 void volatile *__cil_tmp46 ;
16827 unsigned long __cil_tmp47 ;
16828 unsigned long __cil_tmp48 ;
16829 struct mv_op_regs *__cil_tmp49 ;
16830 unsigned long __cil_tmp50 ;
16831 unsigned long __cil_tmp51 ;
16832 u32 *__cil_tmp52 ;
16833 void volatile *__cil_tmp53 ;
16834 unsigned long __cil_tmp54 ;
16835 unsigned long __cil_tmp55 ;
16836 struct mv_op_regs *__cil_tmp56 ;
16837 unsigned long __cil_tmp57 ;
16838 unsigned long __cil_tmp58 ;
16839 u32 *__cil_tmp59 ;
16840 void volatile *__cil_tmp60 ;
16841 unsigned long __cil_tmp61 ;
16842 unsigned long __cil_tmp62 ;
16843 struct platform_device *__cil_tmp63 ;
16844 unsigned long __cil_tmp64 ;
16845 unsigned long __cil_tmp65 ;
16846 struct device *__cil_tmp66 ;
16847 struct device *__cil_tmp67 ;
16848 unsigned long __cil_tmp68 ;
16849 unsigned long __cil_tmp69 ;
16850 struct mv_op_regs *__cil_tmp70 ;
16851 unsigned long __cil_tmp71 ;
16852 unsigned long __cil_tmp72 ;
16853 u32 *__cil_tmp73 ;
16854 void volatile *__cil_tmp74 ;
16855 unsigned long __cil_tmp75 ;
16856 unsigned long __cil_tmp76 ;
16857 struct mv_op_regs *__cil_tmp77 ;
16858 unsigned long __cil_tmp78 ;
16859 unsigned long __cil_tmp79 ;
16860 u32 *__cil_tmp80 ;
16861 void volatile *__cil_tmp81 ;
16862 unsigned long __cil_tmp82 ;
16863 unsigned long __cil_tmp83 ;
16864 struct mv_op_regs *__cil_tmp84 ;
16865 unsigned long __cil_tmp85 ;
16866 unsigned long __cil_tmp86 ;
16867 u32 (*__cil_tmp87)[8U] ;
16868 void volatile *__cil_tmp88 ;
16869 unsigned int __cil_tmp89 ;
16870 unsigned long __cil_tmp90 ;
16871 unsigned long __cil_tmp91 ;
16872 struct platform_device *__cil_tmp92 ;
16873 unsigned long __cil_tmp93 ;
16874 unsigned long __cil_tmp94 ;
16875 struct device *__cil_tmp95 ;
16876 struct device *__cil_tmp96 ;
16877 unsigned long __cil_tmp97 ;
16878 unsigned long __cil_tmp98 ;
16879 unsigned long __cil_tmp99 ;
16880 unsigned long __cil_tmp100 ;
16881 struct usb_gadget_driver *__cil_tmp101 ;
16882 unsigned long __cil_tmp102 ;
16883 unsigned long __cil_tmp103 ;
16884 struct mv_op_regs *__cil_tmp104 ;
16885 unsigned long __cil_tmp105 ;
16886 unsigned long __cil_tmp106 ;
16887 u32 (*__cil_tmp107)[8U] ;
16888 void volatile *__cil_tmp108 ;
16889 unsigned long __cil_tmp109 ;
16890 unsigned long __cil_tmp110 ;
16891 struct platform_device *__cil_tmp111 ;
16892 unsigned long __cil_tmp112 ;
16893 unsigned long __cil_tmp113 ;
16894 struct device *__cil_tmp114 ;
16895 struct device *__cil_tmp115 ;
16896 unsigned long __cil_tmp116 ;
16897 unsigned long __cil_tmp117 ;
16898 struct usb_gadget_driver *__cil_tmp118 ;
16899 unsigned long __cil_tmp119 ;
16900 unsigned long __cil_tmp120 ;
16901
16902 {
16903 {
16904#line 1892
16905 __cil_tmp8 = (unsigned long )udc;
16906#line 1892
16907 __cil_tmp9 = __cil_tmp8 + 1436;
16908#line 1892
16909 *((unsigned int *)__cil_tmp9) = 0U;
16910#line 1893
16911 __cil_tmp10 = (unsigned long )udc;
16912#line 1893
16913 __cil_tmp11 = __cil_tmp10 + 1432;
16914#line 1893
16915 *((unsigned int *)__cil_tmp11) = 0U;
16916#line 1894
16917 udc->remote_wakeup = (unsigned char)0;
16918#line 1897
16919 __cil_tmp12 = (unsigned long )udc;
16920#line 1897
16921 __cil_tmp13 = __cil_tmp12 + 1320;
16922#line 1897
16923 __cil_tmp14 = *((struct mv_op_regs **)__cil_tmp13);
16924#line 1897
16925 __cil_tmp15 = (unsigned long )__cil_tmp14;
16926#line 1897
16927 __cil_tmp16 = __cil_tmp15 + 20;
16928#line 1897
16929 __cil_tmp17 = (u32 *)__cil_tmp16;
16930#line 1897
16931 __cil_tmp18 = (void volatile *)__cil_tmp17;
16932#line 1897
16933 tmp = readl(__cil_tmp18);
16934#line 1898
16935 tmp = tmp & 33554431U;
16936#line 1899
16937 __cil_tmp19 = (unsigned long )udc;
16938#line 1899
16939 __cil_tmp20 = __cil_tmp19 + 1320;
16940#line 1899
16941 __cil_tmp21 = *((struct mv_op_regs **)__cil_tmp20);
16942#line 1899
16943 __cil_tmp22 = (unsigned long )__cil_tmp21;
16944#line 1899
16945 __cil_tmp23 = __cil_tmp22 + 20;
16946#line 1899
16947 __cil_tmp24 = (u32 *)__cil_tmp23;
16948#line 1899
16949 __cil_tmp25 = (void volatile *)__cil_tmp24;
16950#line 1899
16951 writel(tmp, __cil_tmp25);
16952#line 1902
16953 __cil_tmp26 = (unsigned long )udc;
16954#line 1902
16955 __cil_tmp27 = __cil_tmp26 + 1320;
16956#line 1902
16957 __cil_tmp28 = *((struct mv_op_regs **)__cil_tmp27);
16958#line 1902
16959 __cil_tmp29 = (unsigned long )__cil_tmp28;
16960#line 1902
16961 __cil_tmp30 = __cil_tmp29 + 108;
16962#line 1902
16963 __cil_tmp31 = (u32 *)__cil_tmp30;
16964#line 1902
16965 __cil_tmp32 = (void volatile *)__cil_tmp31;
16966#line 1902
16967 tmp = readl(__cil_tmp32);
16968#line 1903
16969 __cil_tmp33 = (unsigned long )udc;
16970#line 1903
16971 __cil_tmp34 = __cil_tmp33 + 1320;
16972#line 1903
16973 __cil_tmp35 = *((struct mv_op_regs **)__cil_tmp34);
16974#line 1903
16975 __cil_tmp36 = (unsigned long )__cil_tmp35;
16976#line 1903
16977 __cil_tmp37 = __cil_tmp36 + 108;
16978#line 1903
16979 __cil_tmp38 = (u32 *)__cil_tmp37;
16980#line 1903
16981 __cil_tmp39 = (void volatile *)__cil_tmp38;
16982#line 1903
16983 writel(tmp, __cil_tmp39);
16984#line 1906
16985 __cil_tmp40 = (unsigned long )udc;
16986#line 1906
16987 __cil_tmp41 = __cil_tmp40 + 1320;
16988#line 1906
16989 __cil_tmp42 = *((struct mv_op_regs **)__cil_tmp41);
16990#line 1906
16991 __cil_tmp43 = (unsigned long )__cil_tmp42;
16992#line 1906
16993 __cil_tmp44 = __cil_tmp43 + 124;
16994#line 1906
16995 __cil_tmp45 = (u32 *)__cil_tmp44;
16996#line 1906
16997 __cil_tmp46 = (void volatile *)__cil_tmp45;
16998#line 1906
16999 tmp = readl(__cil_tmp46);
17000#line 1907
17001 __cil_tmp47 = (unsigned long )udc;
17002#line 1907
17003 __cil_tmp48 = __cil_tmp47 + 1320;
17004#line 1907
17005 __cil_tmp49 = *((struct mv_op_regs **)__cil_tmp48);
17006#line 1907
17007 __cil_tmp50 = (unsigned long )__cil_tmp49;
17008#line 1907
17009 __cil_tmp51 = __cil_tmp50 + 124;
17010#line 1907
17011 __cil_tmp52 = (u32 *)__cil_tmp51;
17012#line 1907
17013 __cil_tmp53 = (void volatile *)__cil_tmp52;
17014#line 1907
17015 writel(tmp, __cil_tmp53);
17016#line 1910
17017 loops = 625U;
17018 }
17019#line 1911
17020 goto ldv_25869;
17021 ldv_25868: ;
17022#line 1912
17023 if (loops == 0U) {
17024 {
17025#line 1913
17026 __cil_tmp54 = (unsigned long )udc;
17027#line 1913
17028 __cil_tmp55 = __cil_tmp54 + 1320;
17029#line 1913
17030 __cil_tmp56 = *((struct mv_op_regs **)__cil_tmp55);
17031#line 1913
17032 __cil_tmp57 = (unsigned long )__cil_tmp56;
17033#line 1913
17034 __cil_tmp58 = __cil_tmp57 + 112;
17035#line 1913
17036 __cil_tmp59 = (u32 *)__cil_tmp58;
17037#line 1913
17038 __cil_tmp60 = (void volatile *)__cil_tmp59;
17039#line 1913
17040 tmp___0 = readl(__cil_tmp60);
17041#line 1913
17042 __cil_tmp61 = (unsigned long )udc;
17043#line 1913
17044 __cil_tmp62 = __cil_tmp61 + 1296;
17045#line 1913
17046 __cil_tmp63 = *((struct platform_device **)__cil_tmp62);
17047#line 1913
17048 __cil_tmp64 = (unsigned long )__cil_tmp63;
17049#line 1913
17050 __cil_tmp65 = __cil_tmp64 + 16;
17051#line 1913
17052 __cil_tmp66 = (struct device *)__cil_tmp65;
17053#line 1913
17054 __cil_tmp67 = (struct device *)__cil_tmp66;
17055#line 1913
17056 dev_err(__cil_tmp67, "Timeout for ENDPTPRIME = 0x%x\n", tmp___0);
17057 }
17058#line 1916
17059 goto ldv_25867;
17060 } else {
17061
17062 }
17063 {
17064#line 1918
17065 loops = loops - 1U;
17066#line 1919
17067 ___udelay(68720UL);
17068 }
17069 ldv_25869:
17070 {
17071#line 1911
17072 __cil_tmp68 = (unsigned long )udc;
17073#line 1911
17074 __cil_tmp69 = __cil_tmp68 + 1320;
17075#line 1911
17076 __cil_tmp70 = *((struct mv_op_regs **)__cil_tmp69);
17077#line 1911
17078 __cil_tmp71 = (unsigned long )__cil_tmp70;
17079#line 1911
17080 __cil_tmp72 = __cil_tmp71 + 112;
17081#line 1911
17082 __cil_tmp73 = (u32 *)__cil_tmp72;
17083#line 1911
17084 __cil_tmp74 = (void volatile *)__cil_tmp73;
17085#line 1911
17086 tmp___1 = readl(__cil_tmp74);
17087 }
17088#line 1911
17089 if (tmp___1 != 0U) {
17090#line 1912
17091 goto ldv_25868;
17092 } else {
17093#line 1914
17094 goto ldv_25867;
17095 }
17096 ldv_25867:
17097 {
17098#line 1923
17099 __cil_tmp75 = (unsigned long )udc;
17100#line 1923
17101 __cil_tmp76 = __cil_tmp75 + 1320;
17102#line 1923
17103 __cil_tmp77 = *((struct mv_op_regs **)__cil_tmp76);
17104#line 1923
17105 __cil_tmp78 = (unsigned long )__cil_tmp77;
17106#line 1923
17107 __cil_tmp79 = __cil_tmp78 + 116;
17108#line 1923
17109 __cil_tmp80 = (u32 *)__cil_tmp79;
17110#line 1923
17111 __cil_tmp81 = (void volatile *)__cil_tmp80;
17112#line 1923
17113 writel(4294967295U, __cil_tmp81);
17114#line 1925
17115 __cil_tmp82 = (unsigned long )udc;
17116#line 1925
17117 __cil_tmp83 = __cil_tmp82 + 1320;
17118#line 1925
17119 __cil_tmp84 = *((struct mv_op_regs **)__cil_tmp83);
17120#line 1925
17121 __cil_tmp85 = (unsigned long )__cil_tmp84;
17122#line 1925
17123 __cil_tmp86 = __cil_tmp85 + 68;
17124#line 1925
17125 __cil_tmp87 = (u32 (*)[8U])__cil_tmp86;
17126#line 1925
17127 __cil_tmp88 = (void volatile *)__cil_tmp87;
17128#line 1925
17129 tmp___3 = readl(__cil_tmp88);
17130 }
17131 {
17132#line 1925
17133 __cil_tmp89 = tmp___3 & 256U;
17134#line 1925
17135 if (__cil_tmp89 != 0U) {
17136 {
17137#line 1926
17138 __cil_tmp90 = (unsigned long )udc;
17139#line 1926
17140 __cil_tmp91 = __cil_tmp90 + 1296;
17141#line 1926
17142 __cil_tmp92 = *((struct platform_device **)__cil_tmp91);
17143#line 1926
17144 __cil_tmp93 = (unsigned long )__cil_tmp92;
17145#line 1926
17146 __cil_tmp94 = __cil_tmp93 + 16;
17147#line 1926
17148 __cil_tmp95 = (struct device *)__cil_tmp94;
17149#line 1926
17150 __cil_tmp96 = (struct device *)__cil_tmp95;
17151#line 1926
17152 _dev_info(__cil_tmp96, "usb bus reset\n");
17153#line 1927
17154 __cil_tmp97 = (unsigned long )udc;
17155#line 1927
17156 __cil_tmp98 = __cil_tmp97 + 1428;
17157#line 1927
17158 *((unsigned int *)__cil_tmp98) = 5U;
17159#line 1929
17160 __cil_tmp99 = (unsigned long )udc;
17161#line 1929
17162 __cil_tmp100 = __cil_tmp99 + 1208;
17163#line 1929
17164 __cil_tmp101 = *((struct usb_gadget_driver **)__cil_tmp100);
17165#line 1929
17166 stop_activity(udc, __cil_tmp101);
17167 }
17168 } else {
17169 {
17170#line 1931
17171 __cil_tmp102 = (unsigned long )udc;
17172#line 1931
17173 __cil_tmp103 = __cil_tmp102 + 1320;
17174#line 1931
17175 __cil_tmp104 = *((struct mv_op_regs **)__cil_tmp103);
17176#line 1931
17177 __cil_tmp105 = (unsigned long )__cil_tmp104;
17178#line 1931
17179 __cil_tmp106 = __cil_tmp105 + 68;
17180#line 1931
17181 __cil_tmp107 = (u32 (*)[8U])__cil_tmp106;
17182#line 1931
17183 __cil_tmp108 = (void volatile *)__cil_tmp107;
17184#line 1931
17185 tmp___2 = readl(__cil_tmp108);
17186#line 1931
17187 __cil_tmp109 = (unsigned long )udc;
17188#line 1931
17189 __cil_tmp110 = __cil_tmp109 + 1296;
17190#line 1931
17191 __cil_tmp111 = *((struct platform_device **)__cil_tmp110);
17192#line 1931
17193 __cil_tmp112 = (unsigned long )__cil_tmp111;
17194#line 1931
17195 __cil_tmp113 = __cil_tmp112 + 16;
17196#line 1931
17197 __cil_tmp114 = (struct device *)__cil_tmp113;
17198#line 1931
17199 __cil_tmp115 = (struct device *)__cil_tmp114;
17200#line 1931
17201 _dev_info(__cil_tmp115, "USB reset portsc 0x%x\n", tmp___2);
17202#line 1938
17203 udc_reset(udc);
17204#line 1941
17205 __cil_tmp116 = (unsigned long )udc;
17206#line 1941
17207 __cil_tmp117 = __cil_tmp116 + 1208;
17208#line 1941
17209 __cil_tmp118 = *((struct usb_gadget_driver **)__cil_tmp117);
17210#line 1941
17211 stop_activity(udc, __cil_tmp118);
17212#line 1944
17213 ep0_reset(udc);
17214#line 1947
17215 udc_start(udc);
17216#line 1949
17217 __cil_tmp119 = (unsigned long )udc;
17218#line 1949
17219 __cil_tmp120 = __cil_tmp119 + 1428;
17220#line 1949
17221 *((unsigned int *)__cil_tmp120) = 1U;
17222 }
17223 }
17224 }
17225#line 1951
17226 return;
17227}
17228}
17229#line 1953 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
17230static void handle_bus_resume(struct mv_udc *udc )
17231{ unsigned long __cil_tmp2 ;
17232 unsigned long __cil_tmp3 ;
17233 unsigned long __cil_tmp4 ;
17234 unsigned long __cil_tmp5 ;
17235 unsigned long __cil_tmp6 ;
17236 unsigned long __cil_tmp7 ;
17237 struct usb_gadget_driver *__cil_tmp8 ;
17238 unsigned long __cil_tmp9 ;
17239 unsigned long __cil_tmp10 ;
17240 unsigned long __cil_tmp11 ;
17241 struct usb_gadget_driver *__cil_tmp12 ;
17242 unsigned long __cil_tmp13 ;
17243 void (*__cil_tmp14)(struct usb_gadget * ) ;
17244 unsigned long __cil_tmp15 ;
17245 unsigned long __cil_tmp16 ;
17246 unsigned long __cil_tmp17 ;
17247 struct usb_gadget_driver *__cil_tmp18 ;
17248 unsigned long __cil_tmp19 ;
17249 unsigned long __cil_tmp20 ;
17250 void (*__cil_tmp21)(struct usb_gadget * ) ;
17251 unsigned long __cil_tmp22 ;
17252 unsigned long __cil_tmp23 ;
17253 unsigned long __cil_tmp24 ;
17254 spinlock_t *__cil_tmp25 ;
17255 unsigned long __cil_tmp26 ;
17256 unsigned long __cil_tmp27 ;
17257 struct usb_gadget_driver *__cil_tmp28 ;
17258 unsigned long __cil_tmp29 ;
17259 unsigned long __cil_tmp30 ;
17260 void (*__cil_tmp31)(struct usb_gadget * ) ;
17261 struct usb_gadget *__cil_tmp32 ;
17262 unsigned long __cil_tmp33 ;
17263 unsigned long __cil_tmp34 ;
17264 spinlock_t *__cil_tmp35 ;
17265
17266 {
17267#line 1955
17268 __cil_tmp2 = (unsigned long )udc;
17269#line 1955
17270 __cil_tmp3 = __cil_tmp2 + 1428;
17271#line 1955
17272 __cil_tmp4 = (unsigned long )udc;
17273#line 1955
17274 __cil_tmp5 = __cil_tmp4 + 1424;
17275#line 1955
17276 *((unsigned int *)__cil_tmp3) = *((unsigned int *)__cil_tmp5);
17277#line 1956
17278 __cil_tmp6 = (unsigned long )udc;
17279#line 1956
17280 __cil_tmp7 = __cil_tmp6 + 1424;
17281#line 1956
17282 *((unsigned int *)__cil_tmp7) = 0U;
17283 {
17284#line 1959
17285 __cil_tmp8 = (struct usb_gadget_driver *)0;
17286#line 1959
17287 __cil_tmp9 = (unsigned long )__cil_tmp8;
17288#line 1959
17289 __cil_tmp10 = (unsigned long )udc;
17290#line 1959
17291 __cil_tmp11 = __cil_tmp10 + 1208;
17292#line 1959
17293 __cil_tmp12 = *((struct usb_gadget_driver **)__cil_tmp11);
17294#line 1959
17295 __cil_tmp13 = (unsigned long )__cil_tmp12;
17296#line 1959
17297 if (__cil_tmp13 != __cil_tmp9) {
17298 {
17299#line 1960
17300 __cil_tmp14 = (void (*)(struct usb_gadget * ))0;
17301#line 1960
17302 __cil_tmp15 = (unsigned long )__cil_tmp14;
17303#line 1960
17304 __cil_tmp16 = (unsigned long )udc;
17305#line 1960
17306 __cil_tmp17 = __cil_tmp16 + 1208;
17307#line 1960
17308 __cil_tmp18 = *((struct usb_gadget_driver **)__cil_tmp17);
17309#line 1960
17310 __cil_tmp19 = (unsigned long )__cil_tmp18;
17311#line 1960
17312 __cil_tmp20 = __cil_tmp19 + 48;
17313#line 1960
17314 __cil_tmp21 = *((void (**)(struct usb_gadget * ))__cil_tmp20);
17315#line 1960
17316 __cil_tmp22 = (unsigned long )__cil_tmp21;
17317#line 1960
17318 if (__cil_tmp22 != __cil_tmp15) {
17319 {
17320#line 1961
17321 __cil_tmp23 = (unsigned long )udc;
17322#line 1961
17323 __cil_tmp24 = __cil_tmp23 + 1216;
17324#line 1961
17325 __cil_tmp25 = (spinlock_t *)__cil_tmp24;
17326#line 1961
17327 spin_unlock(__cil_tmp25);
17328#line 1962
17329 __cil_tmp26 = (unsigned long )udc;
17330#line 1962
17331 __cil_tmp27 = __cil_tmp26 + 1208;
17332#line 1962
17333 __cil_tmp28 = *((struct usb_gadget_driver **)__cil_tmp27);
17334#line 1962
17335 __cil_tmp29 = (unsigned long )__cil_tmp28;
17336#line 1962
17337 __cil_tmp30 = __cil_tmp29 + 48;
17338#line 1962
17339 __cil_tmp31 = *((void (**)(struct usb_gadget * ))__cil_tmp30);
17340#line 1962
17341 __cil_tmp32 = (struct usb_gadget *)udc;
17342#line 1962
17343 (*__cil_tmp31)(__cil_tmp32);
17344#line 1963
17345 __cil_tmp33 = (unsigned long )udc;
17346#line 1963
17347 __cil_tmp34 = __cil_tmp33 + 1216;
17348#line 1963
17349 __cil_tmp35 = (spinlock_t *)__cil_tmp34;
17350#line 1963
17351 spin_lock(__cil_tmp35);
17352 }
17353 } else {
17354
17355 }
17356 }
17357 } else {
17358
17359 }
17360 }
17361#line 1965
17362 return;
17363}
17364}
17365#line 1968 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
17366static void irq_process_suspend(struct mv_udc *udc )
17367{ unsigned long __cil_tmp2 ;
17368 unsigned long __cil_tmp3 ;
17369 unsigned long __cil_tmp4 ;
17370 unsigned long __cil_tmp5 ;
17371 unsigned long __cil_tmp6 ;
17372 unsigned long __cil_tmp7 ;
17373 void (*__cil_tmp8)(struct usb_gadget * ) ;
17374 unsigned long __cil_tmp9 ;
17375 unsigned long __cil_tmp10 ;
17376 unsigned long __cil_tmp11 ;
17377 struct usb_gadget_driver *__cil_tmp12 ;
17378 unsigned long __cil_tmp13 ;
17379 unsigned long __cil_tmp14 ;
17380 void (*__cil_tmp15)(struct usb_gadget * ) ;
17381 unsigned long __cil_tmp16 ;
17382 unsigned long __cil_tmp17 ;
17383 unsigned long __cil_tmp18 ;
17384 spinlock_t *__cil_tmp19 ;
17385 unsigned long __cil_tmp20 ;
17386 unsigned long __cil_tmp21 ;
17387 struct usb_gadget_driver *__cil_tmp22 ;
17388 unsigned long __cil_tmp23 ;
17389 unsigned long __cil_tmp24 ;
17390 void (*__cil_tmp25)(struct usb_gadget * ) ;
17391 struct usb_gadget *__cil_tmp26 ;
17392 unsigned long __cil_tmp27 ;
17393 unsigned long __cil_tmp28 ;
17394 spinlock_t *__cil_tmp29 ;
17395
17396 {
17397#line 1970
17398 __cil_tmp2 = (unsigned long )udc;
17399#line 1970
17400 __cil_tmp3 = __cil_tmp2 + 1424;
17401#line 1970
17402 __cil_tmp4 = (unsigned long )udc;
17403#line 1970
17404 __cil_tmp5 = __cil_tmp4 + 1428;
17405#line 1970
17406 *((unsigned int *)__cil_tmp3) = *((unsigned int *)__cil_tmp5);
17407#line 1971
17408 __cil_tmp6 = (unsigned long )udc;
17409#line 1971
17410 __cil_tmp7 = __cil_tmp6 + 1428;
17411#line 1971
17412 *((unsigned int *)__cil_tmp7) = 8U;
17413 {
17414#line 1973
17415 __cil_tmp8 = (void (*)(struct usb_gadget * ))0;
17416#line 1973
17417 __cil_tmp9 = (unsigned long )__cil_tmp8;
17418#line 1973
17419 __cil_tmp10 = (unsigned long )udc;
17420#line 1973
17421 __cil_tmp11 = __cil_tmp10 + 1208;
17422#line 1973
17423 __cil_tmp12 = *((struct usb_gadget_driver **)__cil_tmp11);
17424#line 1973
17425 __cil_tmp13 = (unsigned long )__cil_tmp12;
17426#line 1973
17427 __cil_tmp14 = __cil_tmp13 + 40;
17428#line 1973
17429 __cil_tmp15 = *((void (**)(struct usb_gadget * ))__cil_tmp14);
17430#line 1973
17431 __cil_tmp16 = (unsigned long )__cil_tmp15;
17432#line 1973
17433 if (__cil_tmp16 != __cil_tmp9) {
17434 {
17435#line 1974
17436 __cil_tmp17 = (unsigned long )udc;
17437#line 1974
17438 __cil_tmp18 = __cil_tmp17 + 1216;
17439#line 1974
17440 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
17441#line 1974
17442 spin_unlock(__cil_tmp19);
17443#line 1975
17444 __cil_tmp20 = (unsigned long )udc;
17445#line 1975
17446 __cil_tmp21 = __cil_tmp20 + 1208;
17447#line 1975
17448 __cil_tmp22 = *((struct usb_gadget_driver **)__cil_tmp21);
17449#line 1975
17450 __cil_tmp23 = (unsigned long )__cil_tmp22;
17451#line 1975
17452 __cil_tmp24 = __cil_tmp23 + 40;
17453#line 1975
17454 __cil_tmp25 = *((void (**)(struct usb_gadget * ))__cil_tmp24);
17455#line 1975
17456 __cil_tmp26 = (struct usb_gadget *)udc;
17457#line 1975
17458 (*__cil_tmp25)(__cil_tmp26);
17459#line 1976
17460 __cil_tmp27 = (unsigned long )udc;
17461#line 1976
17462 __cil_tmp28 = __cil_tmp27 + 1216;
17463#line 1976
17464 __cil_tmp29 = (spinlock_t *)__cil_tmp28;
17465#line 1976
17466 spin_lock(__cil_tmp29);
17467 }
17468 } else {
17469
17470 }
17471 }
17472#line 1978
17473 return;
17474}
17475}
17476#line 1980 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
17477static void irq_process_port_change(struct mv_udc *udc )
17478{ u32 portsc ;
17479 u32 speed ;
17480 unsigned long __cil_tmp4 ;
17481 unsigned long __cil_tmp5 ;
17482 struct mv_op_regs *__cil_tmp6 ;
17483 unsigned long __cil_tmp7 ;
17484 unsigned long __cil_tmp8 ;
17485 u32 (*__cil_tmp9)[8U] ;
17486 void volatile *__cil_tmp10 ;
17487 unsigned int __cil_tmp11 ;
17488 unsigned long __cil_tmp12 ;
17489 unsigned long __cil_tmp13 ;
17490 unsigned long __cil_tmp14 ;
17491 unsigned long __cil_tmp15 ;
17492 unsigned long __cil_tmp16 ;
17493 unsigned long __cil_tmp17 ;
17494 unsigned long __cil_tmp18 ;
17495 unsigned long __cil_tmp19 ;
17496 unsigned long __cil_tmp20 ;
17497 unsigned long __cil_tmp21 ;
17498 unsigned long __cil_tmp22 ;
17499 unsigned long __cil_tmp23 ;
17500 unsigned int __cil_tmp24 ;
17501 unsigned long __cil_tmp25 ;
17502 unsigned long __cil_tmp26 ;
17503 unsigned long __cil_tmp27 ;
17504 unsigned long __cil_tmp28 ;
17505 unsigned long __cil_tmp29 ;
17506 unsigned long __cil_tmp30 ;
17507 void (*__cil_tmp31)(struct usb_gadget * ) ;
17508 unsigned long __cil_tmp32 ;
17509 unsigned long __cil_tmp33 ;
17510 unsigned long __cil_tmp34 ;
17511 struct usb_gadget_driver *__cil_tmp35 ;
17512 unsigned long __cil_tmp36 ;
17513 unsigned long __cil_tmp37 ;
17514 void (*__cil_tmp38)(struct usb_gadget * ) ;
17515 unsigned long __cil_tmp39 ;
17516 unsigned long __cil_tmp40 ;
17517 unsigned long __cil_tmp41 ;
17518 spinlock_t *__cil_tmp42 ;
17519 unsigned long __cil_tmp43 ;
17520 unsigned long __cil_tmp44 ;
17521 struct usb_gadget_driver *__cil_tmp45 ;
17522 unsigned long __cil_tmp46 ;
17523 unsigned long __cil_tmp47 ;
17524 void (*__cil_tmp48)(struct usb_gadget * ) ;
17525 struct usb_gadget *__cil_tmp49 ;
17526 unsigned long __cil_tmp50 ;
17527 unsigned long __cil_tmp51 ;
17528 spinlock_t *__cil_tmp52 ;
17529 unsigned int __cil_tmp53 ;
17530 unsigned long __cil_tmp54 ;
17531 unsigned long __cil_tmp55 ;
17532 unsigned int __cil_tmp56 ;
17533 unsigned long __cil_tmp57 ;
17534 unsigned long __cil_tmp58 ;
17535 unsigned int __cil_tmp59 ;
17536 unsigned long __cil_tmp60 ;
17537 unsigned long __cil_tmp61 ;
17538
17539 {
17540 {
17541#line 1984
17542 __cil_tmp4 = (unsigned long )udc;
17543#line 1984
17544 __cil_tmp5 = __cil_tmp4 + 1320;
17545#line 1984
17546 __cil_tmp6 = *((struct mv_op_regs **)__cil_tmp5);
17547#line 1984
17548 __cil_tmp7 = (unsigned long )__cil_tmp6;
17549#line 1984
17550 __cil_tmp8 = __cil_tmp7 + 68;
17551#line 1984
17552 __cil_tmp9 = (u32 (*)[8U])__cil_tmp8;
17553#line 1984
17554 __cil_tmp10 = (void volatile *)__cil_tmp9;
17555#line 1984
17556 portsc = readl(__cil_tmp10);
17557 }
17558 {
17559#line 1985
17560 __cil_tmp11 = portsc & 256U;
17561#line 1985
17562 if (__cil_tmp11 == 0U) {
17563#line 1987
17564 speed = portsc & 201326592U;
17565#line 1989
17566 if ((int )speed == 134217728) {
17567#line 1989
17568 goto case_134217728;
17569 } else
17570#line 1992
17571 if ((int )speed == 0) {
17572#line 1992
17573 goto case_0;
17574 } else
17575#line 1995
17576 if ((int )speed == 67108864) {
17577#line 1995
17578 goto case_67108864;
17579 } else {
17580 {
17581#line 1998
17582 goto switch_default;
17583#line 1988
17584 if (0) {
17585 case_134217728:
17586#line 1990
17587 __cil_tmp12 = 0 + 32;
17588#line 1990
17589 __cil_tmp13 = (unsigned long )udc;
17590#line 1990
17591 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
17592#line 1990
17593 *((enum usb_device_speed *)__cil_tmp14) = (enum usb_device_speed )3;
17594#line 1991
17595 goto ldv_25882;
17596 case_0:
17597#line 1993
17598 __cil_tmp15 = 0 + 32;
17599#line 1993
17600 __cil_tmp16 = (unsigned long )udc;
17601#line 1993
17602 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
17603#line 1993
17604 *((enum usb_device_speed *)__cil_tmp17) = (enum usb_device_speed )2;
17605#line 1994
17606 goto ldv_25882;
17607 case_67108864:
17608#line 1996
17609 __cil_tmp18 = 0 + 32;
17610#line 1996
17611 __cil_tmp19 = (unsigned long )udc;
17612#line 1996
17613 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
17614#line 1996
17615 *((enum usb_device_speed *)__cil_tmp20) = (enum usb_device_speed )1;
17616#line 1997
17617 goto ldv_25882;
17618 switch_default:
17619#line 1999
17620 __cil_tmp21 = 0 + 32;
17621#line 1999
17622 __cil_tmp22 = (unsigned long )udc;
17623#line 1999
17624 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
17625#line 1999
17626 *((enum usb_device_speed *)__cil_tmp23) = (enum usb_device_speed )0;
17627#line 2000
17628 goto ldv_25882;
17629 } else {
17630 switch_break: ;
17631 }
17632 }
17633 }
17634 ldv_25882: ;
17635 } else {
17636
17637 }
17638 }
17639 {
17640#line 2004
17641 __cil_tmp24 = portsc & 128U;
17642#line 2004
17643 if (__cil_tmp24 != 0U) {
17644#line 2005
17645 __cil_tmp25 = (unsigned long )udc;
17646#line 2005
17647 __cil_tmp26 = __cil_tmp25 + 1424;
17648#line 2005
17649 __cil_tmp27 = (unsigned long )udc;
17650#line 2005
17651 __cil_tmp28 = __cil_tmp27 + 1428;
17652#line 2005
17653 *((unsigned int *)__cil_tmp26) = *((unsigned int *)__cil_tmp28);
17654#line 2006
17655 __cil_tmp29 = (unsigned long )udc;
17656#line 2006
17657 __cil_tmp30 = __cil_tmp29 + 1428;
17658#line 2006
17659 *((unsigned int *)__cil_tmp30) = 8U;
17660 {
17661#line 2007
17662 __cil_tmp31 = (void (*)(struct usb_gadget * ))0;
17663#line 2007
17664 __cil_tmp32 = (unsigned long )__cil_tmp31;
17665#line 2007
17666 __cil_tmp33 = (unsigned long )udc;
17667#line 2007
17668 __cil_tmp34 = __cil_tmp33 + 1208;
17669#line 2007
17670 __cil_tmp35 = *((struct usb_gadget_driver **)__cil_tmp34);
17671#line 2007
17672 __cil_tmp36 = (unsigned long )__cil_tmp35;
17673#line 2007
17674 __cil_tmp37 = __cil_tmp36 + 40;
17675#line 2007
17676 __cil_tmp38 = *((void (**)(struct usb_gadget * ))__cil_tmp37);
17677#line 2007
17678 __cil_tmp39 = (unsigned long )__cil_tmp38;
17679#line 2007
17680 if (__cil_tmp39 != __cil_tmp32) {
17681 {
17682#line 2008
17683 __cil_tmp40 = (unsigned long )udc;
17684#line 2008
17685 __cil_tmp41 = __cil_tmp40 + 1216;
17686#line 2008
17687 __cil_tmp42 = (spinlock_t *)__cil_tmp41;
17688#line 2008
17689 spin_unlock(__cil_tmp42);
17690#line 2009
17691 __cil_tmp43 = (unsigned long )udc;
17692#line 2009
17693 __cil_tmp44 = __cil_tmp43 + 1208;
17694#line 2009
17695 __cil_tmp45 = *((struct usb_gadget_driver **)__cil_tmp44);
17696#line 2009
17697 __cil_tmp46 = (unsigned long )__cil_tmp45;
17698#line 2009
17699 __cil_tmp47 = __cil_tmp46 + 40;
17700#line 2009
17701 __cil_tmp48 = *((void (**)(struct usb_gadget * ))__cil_tmp47);
17702#line 2009
17703 __cil_tmp49 = (struct usb_gadget *)udc;
17704#line 2009
17705 (*__cil_tmp48)(__cil_tmp49);
17706#line 2010
17707 __cil_tmp50 = (unsigned long )udc;
17708#line 2010
17709 __cil_tmp51 = __cil_tmp50 + 1216;
17710#line 2010
17711 __cil_tmp52 = (spinlock_t *)__cil_tmp51;
17712#line 2010
17713 spin_lock(__cil_tmp52);
17714 }
17715 } else {
17716
17717 }
17718 }
17719 } else {
17720
17721 }
17722 }
17723 {
17724#line 2014
17725 __cil_tmp53 = portsc & 128U;
17726#line 2014
17727 if (__cil_tmp53 == 0U) {
17728 {
17729#line 2014
17730 __cil_tmp54 = (unsigned long )udc;
17731#line 2014
17732 __cil_tmp55 = __cil_tmp54 + 1428;
17733#line 2014
17734 __cil_tmp56 = *((unsigned int *)__cil_tmp55);
17735#line 2014
17736 if (__cil_tmp56 == 8U) {
17737 {
17738#line 2016
17739 handle_bus_resume(udc);
17740 }
17741 } else {
17742
17743 }
17744 }
17745 } else {
17746
17747 }
17748 }
17749 {
17750#line 2019
17751 __cil_tmp57 = (unsigned long )udc;
17752#line 2019
17753 __cil_tmp58 = __cil_tmp57 + 1424;
17754#line 2019
17755 __cil_tmp59 = *((unsigned int *)__cil_tmp58);
17756#line 2019
17757 if (__cil_tmp59 == 0U) {
17758#line 2020
17759 __cil_tmp60 = (unsigned long )udc;
17760#line 2020
17761 __cil_tmp61 = __cil_tmp60 + 1428;
17762#line 2020
17763 *((unsigned int *)__cil_tmp61) = 5U;
17764 } else {
17765
17766 }
17767 }
17768#line 2021
17769 return;
17770}
17771}
17772#line 2023 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
17773static void irq_process_error(struct mv_udc *udc )
17774{ unsigned long __cil_tmp2 ;
17775 unsigned long __cil_tmp3 ;
17776 unsigned long __cil_tmp4 ;
17777 unsigned long __cil_tmp5 ;
17778 int __cil_tmp6 ;
17779
17780 {
17781#line 2026
17782 __cil_tmp2 = (unsigned long )udc;
17783#line 2026
17784 __cil_tmp3 = __cil_tmp2 + 1448;
17785#line 2026
17786 __cil_tmp4 = (unsigned long )udc;
17787#line 2026
17788 __cil_tmp5 = __cil_tmp4 + 1448;
17789#line 2026
17790 __cil_tmp6 = *((int *)__cil_tmp5);
17791#line 2026
17792 *((int *)__cil_tmp3) = __cil_tmp6 + 1;
17793#line 2027
17794 return;
17795}
17796}
17797#line 2029 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
17798static irqreturn_t mv_udc_irq(int irq , void *dev )
17799{ struct mv_udc *udc ;
17800 u32 status ;
17801 u32 intr ;
17802 unsigned char *__cil_tmp6 ;
17803 unsigned char *__cil_tmp7 ;
17804 unsigned char __cil_tmp8 ;
17805 unsigned int __cil_tmp9 ;
17806 unsigned long __cil_tmp10 ;
17807 unsigned long __cil_tmp11 ;
17808 spinlock_t *__cil_tmp12 ;
17809 unsigned long __cil_tmp13 ;
17810 unsigned long __cil_tmp14 ;
17811 struct mv_op_regs *__cil_tmp15 ;
17812 unsigned long __cil_tmp16 ;
17813 unsigned long __cil_tmp17 ;
17814 u32 *__cil_tmp18 ;
17815 void volatile *__cil_tmp19 ;
17816 unsigned long __cil_tmp20 ;
17817 unsigned long __cil_tmp21 ;
17818 struct mv_op_regs *__cil_tmp22 ;
17819 unsigned long __cil_tmp23 ;
17820 unsigned long __cil_tmp24 ;
17821 u32 *__cil_tmp25 ;
17822 void volatile *__cil_tmp26 ;
17823 unsigned long __cil_tmp27 ;
17824 unsigned long __cil_tmp28 ;
17825 spinlock_t *__cil_tmp29 ;
17826 unsigned long __cil_tmp30 ;
17827 unsigned long __cil_tmp31 ;
17828 struct mv_op_regs *__cil_tmp32 ;
17829 unsigned long __cil_tmp33 ;
17830 unsigned long __cil_tmp34 ;
17831 u32 *__cil_tmp35 ;
17832 void volatile *__cil_tmp36 ;
17833 unsigned int __cil_tmp37 ;
17834 unsigned int __cil_tmp38 ;
17835 unsigned int __cil_tmp39 ;
17836 int __cil_tmp40 ;
17837 unsigned int __cil_tmp41 ;
17838 unsigned long __cil_tmp42 ;
17839 unsigned long __cil_tmp43 ;
17840 spinlock_t *__cil_tmp44 ;
17841
17842 {
17843#line 2031
17844 udc = (struct mv_udc *)dev;
17845 {
17846#line 2035
17847 __cil_tmp6 = (unsigned char *)udc;
17848#line 2035
17849 __cil_tmp7 = __cil_tmp6 + 1452UL;
17850#line 2035
17851 __cil_tmp8 = *__cil_tmp7;
17852#line 2035
17853 __cil_tmp9 = (unsigned int )__cil_tmp8;
17854#line 2035
17855 if (__cil_tmp9 != 0U) {
17856#line 2036
17857 return ((irqreturn_t )0);
17858 } else {
17859
17860 }
17861 }
17862 {
17863#line 2038
17864 __cil_tmp10 = (unsigned long )udc;
17865#line 2038
17866 __cil_tmp11 = __cil_tmp10 + 1216;
17867#line 2038
17868 __cil_tmp12 = (spinlock_t *)__cil_tmp11;
17869#line 2038
17870 spin_lock(__cil_tmp12);
17871#line 2040
17872 __cil_tmp13 = (unsigned long )udc;
17873#line 2040
17874 __cil_tmp14 = __cil_tmp13 + 1320;
17875#line 2040
17876 __cil_tmp15 = *((struct mv_op_regs **)__cil_tmp14);
17877#line 2040
17878 __cil_tmp16 = (unsigned long )__cil_tmp15;
17879#line 2040
17880 __cil_tmp17 = __cil_tmp16 + 4;
17881#line 2040
17882 __cil_tmp18 = (u32 *)__cil_tmp17;
17883#line 2040
17884 __cil_tmp19 = (void volatile *)__cil_tmp18;
17885#line 2040
17886 status = readl(__cil_tmp19);
17887#line 2041
17888 __cil_tmp20 = (unsigned long )udc;
17889#line 2041
17890 __cil_tmp21 = __cil_tmp20 + 1320;
17891#line 2041
17892 __cil_tmp22 = *((struct mv_op_regs **)__cil_tmp21);
17893#line 2041
17894 __cil_tmp23 = (unsigned long )__cil_tmp22;
17895#line 2041
17896 __cil_tmp24 = __cil_tmp23 + 8;
17897#line 2041
17898 __cil_tmp25 = (u32 *)__cil_tmp24;
17899#line 2041
17900 __cil_tmp26 = (void volatile *)__cil_tmp25;
17901#line 2041
17902 intr = readl(__cil_tmp26);
17903#line 2042
17904 status = status & intr;
17905 }
17906#line 2044
17907 if (status == 0U) {
17908 {
17909#line 2045
17910 __cil_tmp27 = (unsigned long )udc;
17911#line 2045
17912 __cil_tmp28 = __cil_tmp27 + 1216;
17913#line 2045
17914 __cil_tmp29 = (spinlock_t *)__cil_tmp28;
17915#line 2045
17916 spin_unlock(__cil_tmp29);
17917 }
17918#line 2046
17919 return ((irqreturn_t )0);
17920 } else {
17921
17922 }
17923 {
17924#line 2050
17925 __cil_tmp30 = (unsigned long )udc;
17926#line 2050
17927 __cil_tmp31 = __cil_tmp30 + 1320;
17928#line 2050
17929 __cil_tmp32 = *((struct mv_op_regs **)__cil_tmp31);
17930#line 2050
17931 __cil_tmp33 = (unsigned long )__cil_tmp32;
17932#line 2050
17933 __cil_tmp34 = __cil_tmp33 + 4;
17934#line 2050
17935 __cil_tmp35 = (u32 *)__cil_tmp34;
17936#line 2050
17937 __cil_tmp36 = (void volatile *)__cil_tmp35;
17938#line 2050
17939 writel(status, __cil_tmp36);
17940 }
17941 {
17942#line 2052
17943 __cil_tmp37 = status & 2U;
17944#line 2052
17945 if (__cil_tmp37 != 0U) {
17946 {
17947#line 2053
17948 irq_process_error(udc);
17949 }
17950 } else {
17951
17952 }
17953 }
17954 {
17955#line 2055
17956 __cil_tmp38 = status & 64U;
17957#line 2055
17958 if (__cil_tmp38 != 0U) {
17959 {
17960#line 2056
17961 irq_process_reset(udc);
17962 }
17963 } else {
17964
17965 }
17966 }
17967 {
17968#line 2058
17969 __cil_tmp39 = status & 4U;
17970#line 2058
17971 if (__cil_tmp39 != 0U) {
17972 {
17973#line 2059
17974 irq_process_port_change(udc);
17975 }
17976 } else {
17977
17978 }
17979 }
17980 {
17981#line 2061
17982 __cil_tmp40 = (int )status;
17983#line 2061
17984 if (__cil_tmp40 & 1) {
17985 {
17986#line 2062
17987 irq_process_tr_complete(udc);
17988 }
17989 } else {
17990
17991 }
17992 }
17993 {
17994#line 2064
17995 __cil_tmp41 = status & 256U;
17996#line 2064
17997 if (__cil_tmp41 != 0U) {
17998 {
17999#line 2065
18000 irq_process_suspend(udc);
18001 }
18002 } else {
18003
18004 }
18005 }
18006 {
18007#line 2067
18008 __cil_tmp42 = (unsigned long )udc;
18009#line 2067
18010 __cil_tmp43 = __cil_tmp42 + 1216;
18011#line 2067
18012 __cil_tmp44 = (spinlock_t *)__cil_tmp43;
18013#line 2067
18014 spin_unlock(__cil_tmp44);
18015 }
18016#line 2069
18017 return ((irqreturn_t )1);
18018}
18019}
18020#line 2072 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
18021static irqreturn_t mv_udc_vbus_irq(int irq , void *dev )
18022{ struct mv_udc *udc ;
18023 struct workqueue_struct *__cil_tmp4 ;
18024 unsigned long __cil_tmp5 ;
18025 unsigned long __cil_tmp6 ;
18026 unsigned long __cil_tmp7 ;
18027 struct workqueue_struct *__cil_tmp8 ;
18028 unsigned long __cil_tmp9 ;
18029 unsigned long __cil_tmp10 ;
18030 unsigned long __cil_tmp11 ;
18031 struct workqueue_struct *__cil_tmp12 ;
18032 unsigned long __cil_tmp13 ;
18033 unsigned long __cil_tmp14 ;
18034 struct work_struct *__cil_tmp15 ;
18035
18036 {
18037#line 2074
18038 udc = (struct mv_udc *)dev;
18039 {
18040#line 2077
18041 __cil_tmp4 = (struct workqueue_struct *)0;
18042#line 2077
18043 __cil_tmp5 = (unsigned long )__cil_tmp4;
18044#line 2077
18045 __cil_tmp6 = (unsigned long )udc;
18046#line 2077
18047 __cil_tmp7 = __cil_tmp6 + 1536;
18048#line 2077
18049 __cil_tmp8 = *((struct workqueue_struct **)__cil_tmp7);
18050#line 2077
18051 __cil_tmp9 = (unsigned long )__cil_tmp8;
18052#line 2077
18053 if (__cil_tmp9 != __cil_tmp5) {
18054 {
18055#line 2078
18056 __cil_tmp10 = (unsigned long )udc;
18057#line 2078
18058 __cil_tmp11 = __cil_tmp10 + 1536;
18059#line 2078
18060 __cil_tmp12 = *((struct workqueue_struct **)__cil_tmp11);
18061#line 2078
18062 __cil_tmp13 = (unsigned long )udc;
18063#line 2078
18064 __cil_tmp14 = __cil_tmp13 + 1456;
18065#line 2078
18066 __cil_tmp15 = (struct work_struct *)__cil_tmp14;
18067#line 2078
18068 queue_work(__cil_tmp12, __cil_tmp15);
18069 }
18070 } else {
18071
18072 }
18073 }
18074#line 2080
18075 return ((irqreturn_t )1);
18076}
18077}
18078#line 2083 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
18079static void mv_udc_vbus_work(struct work_struct *work )
18080{ struct mv_udc *udc ;
18081 unsigned int vbus ;
18082 struct work_struct *__mptr ;
18083 int tmp ;
18084 struct mv_udc *__cil_tmp6 ;
18085 struct mv_usb_addon_irq *__cil_tmp7 ;
18086 unsigned long __cil_tmp8 ;
18087 unsigned long __cil_tmp9 ;
18088 unsigned long __cil_tmp10 ;
18089 struct mv_usb_platform_data *__cil_tmp11 ;
18090 unsigned long __cil_tmp12 ;
18091 unsigned long __cil_tmp13 ;
18092 struct mv_usb_addon_irq *__cil_tmp14 ;
18093 unsigned long __cil_tmp15 ;
18094 unsigned long __cil_tmp16 ;
18095 unsigned long __cil_tmp17 ;
18096 struct mv_usb_platform_data *__cil_tmp18 ;
18097 unsigned long __cil_tmp19 ;
18098 unsigned long __cil_tmp20 ;
18099 struct mv_usb_addon_irq *__cil_tmp21 ;
18100 unsigned long __cil_tmp22 ;
18101 unsigned long __cil_tmp23 ;
18102 int (*__cil_tmp24)(void) ;
18103 unsigned long __cil_tmp25 ;
18104 unsigned long __cil_tmp26 ;
18105 struct platform_device *__cil_tmp27 ;
18106 unsigned long __cil_tmp28 ;
18107 unsigned long __cil_tmp29 ;
18108 struct device *__cil_tmp30 ;
18109 struct device *__cil_tmp31 ;
18110 struct usb_gadget *__cil_tmp32 ;
18111 struct usb_gadget *__cil_tmp33 ;
18112
18113 {
18114#line 2088
18115 __mptr = (struct work_struct *)work;
18116#line 2088
18117 __cil_tmp6 = (struct mv_udc *)__mptr;
18118#line 2088
18119 udc = __cil_tmp6 + 0xfffffffffffffa50UL;
18120 {
18121#line 2089
18122 __cil_tmp7 = (struct mv_usb_addon_irq *)0;
18123#line 2089
18124 __cil_tmp8 = (unsigned long )__cil_tmp7;
18125#line 2089
18126 __cil_tmp9 = (unsigned long )udc;
18127#line 2089
18128 __cil_tmp10 = __cil_tmp9 + 1552;
18129#line 2089
18130 __cil_tmp11 = *((struct mv_usb_platform_data **)__cil_tmp10);
18131#line 2089
18132 __cil_tmp12 = (unsigned long )__cil_tmp11;
18133#line 2089
18134 __cil_tmp13 = __cil_tmp12 + 24;
18135#line 2089
18136 __cil_tmp14 = *((struct mv_usb_addon_irq **)__cil_tmp13);
18137#line 2089
18138 __cil_tmp15 = (unsigned long )__cil_tmp14;
18139#line 2089
18140 if (__cil_tmp15 == __cil_tmp8) {
18141#line 2090
18142 return;
18143 } else {
18144
18145 }
18146 }
18147 {
18148#line 2092
18149 __cil_tmp16 = (unsigned long )udc;
18150#line 2092
18151 __cil_tmp17 = __cil_tmp16 + 1552;
18152#line 2092
18153 __cil_tmp18 = *((struct mv_usb_platform_data **)__cil_tmp17);
18154#line 2092
18155 __cil_tmp19 = (unsigned long )__cil_tmp18;
18156#line 2092
18157 __cil_tmp20 = __cil_tmp19 + 24;
18158#line 2092
18159 __cil_tmp21 = *((struct mv_usb_addon_irq **)__cil_tmp20);
18160#line 2092
18161 __cil_tmp22 = (unsigned long )__cil_tmp21;
18162#line 2092
18163 __cil_tmp23 = __cil_tmp22 + 8;
18164#line 2092
18165 __cil_tmp24 = *((int (**)(void))__cil_tmp23);
18166#line 2092
18167 tmp = (*__cil_tmp24)();
18168#line 2092
18169 vbus = (unsigned int )tmp;
18170#line 2093
18171 __cil_tmp25 = (unsigned long )udc;
18172#line 2093
18173 __cil_tmp26 = __cil_tmp25 + 1296;
18174#line 2093
18175 __cil_tmp27 = *((struct platform_device **)__cil_tmp26);
18176#line 2093
18177 __cil_tmp28 = (unsigned long )__cil_tmp27;
18178#line 2093
18179 __cil_tmp29 = __cil_tmp28 + 16;
18180#line 2093
18181 __cil_tmp30 = (struct device *)__cil_tmp29;
18182#line 2093
18183 __cil_tmp31 = (struct device *)__cil_tmp30;
18184#line 2093
18185 _dev_info(__cil_tmp31, "vbus is %d\n", vbus);
18186 }
18187#line 2095
18188 if (vbus == 1U) {
18189 {
18190#line 2096
18191 __cil_tmp32 = (struct usb_gadget *)udc;
18192#line 2096
18193 mv_udc_vbus_session(__cil_tmp32, 1);
18194 }
18195 } else
18196#line 2097
18197 if (vbus == 0U) {
18198 {
18199#line 2098
18200 __cil_tmp33 = (struct usb_gadget *)udc;
18201#line 2098
18202 mv_udc_vbus_session(__cil_tmp33, 0);
18203 }
18204 } else {
18205
18206 }
18207#line 2099
18208 return;
18209}
18210}
18211#line 2102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
18212static void gadget_release(struct device *_dev )
18213{ struct mv_udc *udc ;
18214 unsigned long __cil_tmp3 ;
18215 unsigned long __cil_tmp4 ;
18216 struct completion *__cil_tmp5 ;
18217
18218 {
18219 {
18220#line 2104
18221 udc = the_controller;
18222#line 2106
18223 __cil_tmp3 = (unsigned long )udc;
18224#line 2106
18225 __cil_tmp4 = __cil_tmp3 + 1288;
18226#line 2106
18227 __cil_tmp5 = *((struct completion **)__cil_tmp4);
18228#line 2106
18229 complete(__cil_tmp5);
18230 }
18231#line 2107
18232 return;
18233}
18234}
18235#line 2169 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
18236static int mv_udc_probe(struct platform_device *dev )
18237{ struct mv_usb_platform_data *pdata ;
18238 struct mv_udc *udc ;
18239 int retval ;
18240 int clk_i ;
18241 struct resource *r ;
18242 size_t size ;
18243 void *tmp ;
18244 struct lock_class_key __key ;
18245 long tmp___0 ;
18246 long tmp___1 ;
18247 resource_size_t tmp___2 ;
18248 void *tmp___3 ;
18249 resource_size_t tmp___4 ;
18250 unsigned int tmp___5 ;
18251 unsigned int tmp___6 ;
18252 void *tmp___7 ;
18253 void *tmp___8 ;
18254 void *tmp___9 ;
18255 int tmp___10 ;
18256 struct lock_class_key __key___0 ;
18257 char *__lock_name ;
18258 struct workqueue_struct *tmp___11 ;
18259 struct lock_class_key __key___1 ;
18260 atomic_long_t __r_expr_0 ;
18261 char *tmp___12 ;
18262 unsigned long __cil_tmp27 ;
18263 unsigned long __cil_tmp28 ;
18264 unsigned long __cil_tmp29 ;
18265 void *__cil_tmp30 ;
18266 struct mv_usb_platform_data *__cil_tmp31 ;
18267 unsigned long __cil_tmp32 ;
18268 unsigned long __cil_tmp33 ;
18269 unsigned long __cil_tmp34 ;
18270 unsigned long __cil_tmp35 ;
18271 struct device *__cil_tmp36 ;
18272 struct device *__cil_tmp37 ;
18273 unsigned int __cil_tmp38 ;
18274 unsigned long __cil_tmp39 ;
18275 unsigned long __cil_tmp40 ;
18276 struct mv_udc *__cil_tmp41 ;
18277 unsigned long __cil_tmp42 ;
18278 unsigned long __cil_tmp43 ;
18279 unsigned long __cil_tmp44 ;
18280 unsigned long __cil_tmp45 ;
18281 struct device *__cil_tmp46 ;
18282 struct device *__cil_tmp47 ;
18283 unsigned long __cil_tmp48 ;
18284 unsigned long __cil_tmp49 ;
18285 unsigned long __cil_tmp50 ;
18286 unsigned long __cil_tmp51 ;
18287 unsigned long __cil_tmp52 ;
18288 unsigned long __cil_tmp53 ;
18289 unsigned long __cil_tmp54 ;
18290 void *__cil_tmp55 ;
18291 unsigned long __cil_tmp56 ;
18292 unsigned long __cil_tmp57 ;
18293 spinlock_t *__cil_tmp58 ;
18294 unsigned long __cil_tmp59 ;
18295 unsigned long __cil_tmp60 ;
18296 struct raw_spinlock *__cil_tmp61 ;
18297 unsigned long __cil_tmp62 ;
18298 unsigned long __cil_tmp63 ;
18299 unsigned long __cil_tmp64 ;
18300 unsigned long __cil_tmp65 ;
18301 unsigned int __cil_tmp66 ;
18302 unsigned long __cil_tmp67 ;
18303 unsigned long __cil_tmp68 ;
18304 unsigned long __cil_tmp69 ;
18305 unsigned long __cil_tmp70 ;
18306 unsigned long __cil_tmp71 ;
18307 unsigned long __cil_tmp72 ;
18308 unsigned long __cil_tmp73 ;
18309 unsigned long __cil_tmp74 ;
18310 unsigned long __cil_tmp75 ;
18311 unsigned long __cil_tmp76 ;
18312 unsigned long __cil_tmp77 ;
18313 unsigned long __cil_tmp78 ;
18314 struct clk *__cil_tmp79 ;
18315 void *__cil_tmp80 ;
18316 unsigned long __cil_tmp81 ;
18317 unsigned long __cil_tmp82 ;
18318 unsigned long __cil_tmp83 ;
18319 unsigned long __cil_tmp84 ;
18320 struct clk *__cil_tmp85 ;
18321 void *__cil_tmp86 ;
18322 unsigned long __cil_tmp87 ;
18323 unsigned long __cil_tmp88 ;
18324 unsigned int __cil_tmp89 ;
18325 unsigned int __cil_tmp90 ;
18326 unsigned long __cil_tmp91 ;
18327 unsigned long __cil_tmp92 ;
18328 struct platform_device *__cil_tmp93 ;
18329 struct resource *__cil_tmp94 ;
18330 unsigned long __cil_tmp95 ;
18331 unsigned long __cil_tmp96 ;
18332 unsigned long __cil_tmp97 ;
18333 unsigned long __cil_tmp98 ;
18334 struct device *__cil_tmp99 ;
18335 struct device *__cil_tmp100 ;
18336 struct resource *__cil_tmp101 ;
18337 resource_size_t __cil_tmp102 ;
18338 unsigned long __cil_tmp103 ;
18339 unsigned long __cil_tmp104 ;
18340 unsigned long __cil_tmp105 ;
18341 struct mv_cap_regs *__cil_tmp106 ;
18342 unsigned long __cil_tmp107 ;
18343 unsigned long __cil_tmp108 ;
18344 unsigned long __cil_tmp109 ;
18345 struct mv_cap_regs *__cil_tmp110 ;
18346 unsigned long __cil_tmp111 ;
18347 unsigned long __cil_tmp112 ;
18348 unsigned long __cil_tmp113 ;
18349 struct device *__cil_tmp114 ;
18350 struct device *__cil_tmp115 ;
18351 unsigned long __cil_tmp116 ;
18352 unsigned long __cil_tmp117 ;
18353 struct platform_device *__cil_tmp118 ;
18354 struct resource *__cil_tmp119 ;
18355 unsigned long __cil_tmp120 ;
18356 unsigned long __cil_tmp121 ;
18357 unsigned long __cil_tmp122 ;
18358 unsigned long __cil_tmp123 ;
18359 struct device *__cil_tmp124 ;
18360 struct device *__cil_tmp125 ;
18361 struct resource *__cil_tmp126 ;
18362 unsigned long __cil_tmp127 ;
18363 unsigned long __cil_tmp128 ;
18364 resource_size_t __cil_tmp129 ;
18365 unsigned long __cil_tmp130 ;
18366 void *__cil_tmp131 ;
18367 unsigned long __cil_tmp132 ;
18368 unsigned long __cil_tmp133 ;
18369 unsigned long __cil_tmp134 ;
18370 void *__cil_tmp135 ;
18371 unsigned long __cil_tmp136 ;
18372 unsigned long __cil_tmp137 ;
18373 unsigned long __cil_tmp138 ;
18374 struct device *__cil_tmp139 ;
18375 struct device *__cil_tmp140 ;
18376 unsigned long __cil_tmp141 ;
18377 unsigned long __cil_tmp142 ;
18378 struct mv_cap_regs *__cil_tmp143 ;
18379 u32 *__cil_tmp144 ;
18380 void volatile *__cil_tmp145 ;
18381 unsigned long __cil_tmp146 ;
18382 unsigned long __cil_tmp147 ;
18383 unsigned long __cil_tmp148 ;
18384 unsigned long __cil_tmp149 ;
18385 unsigned long __cil_tmp150 ;
18386 unsigned long __cil_tmp151 ;
18387 struct mv_cap_regs *__cil_tmp152 ;
18388 unsigned long __cil_tmp153 ;
18389 unsigned long __cil_tmp154 ;
18390 unsigned long __cil_tmp155 ;
18391 unsigned long __cil_tmp156 ;
18392 struct mv_cap_regs *__cil_tmp157 ;
18393 unsigned long __cil_tmp158 ;
18394 unsigned long __cil_tmp159 ;
18395 u32 *__cil_tmp160 ;
18396 void volatile *__cil_tmp161 ;
18397 unsigned long __cil_tmp162 ;
18398 unsigned long __cil_tmp163 ;
18399 unsigned long __cil_tmp164 ;
18400 unsigned long __cil_tmp165 ;
18401 struct mv_op_regs *__cil_tmp166 ;
18402 unsigned long __cil_tmp167 ;
18403 unsigned long __cil_tmp168 ;
18404 u32 *__cil_tmp169 ;
18405 void volatile *__cil_tmp170 ;
18406 unsigned long __cil_tmp171 ;
18407 unsigned long __cil_tmp172 ;
18408 unsigned int __cil_tmp173 ;
18409 unsigned long __cil_tmp174 ;
18410 size_t __cil_tmp175 ;
18411 unsigned long __cil_tmp176 ;
18412 unsigned long __cil_tmp177 ;
18413 struct device *__cil_tmp178 ;
18414 unsigned long __cil_tmp179 ;
18415 unsigned long __cil_tmp180 ;
18416 dma_addr_t *__cil_tmp181 ;
18417 struct dma_attrs *__cil_tmp182 ;
18418 unsigned long __cil_tmp183 ;
18419 unsigned long __cil_tmp184 ;
18420 struct mv_dqh *__cil_tmp185 ;
18421 unsigned long __cil_tmp186 ;
18422 unsigned long __cil_tmp187 ;
18423 unsigned long __cil_tmp188 ;
18424 struct mv_dqh *__cil_tmp189 ;
18425 unsigned long __cil_tmp190 ;
18426 unsigned long __cil_tmp191 ;
18427 unsigned long __cil_tmp192 ;
18428 struct device *__cil_tmp193 ;
18429 struct device *__cil_tmp194 ;
18430 unsigned long __cil_tmp195 ;
18431 unsigned long __cil_tmp196 ;
18432 unsigned long __cil_tmp197 ;
18433 unsigned long __cil_tmp198 ;
18434 unsigned long __cil_tmp199 ;
18435 unsigned long __cil_tmp200 ;
18436 struct device *__cil_tmp201 ;
18437 struct dma_pool *__cil_tmp202 ;
18438 unsigned long __cil_tmp203 ;
18439 unsigned long __cil_tmp204 ;
18440 unsigned long __cil_tmp205 ;
18441 struct dma_pool *__cil_tmp206 ;
18442 unsigned long __cil_tmp207 ;
18443 unsigned long __cil_tmp208 ;
18444 unsigned long __cil_tmp209 ;
18445 unsigned int __cil_tmp210 ;
18446 unsigned long __cil_tmp211 ;
18447 unsigned long __cil_tmp212 ;
18448 unsigned long __cil_tmp213 ;
18449 struct mv_ep *__cil_tmp214 ;
18450 unsigned long __cil_tmp215 ;
18451 unsigned long __cil_tmp216 ;
18452 unsigned long __cil_tmp217 ;
18453 struct mv_ep *__cil_tmp218 ;
18454 unsigned long __cil_tmp219 ;
18455 unsigned long __cil_tmp220 ;
18456 unsigned long __cil_tmp221 ;
18457 struct device *__cil_tmp222 ;
18458 struct device *__cil_tmp223 ;
18459 unsigned long __cil_tmp224 ;
18460 unsigned long __cil_tmp225 ;
18461 struct mv_req *__cil_tmp226 ;
18462 unsigned long __cil_tmp227 ;
18463 unsigned long __cil_tmp228 ;
18464 unsigned long __cil_tmp229 ;
18465 struct mv_req *__cil_tmp230 ;
18466 unsigned long __cil_tmp231 ;
18467 unsigned long __cil_tmp232 ;
18468 unsigned long __cil_tmp233 ;
18469 struct device *__cil_tmp234 ;
18470 struct device *__cil_tmp235 ;
18471 unsigned long __cil_tmp236 ;
18472 unsigned long __cil_tmp237 ;
18473 struct mv_req *__cil_tmp238 ;
18474 unsigned long __cil_tmp239 ;
18475 unsigned long __cil_tmp240 ;
18476 struct list_head *__cil_tmp241 ;
18477 unsigned long __cil_tmp242 ;
18478 unsigned long __cil_tmp243 ;
18479 struct mv_req *__cil_tmp244 ;
18480 unsigned long __cil_tmp245 ;
18481 unsigned long __cil_tmp246 ;
18482 unsigned long __cil_tmp247 ;
18483 struct mv_req *__cil_tmp248 ;
18484 unsigned long __cil_tmp249 ;
18485 unsigned long __cil_tmp250 ;
18486 unsigned long __cil_tmp251 ;
18487 unsigned long __cil_tmp252 ;
18488 unsigned long __cil_tmp253 ;
18489 unsigned long __cil_tmp254 ;
18490 unsigned long __cil_tmp255 ;
18491 unsigned long __cil_tmp256 ;
18492 unsigned long __cil_tmp257 ;
18493 unsigned long __cil_tmp258 ;
18494 struct platform_device *__cil_tmp259 ;
18495 struct resource *__cil_tmp260 ;
18496 unsigned long __cil_tmp261 ;
18497 unsigned long __cil_tmp262 ;
18498 unsigned long __cil_tmp263 ;
18499 unsigned long __cil_tmp264 ;
18500 struct device *__cil_tmp265 ;
18501 struct device *__cil_tmp266 ;
18502 unsigned long __cil_tmp267 ;
18503 unsigned long __cil_tmp268 ;
18504 resource_size_t __cil_tmp269 ;
18505 unsigned long __cil_tmp270 ;
18506 unsigned long __cil_tmp271 ;
18507 int __cil_tmp272 ;
18508 unsigned int __cil_tmp273 ;
18509 char *__cil_tmp274 ;
18510 void *__cil_tmp275 ;
18511 unsigned long __cil_tmp276 ;
18512 unsigned long __cil_tmp277 ;
18513 struct device *__cil_tmp278 ;
18514 struct device *__cil_tmp279 ;
18515 unsigned long __cil_tmp280 ;
18516 unsigned long __cil_tmp281 ;
18517 int __cil_tmp282 ;
18518 unsigned long __cil_tmp283 ;
18519 unsigned long __cil_tmp284 ;
18520 unsigned long __cil_tmp285 ;
18521 unsigned long __cil_tmp286 ;
18522 unsigned long __cil_tmp287 ;
18523 struct mv_ep *__cil_tmp288 ;
18524 unsigned long __cil_tmp289 ;
18525 unsigned long __cil_tmp290 ;
18526 unsigned long __cil_tmp291 ;
18527 struct list_head *__cil_tmp292 ;
18528 unsigned long __cil_tmp293 ;
18529 unsigned long __cil_tmp294 ;
18530 unsigned long __cil_tmp295 ;
18531 unsigned long __cil_tmp296 ;
18532 unsigned long __cil_tmp297 ;
18533 unsigned long __cil_tmp298 ;
18534 unsigned long __cil_tmp299 ;
18535 unsigned long __cil_tmp300 ;
18536 unsigned long __cil_tmp301 ;
18537 struct device *__cil_tmp302 ;
18538 unsigned long __cil_tmp303 ;
18539 unsigned long __cil_tmp304 ;
18540 unsigned long __cil_tmp305 ;
18541 unsigned long __cil_tmp306 ;
18542 unsigned long __cil_tmp307 ;
18543 unsigned long __cil_tmp308 ;
18544 unsigned long __cil_tmp309 ;
18545 unsigned long __cil_tmp310 ;
18546 unsigned long __cil_tmp311 ;
18547 unsigned long __cil_tmp312 ;
18548 unsigned long __cil_tmp313 ;
18549 unsigned long __cil_tmp314 ;
18550 unsigned long __cil_tmp315 ;
18551 unsigned long __cil_tmp316 ;
18552 unsigned long __cil_tmp317 ;
18553 unsigned long __cil_tmp318 ;
18554 unsigned long __cil_tmp319 ;
18555 unsigned long __cil_tmp320 ;
18556 unsigned long __cil_tmp321 ;
18557 unsigned long __cil_tmp322 ;
18558 unsigned long __cil_tmp323 ;
18559 unsigned long __cil_tmp324 ;
18560 struct device *__cil_tmp325 ;
18561 struct usb_phy *__cil_tmp326 ;
18562 unsigned long __cil_tmp327 ;
18563 unsigned long __cil_tmp328 ;
18564 unsigned long __cil_tmp329 ;
18565 struct usb_phy *__cil_tmp330 ;
18566 unsigned long __cil_tmp331 ;
18567 struct mv_usb_addon_irq *__cil_tmp332 ;
18568 unsigned long __cil_tmp333 ;
18569 unsigned long __cil_tmp334 ;
18570 unsigned long __cil_tmp335 ;
18571 struct mv_usb_addon_irq *__cil_tmp336 ;
18572 unsigned long __cil_tmp337 ;
18573 unsigned long __cil_tmp338 ;
18574 unsigned long __cil_tmp339 ;
18575 struct mv_usb_addon_irq *__cil_tmp340 ;
18576 unsigned int __cil_tmp341 ;
18577 irqreturn_t (*__cil_tmp342)(int , void * ) ;
18578 void *__cil_tmp343 ;
18579 unsigned long __cil_tmp344 ;
18580 unsigned long __cil_tmp345 ;
18581 struct device *__cil_tmp346 ;
18582 struct device *__cil_tmp347 ;
18583 unsigned long __cil_tmp348 ;
18584 unsigned long __cil_tmp349 ;
18585 struct workqueue_struct *__cil_tmp350 ;
18586 unsigned long __cil_tmp351 ;
18587 unsigned long __cil_tmp352 ;
18588 unsigned long __cil_tmp353 ;
18589 struct workqueue_struct *__cil_tmp354 ;
18590 unsigned long __cil_tmp355 ;
18591 unsigned long __cil_tmp356 ;
18592 unsigned long __cil_tmp357 ;
18593 struct device *__cil_tmp358 ;
18594 struct device *__cil_tmp359 ;
18595 unsigned long __cil_tmp360 ;
18596 unsigned long __cil_tmp361 ;
18597 struct work_struct *__cil_tmp362 ;
18598 unsigned long __cil_tmp363 ;
18599 unsigned long __cil_tmp364 ;
18600 unsigned long __cil_tmp365 ;
18601 unsigned long __cil_tmp366 ;
18602 unsigned long __cil_tmp367 ;
18603 struct lockdep_map *__cil_tmp368 ;
18604 unsigned long __cil_tmp369 ;
18605 unsigned long __cil_tmp370 ;
18606 unsigned long __cil_tmp371 ;
18607 struct list_head *__cil_tmp372 ;
18608 unsigned long __cil_tmp373 ;
18609 unsigned long __cil_tmp374 ;
18610 unsigned long __cil_tmp375 ;
18611 unsigned char *__cil_tmp376 ;
18612 unsigned char *__cil_tmp377 ;
18613 unsigned char __cil_tmp378 ;
18614 unsigned int __cil_tmp379 ;
18615 unsigned long __cil_tmp380 ;
18616 unsigned long __cil_tmp381 ;
18617 struct device *__cil_tmp382 ;
18618 struct usb_gadget *__cil_tmp383 ;
18619 unsigned char *__cil_tmp384 ;
18620 unsigned char *__cil_tmp385 ;
18621 unsigned char __cil_tmp386 ;
18622 unsigned int __cil_tmp387 ;
18623 unsigned long __cil_tmp388 ;
18624 unsigned long __cil_tmp389 ;
18625 struct device *__cil_tmp390 ;
18626 struct device *__cil_tmp391 ;
18627 struct mv_usb_platform_data *__cil_tmp392 ;
18628 unsigned long __cil_tmp393 ;
18629 unsigned long __cil_tmp394 ;
18630 unsigned long __cil_tmp395 ;
18631 struct mv_usb_platform_data *__cil_tmp396 ;
18632 unsigned long __cil_tmp397 ;
18633 struct mv_usb_addon_irq *__cil_tmp398 ;
18634 unsigned long __cil_tmp399 ;
18635 unsigned long __cil_tmp400 ;
18636 unsigned long __cil_tmp401 ;
18637 struct mv_usb_platform_data *__cil_tmp402 ;
18638 unsigned long __cil_tmp403 ;
18639 unsigned long __cil_tmp404 ;
18640 struct mv_usb_addon_irq *__cil_tmp405 ;
18641 unsigned long __cil_tmp406 ;
18642 unsigned char *__cil_tmp407 ;
18643 unsigned char *__cil_tmp408 ;
18644 unsigned char __cil_tmp409 ;
18645 unsigned int __cil_tmp410 ;
18646 struct usb_phy *__cil_tmp411 ;
18647 unsigned long __cil_tmp412 ;
18648 unsigned long __cil_tmp413 ;
18649 unsigned long __cil_tmp414 ;
18650 struct usb_phy *__cil_tmp415 ;
18651 unsigned long __cil_tmp416 ;
18652 unsigned long __cil_tmp417 ;
18653 unsigned long __cil_tmp418 ;
18654 struct mv_usb_addon_irq *__cil_tmp419 ;
18655 unsigned int __cil_tmp420 ;
18656 unsigned long __cil_tmp421 ;
18657 unsigned long __cil_tmp422 ;
18658 struct device *__cil_tmp423 ;
18659 void *__cil_tmp424 ;
18660 unsigned long __cil_tmp425 ;
18661 unsigned long __cil_tmp426 ;
18662 unsigned long __cil_tmp427 ;
18663 struct device *__cil_tmp428 ;
18664 unsigned long __cil_tmp429 ;
18665 unsigned long __cil_tmp430 ;
18666 int __cil_tmp431 ;
18667 unsigned int __cil_tmp432 ;
18668 unsigned long __cil_tmp433 ;
18669 unsigned long __cil_tmp434 ;
18670 struct device *__cil_tmp435 ;
18671 void *__cil_tmp436 ;
18672 unsigned long __cil_tmp437 ;
18673 unsigned long __cil_tmp438 ;
18674 struct mv_req *__cil_tmp439 ;
18675 void *__cil_tmp440 ;
18676 void *__cil_tmp441 ;
18677 unsigned long __cil_tmp442 ;
18678 unsigned long __cil_tmp443 ;
18679 struct mv_req *__cil_tmp444 ;
18680 void *__cil_tmp445 ;
18681 unsigned long __cil_tmp446 ;
18682 unsigned long __cil_tmp447 ;
18683 struct mv_ep *__cil_tmp448 ;
18684 void *__cil_tmp449 ;
18685 unsigned long __cil_tmp450 ;
18686 unsigned long __cil_tmp451 ;
18687 struct dma_pool *__cil_tmp452 ;
18688 unsigned long __cil_tmp453 ;
18689 unsigned long __cil_tmp454 ;
18690 struct device *__cil_tmp455 ;
18691 unsigned long __cil_tmp456 ;
18692 unsigned long __cil_tmp457 ;
18693 size_t __cil_tmp458 ;
18694 unsigned long __cil_tmp459 ;
18695 unsigned long __cil_tmp460 ;
18696 struct mv_dqh *__cil_tmp461 ;
18697 void *__cil_tmp462 ;
18698 unsigned long __cil_tmp463 ;
18699 unsigned long __cil_tmp464 ;
18700 dma_addr_t __cil_tmp465 ;
18701 struct dma_attrs *__cil_tmp466 ;
18702 unsigned long __cil_tmp467 ;
18703 unsigned long __cil_tmp468 ;
18704 void *__cil_tmp469 ;
18705 void volatile *__cil_tmp470 ;
18706 unsigned long __cil_tmp471 ;
18707 unsigned long __cil_tmp472 ;
18708 struct mv_cap_regs *__cil_tmp473 ;
18709 void volatile *__cil_tmp474 ;
18710 void *__cil_tmp475 ;
18711 long __r_expr_0_counter476 ;
18712
18713 {
18714#line 2171
18715 __cil_tmp27 = 16 + 280;
18716#line 2171
18717 __cil_tmp28 = (unsigned long )dev;
18718#line 2171
18719 __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
18720#line 2171
18721 __cil_tmp30 = *((void **)__cil_tmp29);
18722#line 2171
18723 pdata = (struct mv_usb_platform_data *)__cil_tmp30;
18724#line 2173
18725 retval = 0;
18726#line 2174
18727 clk_i = 0;
18728 {
18729#line 2178
18730 __cil_tmp31 = (struct mv_usb_platform_data *)0;
18731#line 2178
18732 __cil_tmp32 = (unsigned long )__cil_tmp31;
18733#line 2178
18734 __cil_tmp33 = (unsigned long )pdata;
18735#line 2178
18736 if (__cil_tmp33 == __cil_tmp32) {
18737 {
18738#line 2179
18739 __cil_tmp34 = (unsigned long )dev;
18740#line 2179
18741 __cil_tmp35 = __cil_tmp34 + 16;
18742#line 2179
18743 __cil_tmp36 = (struct device *)__cil_tmp35;
18744#line 2179
18745 __cil_tmp37 = (struct device *)__cil_tmp36;
18746#line 2179
18747 dev_err(__cil_tmp37, "missing platform_data\n");
18748 }
18749#line 2180
18750 return (-19);
18751 } else {
18752
18753 }
18754 }
18755 {
18756#line 2183
18757 __cil_tmp38 = *((unsigned int *)pdata);
18758#line 2183
18759 __cil_tmp39 = (unsigned long )__cil_tmp38;
18760#line 2183
18761 __cil_tmp40 = __cil_tmp39 + 196UL;
18762#line 2183
18763 size = __cil_tmp40 * 8UL;
18764#line 2184
18765 tmp = kzalloc(size, 208U);
18766#line 2184
18767 udc = (struct mv_udc *)tmp;
18768 }
18769 {
18770#line 2185
18771 __cil_tmp41 = (struct mv_udc *)0;
18772#line 2185
18773 __cil_tmp42 = (unsigned long )__cil_tmp41;
18774#line 2185
18775 __cil_tmp43 = (unsigned long )udc;
18776#line 2185
18777 if (__cil_tmp43 == __cil_tmp42) {
18778 {
18779#line 2186
18780 __cil_tmp44 = (unsigned long )dev;
18781#line 2186
18782 __cil_tmp45 = __cil_tmp44 + 16;
18783#line 2186
18784 __cil_tmp46 = (struct device *)__cil_tmp45;
18785#line 2186
18786 __cil_tmp47 = (struct device *)__cil_tmp46;
18787#line 2186
18788 dev_err(__cil_tmp47, "failed to allocate memory for udc\n");
18789 }
18790#line 2187
18791 return (-12);
18792 } else {
18793
18794 }
18795 }
18796 {
18797#line 2190
18798 the_controller = udc;
18799#line 2191
18800 __cil_tmp48 = (unsigned long )udc;
18801#line 2191
18802 __cil_tmp49 = __cil_tmp48 + 1288;
18803#line 2191
18804 *((struct completion **)__cil_tmp49) = & release_done;
18805#line 2192
18806 __cil_tmp50 = (unsigned long )udc;
18807#line 2192
18808 __cil_tmp51 = __cil_tmp50 + 1552;
18809#line 2192
18810 __cil_tmp52 = 16 + 280;
18811#line 2192
18812 __cil_tmp53 = (unsigned long )dev;
18813#line 2192
18814 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
18815#line 2192
18816 __cil_tmp55 = *((void **)__cil_tmp54);
18817#line 2192
18818 *((struct mv_usb_platform_data **)__cil_tmp51) = (struct mv_usb_platform_data *)__cil_tmp55;
18819#line 2193
18820 __cil_tmp56 = (unsigned long )udc;
18821#line 2193
18822 __cil_tmp57 = __cil_tmp56 + 1216;
18823#line 2193
18824 __cil_tmp58 = (spinlock_t *)__cil_tmp57;
18825#line 2193
18826 spinlock_check(__cil_tmp58);
18827#line 2193
18828 __cil_tmp59 = (unsigned long )udc;
18829#line 2193
18830 __cil_tmp60 = __cil_tmp59 + 1216;
18831#line 2193
18832 __cil_tmp61 = (struct raw_spinlock *)__cil_tmp60;
18833#line 2193
18834 __raw_spin_lock_init(__cil_tmp61, "&(&udc->lock)->rlock", & __key);
18835#line 2195
18836 __cil_tmp62 = (unsigned long )udc;
18837#line 2195
18838 __cil_tmp63 = __cil_tmp62 + 1296;
18839#line 2195
18840 *((struct platform_device **)__cil_tmp63) = dev;
18841 }
18842 {
18843#line 2198
18844 __cil_tmp64 = (unsigned long )pdata;
18845#line 2198
18846 __cil_tmp65 = __cil_tmp64 + 32;
18847#line 2198
18848 __cil_tmp66 = *((unsigned int *)__cil_tmp65);
18849#line 2198
18850 if (__cil_tmp66 == 0U) {
18851 {
18852#line 2199
18853 __cil_tmp67 = (unsigned long )udc;
18854#line 2199
18855 __cil_tmp68 = __cil_tmp67 + 1544;
18856#line 2199
18857 *((struct usb_phy **)__cil_tmp68) = usb_get_transceiver();
18858 }
18859 } else {
18860
18861 }
18862 }
18863#line 2202
18864 __cil_tmp69 = (unsigned long )udc;
18865#line 2202
18866 __cil_tmp70 = __cil_tmp69 + 1560;
18867#line 2202
18868 *((unsigned int *)__cil_tmp70) = *((unsigned int *)pdata);
18869#line 2203
18870 clk_i = 0;
18871#line 2203
18872 goto ldv_25932;
18873 ldv_25931:
18874 {
18875#line 2204
18876 __cil_tmp71 = clk_i * 8UL;
18877#line 2204
18878 __cil_tmp72 = 1568 + __cil_tmp71;
18879#line 2204
18880 __cil_tmp73 = (unsigned long )udc;
18881#line 2204
18882 __cil_tmp74 = __cil_tmp73 + __cil_tmp72;
18883#line 2204
18884 *((struct clk **)__cil_tmp74) = (struct clk *)0;
18885#line 2205
18886 __cil_tmp75 = clk_i * 8UL;
18887#line 2205
18888 __cil_tmp76 = 1568 + __cil_tmp75;
18889#line 2205
18890 __cil_tmp77 = (unsigned long )udc;
18891#line 2205
18892 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
18893#line 2205
18894 __cil_tmp79 = *((struct clk **)__cil_tmp78);
18895#line 2205
18896 __cil_tmp80 = (void *)__cil_tmp79;
18897#line 2205
18898 tmp___1 = IS_ERR(__cil_tmp80);
18899 }
18900#line 2205
18901 if (tmp___1 != 0L) {
18902 {
18903#line 2206
18904 __cil_tmp81 = clk_i * 8UL;
18905#line 2206
18906 __cil_tmp82 = 1568 + __cil_tmp81;
18907#line 2206
18908 __cil_tmp83 = (unsigned long )udc;
18909#line 2206
18910 __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
18911#line 2206
18912 __cil_tmp85 = *((struct clk **)__cil_tmp84);
18913#line 2206
18914 __cil_tmp86 = (void *)__cil_tmp85;
18915#line 2206
18916 tmp___0 = PTR_ERR(__cil_tmp86);
18917#line 2206
18918 retval = (int )tmp___0;
18919 }
18920#line 2207
18921 goto err_put_clk;
18922 } else {
18923
18924 }
18925#line 2203
18926 clk_i = clk_i + 1;
18927 ldv_25932: ;
18928 {
18929#line 2203
18930 __cil_tmp87 = (unsigned long )udc;
18931#line 2203
18932 __cil_tmp88 = __cil_tmp87 + 1560;
18933#line 2203
18934 __cil_tmp89 = *((unsigned int *)__cil_tmp88);
18935#line 2203
18936 __cil_tmp90 = (unsigned int )clk_i;
18937#line 2203
18938 if (__cil_tmp90 < __cil_tmp89) {
18939#line 2204
18940 goto ldv_25931;
18941 } else {
18942#line 2206
18943 goto ldv_25933;
18944 }
18945 }
18946 ldv_25933:
18947 {
18948#line 2211
18949 __cil_tmp91 = (unsigned long )udc;
18950#line 2211
18951 __cil_tmp92 = __cil_tmp91 + 1296;
18952#line 2211
18953 __cil_tmp93 = *((struct platform_device **)__cil_tmp92);
18954#line 2211
18955 r = platform_get_resource_byname(__cil_tmp93, 512U, "capregs");
18956 }
18957 {
18958#line 2212
18959 __cil_tmp94 = (struct resource *)0;
18960#line 2212
18961 __cil_tmp95 = (unsigned long )__cil_tmp94;
18962#line 2212
18963 __cil_tmp96 = (unsigned long )r;
18964#line 2212
18965 if (__cil_tmp96 == __cil_tmp95) {
18966 {
18967#line 2213
18968 __cil_tmp97 = (unsigned long )dev;
18969#line 2213
18970 __cil_tmp98 = __cil_tmp97 + 16;
18971#line 2213
18972 __cil_tmp99 = (struct device *)__cil_tmp98;
18973#line 2213
18974 __cil_tmp100 = (struct device *)__cil_tmp99;
18975#line 2213
18976 dev_err(__cil_tmp100, "no I/O memory resource defined\n");
18977#line 2214
18978 retval = -19;
18979 }
18980#line 2215
18981 goto err_put_clk;
18982 } else {
18983
18984 }
18985 }
18986 {
18987#line 2218
18988 __cil_tmp101 = (struct resource *)r;
18989#line 2218
18990 tmp___2 = resource_size(__cil_tmp101);
18991#line 2218
18992 __cil_tmp102 = *((resource_size_t *)r);
18993#line 2218
18994 __cil_tmp103 = (unsigned long )tmp___2;
18995#line 2218
18996 tmp___3 = ioremap(__cil_tmp102, __cil_tmp103);
18997#line 2218
18998 __cil_tmp104 = (unsigned long )udc;
18999#line 2218
19000 __cil_tmp105 = __cil_tmp104 + 1312;
19001#line 2218
19002 *((struct mv_cap_regs **)__cil_tmp105) = (struct mv_cap_regs *)tmp___3;
19003 }
19004 {
19005#line 2220
19006 __cil_tmp106 = (struct mv_cap_regs *)0;
19007#line 2220
19008 __cil_tmp107 = (unsigned long )__cil_tmp106;
19009#line 2220
19010 __cil_tmp108 = (unsigned long )udc;
19011#line 2220
19012 __cil_tmp109 = __cil_tmp108 + 1312;
19013#line 2220
19014 __cil_tmp110 = *((struct mv_cap_regs **)__cil_tmp109);
19015#line 2220
19016 __cil_tmp111 = (unsigned long )__cil_tmp110;
19017#line 2220
19018 if (__cil_tmp111 == __cil_tmp107) {
19019 {
19020#line 2221
19021 __cil_tmp112 = (unsigned long )dev;
19022#line 2221
19023 __cil_tmp113 = __cil_tmp112 + 16;
19024#line 2221
19025 __cil_tmp114 = (struct device *)__cil_tmp113;
19026#line 2221
19027 __cil_tmp115 = (struct device *)__cil_tmp114;
19028#line 2221
19029 dev_err(__cil_tmp115, "failed to map I/O memory\n");
19030#line 2222
19031 retval = -16;
19032 }
19033#line 2223
19034 goto err_put_clk;
19035 } else {
19036
19037 }
19038 }
19039 {
19040#line 2226
19041 __cil_tmp116 = (unsigned long )udc;
19042#line 2226
19043 __cil_tmp117 = __cil_tmp116 + 1296;
19044#line 2226
19045 __cil_tmp118 = *((struct platform_device **)__cil_tmp117);
19046#line 2226
19047 r = platform_get_resource_byname(__cil_tmp118, 512U, "phyregs");
19048 }
19049 {
19050#line 2227
19051 __cil_tmp119 = (struct resource *)0;
19052#line 2227
19053 __cil_tmp120 = (unsigned long )__cil_tmp119;
19054#line 2227
19055 __cil_tmp121 = (unsigned long )r;
19056#line 2227
19057 if (__cil_tmp121 == __cil_tmp120) {
19058 {
19059#line 2228
19060 __cil_tmp122 = (unsigned long )dev;
19061#line 2228
19062 __cil_tmp123 = __cil_tmp122 + 16;
19063#line 2228
19064 __cil_tmp124 = (struct device *)__cil_tmp123;
19065#line 2228
19066 __cil_tmp125 = (struct device *)__cil_tmp124;
19067#line 2228
19068 dev_err(__cil_tmp125, "no phy I/O memory resource defined\n");
19069#line 2229
19070 retval = -19;
19071 }
19072#line 2230
19073 goto err_iounmap_capreg;
19074 } else {
19075
19076 }
19077 }
19078 {
19079#line 2233
19080 __cil_tmp126 = (struct resource *)r;
19081#line 2233
19082 tmp___4 = resource_size(__cil_tmp126);
19083#line 2233
19084 __cil_tmp127 = (unsigned long )udc;
19085#line 2233
19086 __cil_tmp128 = __cil_tmp127 + 1328;
19087#line 2233
19088 __cil_tmp129 = *((resource_size_t *)r);
19089#line 2233
19090 __cil_tmp130 = (unsigned long )tmp___4;
19091#line 2233
19092 *((void **)__cil_tmp128) = ioremap(__cil_tmp129, __cil_tmp130);
19093 }
19094 {
19095#line 2234
19096 __cil_tmp131 = (void *)0;
19097#line 2234
19098 __cil_tmp132 = (unsigned long )__cil_tmp131;
19099#line 2234
19100 __cil_tmp133 = (unsigned long )udc;
19101#line 2234
19102 __cil_tmp134 = __cil_tmp133 + 1328;
19103#line 2234
19104 __cil_tmp135 = *((void **)__cil_tmp134);
19105#line 2234
19106 __cil_tmp136 = (unsigned long )__cil_tmp135;
19107#line 2234
19108 if (__cil_tmp136 == __cil_tmp132) {
19109 {
19110#line 2235
19111 __cil_tmp137 = (unsigned long )dev;
19112#line 2235
19113 __cil_tmp138 = __cil_tmp137 + 16;
19114#line 2235
19115 __cil_tmp139 = (struct device *)__cil_tmp138;
19116#line 2235
19117 __cil_tmp140 = (struct device *)__cil_tmp139;
19118#line 2235
19119 dev_err(__cil_tmp140, "failed to map phy I/O memory\n");
19120#line 2236
19121 retval = -16;
19122 }
19123#line 2237
19124 goto err_iounmap_capreg;
19125 } else {
19126
19127 }
19128 }
19129 {
19130#line 2241
19131 retval = mv_udc_enable_internal(udc);
19132 }
19133#line 2242
19134 if (retval != 0) {
19135#line 2243
19136 goto err_iounmap_phyreg;
19137 } else {
19138
19139 }
19140 {
19141#line 2245
19142 __cil_tmp141 = (unsigned long )udc;
19143#line 2245
19144 __cil_tmp142 = __cil_tmp141 + 1312;
19145#line 2245
19146 __cil_tmp143 = *((struct mv_cap_regs **)__cil_tmp142);
19147#line 2245
19148 __cil_tmp144 = (u32 *)__cil_tmp143;
19149#line 2245
19150 __cil_tmp145 = (void volatile *)__cil_tmp144;
19151#line 2245
19152 tmp___5 = readl(__cil_tmp145);
19153#line 2245
19154 __cil_tmp146 = (unsigned long )udc;
19155#line 2245
19156 __cil_tmp147 = __cil_tmp146 + 1320;
19157#line 2245
19158 __cil_tmp148 = (unsigned long )tmp___5;
19159#line 2245
19160 __cil_tmp149 = __cil_tmp148 & 255UL;
19161#line 2245
19162 __cil_tmp150 = (unsigned long )udc;
19163#line 2245
19164 __cil_tmp151 = __cil_tmp150 + 1312;
19165#line 2245
19166 __cil_tmp152 = *((struct mv_cap_regs **)__cil_tmp151);
19167#line 2245
19168 __cil_tmp153 = (unsigned long )__cil_tmp152;
19169#line 2245
19170 __cil_tmp154 = __cil_tmp153 + __cil_tmp149;
19171#line 2245
19172 *((struct mv_op_regs **)__cil_tmp147) = (struct mv_op_regs *)__cil_tmp154;
19173#line 2249
19174 __cil_tmp155 = (unsigned long )udc;
19175#line 2249
19176 __cil_tmp156 = __cil_tmp155 + 1312;
19177#line 2249
19178 __cil_tmp157 = *((struct mv_cap_regs **)__cil_tmp156);
19179#line 2249
19180 __cil_tmp158 = (unsigned long )__cil_tmp157;
19181#line 2249
19182 __cil_tmp159 = __cil_tmp158 + 36;
19183#line 2249
19184 __cil_tmp160 = (u32 *)__cil_tmp159;
19185#line 2249
19186 __cil_tmp161 = (void volatile *)__cil_tmp160;
19187#line 2249
19188 tmp___6 = readl(__cil_tmp161);
19189#line 2249
19190 __cil_tmp162 = (unsigned long )udc;
19191#line 2249
19192 __cil_tmp163 = __cil_tmp162 + 1336;
19193#line 2249
19194 *((unsigned int *)__cil_tmp163) = tmp___6 & 31U;
19195#line 2255
19196 udc_stop(udc);
19197#line 2256
19198 __cil_tmp164 = (unsigned long )udc;
19199#line 2256
19200 __cil_tmp165 = __cil_tmp164 + 1320;
19201#line 2256
19202 __cil_tmp166 = *((struct mv_op_regs **)__cil_tmp165);
19203#line 2256
19204 __cil_tmp167 = (unsigned long )__cil_tmp166;
19205#line 2256
19206 __cil_tmp168 = __cil_tmp167 + 4;
19207#line 2256
19208 __cil_tmp169 = (u32 *)__cil_tmp168;
19209#line 2256
19210 __cil_tmp170 = (void volatile *)__cil_tmp169;
19211#line 2256
19212 writel(4294967295U, __cil_tmp170);
19213#line 2258
19214 __cil_tmp171 = (unsigned long )udc;
19215#line 2258
19216 __cil_tmp172 = __cil_tmp171 + 1336;
19217#line 2258
19218 __cil_tmp173 = *((unsigned int *)__cil_tmp172);
19219#line 2258
19220 __cil_tmp174 = (unsigned long )__cil_tmp173;
19221#line 2258
19222 size = __cil_tmp174 * 128UL;
19223#line 2259
19224 __cil_tmp175 = size + 2047UL;
19225#line 2259
19226 size = __cil_tmp175 & 0xfffffffffffff800UL;
19227#line 2260
19228 __cil_tmp176 = (unsigned long )dev;
19229#line 2260
19230 __cil_tmp177 = __cil_tmp176 + 16;
19231#line 2260
19232 __cil_tmp178 = (struct device *)__cil_tmp177;
19233#line 2260
19234 __cil_tmp179 = (unsigned long )udc;
19235#line 2260
19236 __cil_tmp180 = __cil_tmp179 + 1360;
19237#line 2260
19238 __cil_tmp181 = (dma_addr_t *)__cil_tmp180;
19239#line 2260
19240 __cil_tmp182 = (struct dma_attrs *)0;
19241#line 2260
19242 tmp___7 = dma_alloc_attrs(__cil_tmp178, size, __cil_tmp181, 208U, __cil_tmp182);
19243#line 2260
19244 __cil_tmp183 = (unsigned long )udc;
19245#line 2260
19246 __cil_tmp184 = __cil_tmp183 + 1344;
19247#line 2260
19248 *((struct mv_dqh **)__cil_tmp184) = (struct mv_dqh *)tmp___7;
19249 }
19250 {
19251#line 2263
19252 __cil_tmp185 = (struct mv_dqh *)0;
19253#line 2263
19254 __cil_tmp186 = (unsigned long )__cil_tmp185;
19255#line 2263
19256 __cil_tmp187 = (unsigned long )udc;
19257#line 2263
19258 __cil_tmp188 = __cil_tmp187 + 1344;
19259#line 2263
19260 __cil_tmp189 = *((struct mv_dqh **)__cil_tmp188);
19261#line 2263
19262 __cil_tmp190 = (unsigned long )__cil_tmp189;
19263#line 2263
19264 if (__cil_tmp190 == __cil_tmp186) {
19265 {
19266#line 2264
19267 __cil_tmp191 = (unsigned long )dev;
19268#line 2264
19269 __cil_tmp192 = __cil_tmp191 + 16;
19270#line 2264
19271 __cil_tmp193 = (struct device *)__cil_tmp192;
19272#line 2264
19273 __cil_tmp194 = (struct device *)__cil_tmp193;
19274#line 2264
19275 dev_err(__cil_tmp194, "allocate dQH memory failed\n");
19276#line 2265
19277 retval = -12;
19278 }
19279#line 2266
19280 goto err_disable_clock;
19281 } else {
19282
19283 }
19284 }
19285 {
19286#line 2268
19287 __cil_tmp195 = (unsigned long )udc;
19288#line 2268
19289 __cil_tmp196 = __cil_tmp195 + 1352;
19290#line 2268
19291 *((size_t *)__cil_tmp196) = size;
19292#line 2271
19293 __cil_tmp197 = (unsigned long )udc;
19294#line 2271
19295 __cil_tmp198 = __cil_tmp197 + 1368;
19296#line 2271
19297 __cil_tmp199 = (unsigned long )dev;
19298#line 2271
19299 __cil_tmp200 = __cil_tmp199 + 16;
19300#line 2271
19301 __cil_tmp201 = (struct device *)__cil_tmp200;
19302#line 2271
19303 *((struct dma_pool **)__cil_tmp198) = dma_pool_create("mv_dtd", __cil_tmp201, 48UL,
19304 64UL, 4096UL);
19305 }
19306 {
19307#line 2277
19308 __cil_tmp202 = (struct dma_pool *)0;
19309#line 2277
19310 __cil_tmp203 = (unsigned long )__cil_tmp202;
19311#line 2277
19312 __cil_tmp204 = (unsigned long )udc;
19313#line 2277
19314 __cil_tmp205 = __cil_tmp204 + 1368;
19315#line 2277
19316 __cil_tmp206 = *((struct dma_pool **)__cil_tmp205);
19317#line 2277
19318 __cil_tmp207 = (unsigned long )__cil_tmp206;
19319#line 2277
19320 if (__cil_tmp207 == __cil_tmp203) {
19321#line 2278
19322 retval = -12;
19323#line 2279
19324 goto err_free_dma;
19325 } else {
19326
19327 }
19328 }
19329 {
19330#line 2282
19331 __cil_tmp208 = (unsigned long )udc;
19332#line 2282
19333 __cil_tmp209 = __cil_tmp208 + 1336;
19334#line 2282
19335 __cil_tmp210 = *((unsigned int *)__cil_tmp209);
19336#line 2282
19337 __cil_tmp211 = (unsigned long )__cil_tmp210;
19338#line 2282
19339 size = __cil_tmp211 * 256UL;
19340#line 2283
19341 tmp___8 = kzalloc(size, 208U);
19342#line 2283
19343 __cil_tmp212 = (unsigned long )udc;
19344#line 2283
19345 __cil_tmp213 = __cil_tmp212 + 1376;
19346#line 2283
19347 *((struct mv_ep **)__cil_tmp213) = (struct mv_ep *)tmp___8;
19348 }
19349 {
19350#line 2284
19351 __cil_tmp214 = (struct mv_ep *)0;
19352#line 2284
19353 __cil_tmp215 = (unsigned long )__cil_tmp214;
19354#line 2284
19355 __cil_tmp216 = (unsigned long )udc;
19356#line 2284
19357 __cil_tmp217 = __cil_tmp216 + 1376;
19358#line 2284
19359 __cil_tmp218 = *((struct mv_ep **)__cil_tmp217);
19360#line 2284
19361 __cil_tmp219 = (unsigned long )__cil_tmp218;
19362#line 2284
19363 if (__cil_tmp219 == __cil_tmp215) {
19364 {
19365#line 2285
19366 __cil_tmp220 = (unsigned long )dev;
19367#line 2285
19368 __cil_tmp221 = __cil_tmp220 + 16;
19369#line 2285
19370 __cil_tmp222 = (struct device *)__cil_tmp221;
19371#line 2285
19372 __cil_tmp223 = (struct device *)__cil_tmp222;
19373#line 2285
19374 dev_err(__cil_tmp223, "allocate ep memory failed\n");
19375#line 2286
19376 retval = -12;
19377 }
19378#line 2287
19379 goto err_destroy_dma;
19380 } else {
19381
19382 }
19383 }
19384 {
19385#line 2291
19386 tmp___9 = kzalloc(152UL, 208U);
19387#line 2291
19388 __cil_tmp224 = (unsigned long )udc;
19389#line 2291
19390 __cil_tmp225 = __cil_tmp224 + 1408;
19391#line 2291
19392 *((struct mv_req **)__cil_tmp225) = (struct mv_req *)tmp___9;
19393 }
19394 {
19395#line 2292
19396 __cil_tmp226 = (struct mv_req *)0;
19397#line 2292
19398 __cil_tmp227 = (unsigned long )__cil_tmp226;
19399#line 2292
19400 __cil_tmp228 = (unsigned long )udc;
19401#line 2292
19402 __cil_tmp229 = __cil_tmp228 + 1408;
19403#line 2292
19404 __cil_tmp230 = *((struct mv_req **)__cil_tmp229);
19405#line 2292
19406 __cil_tmp231 = (unsigned long )__cil_tmp230;
19407#line 2292
19408 if (__cil_tmp231 == __cil_tmp227) {
19409 {
19410#line 2293
19411 __cil_tmp232 = (unsigned long )dev;
19412#line 2293
19413 __cil_tmp233 = __cil_tmp232 + 16;
19414#line 2293
19415 __cil_tmp234 = (struct device *)__cil_tmp233;
19416#line 2293
19417 __cil_tmp235 = (struct device *)__cil_tmp234;
19418#line 2293
19419 dev_err(__cil_tmp235, "allocate status_req memory failed\n");
19420#line 2294
19421 retval = -12;
19422 }
19423#line 2295
19424 goto err_free_eps;
19425 } else {
19426
19427 }
19428 }
19429 {
19430#line 2297
19431 __cil_tmp236 = (unsigned long )udc;
19432#line 2297
19433 __cil_tmp237 = __cil_tmp236 + 1408;
19434#line 2297
19435 __cil_tmp238 = *((struct mv_req **)__cil_tmp237);
19436#line 2297
19437 __cil_tmp239 = (unsigned long )__cil_tmp238;
19438#line 2297
19439 __cil_tmp240 = __cil_tmp239 + 120;
19440#line 2297
19441 __cil_tmp241 = (struct list_head *)__cil_tmp240;
19442#line 2297
19443 INIT_LIST_HEAD(__cil_tmp241);
19444#line 2300
19445 __cil_tmp242 = (unsigned long )udc;
19446#line 2300
19447 __cil_tmp243 = __cil_tmp242 + 1408;
19448#line 2300
19449 __cil_tmp244 = *((struct mv_req **)__cil_tmp243);
19450#line 2300
19451 *((void **)__cil_tmp244) = kzalloc(8UL, 208U);
19452#line 2301
19453 __cil_tmp245 = 0 + 16;
19454#line 2301
19455 __cil_tmp246 = (unsigned long )udc;
19456#line 2301
19457 __cil_tmp247 = __cil_tmp246 + 1408;
19458#line 2301
19459 __cil_tmp248 = *((struct mv_req **)__cil_tmp247);
19460#line 2301
19461 __cil_tmp249 = (unsigned long )__cil_tmp248;
19462#line 2301
19463 __cil_tmp250 = __cil_tmp249 + __cil_tmp245;
19464#line 2301
19465 *((dma_addr_t *)__cil_tmp250) = 0xffffffffffffffffULL;
19466#line 2303
19467 __cil_tmp251 = (unsigned long )udc;
19468#line 2303
19469 __cil_tmp252 = __cil_tmp251 + 1424;
19470#line 2303
19471 *((unsigned int *)__cil_tmp252) = 0U;
19472#line 2304
19473 __cil_tmp253 = (unsigned long )udc;
19474#line 2304
19475 __cil_tmp254 = __cil_tmp253 + 1428;
19476#line 2304
19477 *((unsigned int *)__cil_tmp254) = 2U;
19478#line 2305
19479 __cil_tmp255 = (unsigned long )udc;
19480#line 2305
19481 __cil_tmp256 = __cil_tmp255 + 1436;
19482#line 2305
19483 *((unsigned int *)__cil_tmp256) = 0U;
19484#line 2306
19485 udc->remote_wakeup = (unsigned char)0;
19486#line 2308
19487 __cil_tmp257 = (unsigned long )udc;
19488#line 2308
19489 __cil_tmp258 = __cil_tmp257 + 1296;
19490#line 2308
19491 __cil_tmp259 = *((struct platform_device **)__cil_tmp258);
19492#line 2308
19493 r = platform_get_resource(__cil_tmp259, 1024U, 0U);
19494 }
19495 {
19496#line 2309
19497 __cil_tmp260 = (struct resource *)0;
19498#line 2309
19499 __cil_tmp261 = (unsigned long )__cil_tmp260;
19500#line 2309
19501 __cil_tmp262 = (unsigned long )r;
19502#line 2309
19503 if (__cil_tmp262 == __cil_tmp261) {
19504 {
19505#line 2310
19506 __cil_tmp263 = (unsigned long )dev;
19507#line 2310
19508 __cil_tmp264 = __cil_tmp263 + 16;
19509#line 2310
19510 __cil_tmp265 = (struct device *)__cil_tmp264;
19511#line 2310
19512 __cil_tmp266 = (struct device *)__cil_tmp265;
19513#line 2310
19514 dev_err(__cil_tmp266, "no IRQ resource defined\n");
19515#line 2311
19516 retval = -19;
19517 }
19518#line 2312
19519 goto err_free_status_req;
19520 } else {
19521
19522 }
19523 }
19524 {
19525#line 2314
19526 __cil_tmp267 = (unsigned long )udc;
19527#line 2314
19528 __cil_tmp268 = __cil_tmp267 + 1304;
19529#line 2314
19530 __cil_tmp269 = *((resource_size_t *)r);
19531#line 2314
19532 *((int *)__cil_tmp268) = (int )__cil_tmp269;
19533#line 2315
19534 __cil_tmp270 = (unsigned long )udc;
19535#line 2315
19536 __cil_tmp271 = __cil_tmp270 + 1304;
19537#line 2315
19538 __cil_tmp272 = *((int *)__cil_tmp271);
19539#line 2315
19540 __cil_tmp273 = (unsigned int )__cil_tmp272;
19541#line 2315
19542 __cil_tmp274 = (char *)(& driver_name);
19543#line 2315
19544 __cil_tmp275 = (void *)udc;
19545#line 2315
19546 tmp___10 = request_irq(__cil_tmp273, & mv_udc_irq, 128UL, __cil_tmp274, __cil_tmp275);
19547 }
19548#line 2315
19549 if (tmp___10 != 0) {
19550 {
19551#line 2317
19552 __cil_tmp276 = (unsigned long )dev;
19553#line 2317
19554 __cil_tmp277 = __cil_tmp276 + 16;
19555#line 2317
19556 __cil_tmp278 = (struct device *)__cil_tmp277;
19557#line 2317
19558 __cil_tmp279 = (struct device *)__cil_tmp278;
19559#line 2317
19560 __cil_tmp280 = (unsigned long )udc;
19561#line 2317
19562 __cil_tmp281 = __cil_tmp280 + 1304;
19563#line 2317
19564 __cil_tmp282 = *((int *)__cil_tmp281);
19565#line 2317
19566 dev_err(__cil_tmp279, "Request irq %d for UDC failed\n", __cil_tmp282);
19567#line 2319
19568 retval = -19;
19569 }
19570#line 2320
19571 goto err_free_status_req;
19572 } else {
19573
19574 }
19575 {
19576#line 2324
19577 *((struct usb_gadget_ops **)udc) = & mv_ops;
19578#line 2325
19579 __cil_tmp283 = 0 + 8;
19580#line 2325
19581 __cil_tmp284 = (unsigned long )udc;
19582#line 2325
19583 __cil_tmp285 = __cil_tmp284 + __cil_tmp283;
19584#line 2325
19585 __cil_tmp286 = (unsigned long )udc;
19586#line 2325
19587 __cil_tmp287 = __cil_tmp286 + 1376;
19588#line 2325
19589 __cil_tmp288 = *((struct mv_ep **)__cil_tmp287);
19590#line 2325
19591 *((struct usb_ep **)__cil_tmp285) = (struct usb_ep *)__cil_tmp288;
19592#line 2326
19593 __cil_tmp289 = 0 + 16;
19594#line 2326
19595 __cil_tmp290 = (unsigned long )udc;
19596#line 2326
19597 __cil_tmp291 = __cil_tmp290 + __cil_tmp289;
19598#line 2326
19599 __cil_tmp292 = (struct list_head *)__cil_tmp291;
19600#line 2326
19601 INIT_LIST_HEAD(__cil_tmp292);
19602#line 2327
19603 __cil_tmp293 = 0 + 32;
19604#line 2327
19605 __cil_tmp294 = (unsigned long )udc;
19606#line 2327
19607 __cil_tmp295 = __cil_tmp294 + __cil_tmp293;
19608#line 2327
19609 *((enum usb_device_speed *)__cil_tmp295) = (enum usb_device_speed )0;
19610#line 2328
19611 __cil_tmp296 = 0 + 36;
19612#line 2328
19613 __cil_tmp297 = (unsigned long )udc;
19614#line 2328
19615 __cil_tmp298 = __cil_tmp297 + __cil_tmp296;
19616#line 2328
19617 *((enum usb_device_speed *)__cil_tmp298) = (enum usb_device_speed )3;
19618#line 2331
19619 __cil_tmp299 = 0 + 56;
19620#line 2331
19621 __cil_tmp300 = (unsigned long )udc;
19622#line 2331
19623 __cil_tmp301 = __cil_tmp300 + __cil_tmp299;
19624#line 2331
19625 __cil_tmp302 = (struct device *)__cil_tmp301;
19626#line 2331
19627 dev_set_name(__cil_tmp302, "gadget");
19628#line 2332
19629 __cil_tmp303 = 0 + 56;
19630#line 2332
19631 __cil_tmp304 = (unsigned long )udc;
19632#line 2332
19633 __cil_tmp305 = __cil_tmp304 + __cil_tmp303;
19634#line 2332
19635 __cil_tmp306 = (unsigned long )dev;
19636#line 2332
19637 __cil_tmp307 = __cil_tmp306 + 16;
19638#line 2332
19639 *((struct device **)__cil_tmp305) = (struct device *)__cil_tmp307;
19640#line 2333
19641 __cil_tmp308 = 56 + 920;
19642#line 2333
19643 __cil_tmp309 = 0 + __cil_tmp308;
19644#line 2333
19645 __cil_tmp310 = (unsigned long )udc;
19646#line 2333
19647 __cil_tmp311 = __cil_tmp310 + __cil_tmp309;
19648#line 2333
19649 __cil_tmp312 = 16 + 920;
19650#line 2333
19651 __cil_tmp313 = (unsigned long )dev;
19652#line 2333
19653 __cil_tmp314 = __cil_tmp313 + __cil_tmp312;
19654#line 2333
19655 *((u64 **)__cil_tmp311) = *((u64 **)__cil_tmp314);
19656#line 2334
19657 __cil_tmp315 = 56 + 1144;
19658#line 2334
19659 __cil_tmp316 = 0 + __cil_tmp315;
19660#line 2334
19661 __cil_tmp317 = (unsigned long )udc;
19662#line 2334
19663 __cil_tmp318 = __cil_tmp317 + __cil_tmp316;
19664#line 2334
19665 *((void (**)(struct device * ))__cil_tmp318) = & gadget_release;
19666#line 2335
19667 __cil_tmp319 = 0 + 48;
19668#line 2335
19669 __cil_tmp320 = (unsigned long )udc;
19670#line 2335
19671 __cil_tmp321 = __cil_tmp320 + __cil_tmp319;
19672#line 2335
19673 *((char **)__cil_tmp321) = (char *)(& driver_name);
19674#line 2337
19675 __cil_tmp322 = 0 + 56;
19676#line 2337
19677 __cil_tmp323 = (unsigned long )udc;
19678#line 2337
19679 __cil_tmp324 = __cil_tmp323 + __cil_tmp322;
19680#line 2337
19681 __cil_tmp325 = (struct device *)__cil_tmp324;
19682#line 2337
19683 retval = device_register(__cil_tmp325);
19684 }
19685#line 2338
19686 if (retval != 0) {
19687#line 2339
19688 goto err_free_irq;
19689 } else {
19690
19691 }
19692 {
19693#line 2341
19694 eps_init(udc);
19695 }
19696 {
19697#line 2344
19698 __cil_tmp326 = (struct usb_phy *)0;
19699#line 2344
19700 __cil_tmp327 = (unsigned long )__cil_tmp326;
19701#line 2344
19702 __cil_tmp328 = (unsigned long )udc;
19703#line 2344
19704 __cil_tmp329 = __cil_tmp328 + 1544;
19705#line 2344
19706 __cil_tmp330 = *((struct usb_phy **)__cil_tmp329);
19707#line 2344
19708 __cil_tmp331 = (unsigned long )__cil_tmp330;
19709#line 2344
19710 if (__cil_tmp331 != __cil_tmp327) {
19711#line 2345
19712 udc->clock_gating = (unsigned char)1;
19713 } else {
19714 {
19715#line 2346
19716 __cil_tmp332 = (struct mv_usb_addon_irq *)0;
19717#line 2346
19718 __cil_tmp333 = (unsigned long )__cil_tmp332;
19719#line 2346
19720 __cil_tmp334 = (unsigned long )pdata;
19721#line 2346
19722 __cil_tmp335 = __cil_tmp334 + 24;
19723#line 2346
19724 __cil_tmp336 = *((struct mv_usb_addon_irq **)__cil_tmp335);
19725#line 2346
19726 __cil_tmp337 = (unsigned long )__cil_tmp336;
19727#line 2346
19728 if (__cil_tmp337 != __cil_tmp333) {
19729 {
19730#line 2347
19731 udc->clock_gating = (unsigned char)1;
19732#line 2348
19733 __cil_tmp338 = (unsigned long )pdata;
19734#line 2348
19735 __cil_tmp339 = __cil_tmp338 + 24;
19736#line 2348
19737 __cil_tmp340 = *((struct mv_usb_addon_irq **)__cil_tmp339);
19738#line 2348
19739 __cil_tmp341 = *((unsigned int *)__cil_tmp340);
19740#line 2348
19741 __cil_tmp342 = (irqreturn_t (*)(int , void * ))0;
19742#line 2348
19743 __cil_tmp343 = (void *)udc;
19744#line 2348
19745 retval = request_threaded_irq(__cil_tmp341, __cil_tmp342, & mv_udc_vbus_irq,
19746 8192UL, "vbus", __cil_tmp343);
19747 }
19748#line 2350
19749 if (retval != 0) {
19750 {
19751#line 2351
19752 __cil_tmp344 = (unsigned long )dev;
19753#line 2351
19754 __cil_tmp345 = __cil_tmp344 + 16;
19755#line 2351
19756 __cil_tmp346 = (struct device *)__cil_tmp345;
19757#line 2351
19758 __cil_tmp347 = (struct device *)__cil_tmp346;
19759#line 2351
19760 _dev_info(__cil_tmp347, "Can not request irq for VBUS, disable clock gating\n");
19761#line 2354
19762 udc->clock_gating = (unsigned char)0;
19763 }
19764 } else {
19765
19766 }
19767 {
19768#line 2357
19769 __lock_name = "mv_udc_queue";
19770#line 2357
19771 tmp___11 = __alloc_workqueue_key("mv_udc_queue", 10U, 1, & __key___0, __lock_name);
19772#line 2357
19773 __cil_tmp348 = (unsigned long )udc;
19774#line 2357
19775 __cil_tmp349 = __cil_tmp348 + 1536;
19776#line 2357
19777 *((struct workqueue_struct **)__cil_tmp349) = tmp___11;
19778 }
19779 {
19780#line 2358
19781 __cil_tmp350 = (struct workqueue_struct *)0;
19782#line 2358
19783 __cil_tmp351 = (unsigned long )__cil_tmp350;
19784#line 2358
19785 __cil_tmp352 = (unsigned long )udc;
19786#line 2358
19787 __cil_tmp353 = __cil_tmp352 + 1536;
19788#line 2358
19789 __cil_tmp354 = *((struct workqueue_struct **)__cil_tmp353);
19790#line 2358
19791 __cil_tmp355 = (unsigned long )__cil_tmp354;
19792#line 2358
19793 if (__cil_tmp355 == __cil_tmp351) {
19794 {
19795#line 2359
19796 __cil_tmp356 = (unsigned long )dev;
19797#line 2359
19798 __cil_tmp357 = __cil_tmp356 + 16;
19799#line 2359
19800 __cil_tmp358 = (struct device *)__cil_tmp357;
19801#line 2359
19802 __cil_tmp359 = (struct device *)__cil_tmp358;
19803#line 2359
19804 dev_err(__cil_tmp359, "cannot create workqueue\n");
19805#line 2360
19806 retval = -12;
19807 }
19808#line 2361
19809 goto err_unregister;
19810 } else {
19811
19812 }
19813 }
19814 {
19815#line 2364
19816 __cil_tmp360 = (unsigned long )udc;
19817#line 2364
19818 __cil_tmp361 = __cil_tmp360 + 1456;
19819#line 2364
19820 __cil_tmp362 = (struct work_struct *)__cil_tmp361;
19821#line 2364
19822 __init_work(__cil_tmp362, 0);
19823#line 2364
19824 __r_expr_0_counter476 = 2097664L;
19825#line 2364
19826 __cil_tmp363 = (unsigned long )udc;
19827#line 2364
19828 __cil_tmp364 = __cil_tmp363 + 1456;
19829#line 2364
19830 ((atomic_long_t *)__cil_tmp364)->counter = __r_expr_0_counter476;
19831#line 2364
19832 __cil_tmp365 = 1456 + 32;
19833#line 2364
19834 __cil_tmp366 = (unsigned long )udc;
19835#line 2364
19836 __cil_tmp367 = __cil_tmp366 + __cil_tmp365;
19837#line 2364
19838 __cil_tmp368 = (struct lockdep_map *)__cil_tmp367;
19839#line 2364
19840 lockdep_init_map(__cil_tmp368, "(&udc->vbus_work)", & __key___1, 0);
19841#line 2364
19842 __cil_tmp369 = 1456 + 8;
19843#line 2364
19844 __cil_tmp370 = (unsigned long )udc;
19845#line 2364
19846 __cil_tmp371 = __cil_tmp370 + __cil_tmp369;
19847#line 2364
19848 __cil_tmp372 = (struct list_head *)__cil_tmp371;
19849#line 2364
19850 INIT_LIST_HEAD(__cil_tmp372);
19851#line 2364
19852 __cil_tmp373 = 1456 + 24;
19853#line 2364
19854 __cil_tmp374 = (unsigned long )udc;
19855#line 2364
19856 __cil_tmp375 = __cil_tmp374 + __cil_tmp373;
19857#line 2364
19858 *((void (**)(struct work_struct * ))__cil_tmp375) = & mv_udc_vbus_work;
19859 }
19860 } else {
19861
19862 }
19863 }
19864 }
19865 }
19866 {
19867#line 2372
19868 __cil_tmp376 = (unsigned char *)udc;
19869#line 2372
19870 __cil_tmp377 = __cil_tmp376 + 1452UL;
19871#line 2372
19872 __cil_tmp378 = *__cil_tmp377;
19873#line 2372
19874 __cil_tmp379 = (unsigned int )__cil_tmp378;
19875#line 2372
19876 if (__cil_tmp379 != 0U) {
19877 {
19878#line 2373
19879 mv_udc_disable_internal(udc);
19880 }
19881 } else {
19882#line 2375
19883 udc->vbus_active = (unsigned char)1;
19884 }
19885 }
19886 {
19887#line 2377
19888 __cil_tmp380 = (unsigned long )dev;
19889#line 2377
19890 __cil_tmp381 = __cil_tmp380 + 16;
19891#line 2377
19892 __cil_tmp382 = (struct device *)__cil_tmp381;
19893#line 2377
19894 __cil_tmp383 = (struct usb_gadget *)udc;
19895#line 2377
19896 retval = usb_add_gadget_udc(__cil_tmp382, __cil_tmp383);
19897 }
19898#line 2378
19899 if (retval != 0) {
19900#line 2379
19901 goto err_unregister;
19902 } else {
19903
19904 }
19905 {
19906#line 2381
19907 __cil_tmp384 = (unsigned char *)udc;
19908#line 2381
19909 __cil_tmp385 = __cil_tmp384 + 1452UL;
19910#line 2381
19911 __cil_tmp386 = *__cil_tmp385;
19912#line 2381
19913 __cil_tmp387 = (unsigned int )__cil_tmp386;
19914#line 2381
19915 if (__cil_tmp387 != 0U) {
19916#line 2381
19917 tmp___12 = (char *)"with";
19918 } else {
19919#line 2381
19920 tmp___12 = (char *)"without";
19921 }
19922 }
19923 {
19924#line 2381
19925 __cil_tmp388 = (unsigned long )dev;
19926#line 2381
19927 __cil_tmp389 = __cil_tmp388 + 16;
19928#line 2381
19929 __cil_tmp390 = (struct device *)__cil_tmp389;
19930#line 2381
19931 __cil_tmp391 = (struct device *)__cil_tmp390;
19932#line 2381
19933 _dev_info(__cil_tmp391, "successful probe UDC device %s clock gating.\n", tmp___12);
19934 }
19935#line 2384
19936 return (0);
19937 err_unregister: ;
19938 {
19939#line 2387
19940 __cil_tmp392 = (struct mv_usb_platform_data *)0;
19941#line 2387
19942 __cil_tmp393 = (unsigned long )__cil_tmp392;
19943#line 2387
19944 __cil_tmp394 = (unsigned long )udc;
19945#line 2387
19946 __cil_tmp395 = __cil_tmp394 + 1552;
19947#line 2387
19948 __cil_tmp396 = *((struct mv_usb_platform_data **)__cil_tmp395);
19949#line 2387
19950 __cil_tmp397 = (unsigned long )__cil_tmp396;
19951#line 2387
19952 if (__cil_tmp397 != __cil_tmp393) {
19953 {
19954#line 2387
19955 __cil_tmp398 = (struct mv_usb_addon_irq *)0;
19956#line 2387
19957 __cil_tmp399 = (unsigned long )__cil_tmp398;
19958#line 2387
19959 __cil_tmp400 = (unsigned long )udc;
19960#line 2387
19961 __cil_tmp401 = __cil_tmp400 + 1552;
19962#line 2387
19963 __cil_tmp402 = *((struct mv_usb_platform_data **)__cil_tmp401);
19964#line 2387
19965 __cil_tmp403 = (unsigned long )__cil_tmp402;
19966#line 2387
19967 __cil_tmp404 = __cil_tmp403 + 24;
19968#line 2387
19969 __cil_tmp405 = *((struct mv_usb_addon_irq **)__cil_tmp404);
19970#line 2387
19971 __cil_tmp406 = (unsigned long )__cil_tmp405;
19972#line 2387
19973 if (__cil_tmp406 != __cil_tmp399) {
19974 {
19975#line 2387
19976 __cil_tmp407 = (unsigned char *)udc;
19977#line 2387
19978 __cil_tmp408 = __cil_tmp407 + 1452UL;
19979#line 2387
19980 __cil_tmp409 = *__cil_tmp408;
19981#line 2387
19982 __cil_tmp410 = (unsigned int )__cil_tmp409;
19983#line 2387
19984 if (__cil_tmp410 != 0U) {
19985 {
19986#line 2387
19987 __cil_tmp411 = (struct usb_phy *)0;
19988#line 2387
19989 __cil_tmp412 = (unsigned long )__cil_tmp411;
19990#line 2387
19991 __cil_tmp413 = (unsigned long )udc;
19992#line 2387
19993 __cil_tmp414 = __cil_tmp413 + 1544;
19994#line 2387
19995 __cil_tmp415 = *((struct usb_phy **)__cil_tmp414);
19996#line 2387
19997 __cil_tmp416 = (unsigned long )__cil_tmp415;
19998#line 2387
19999 if (__cil_tmp416 == __cil_tmp412) {
20000 {
20001#line 2389
20002 __cil_tmp417 = (unsigned long )pdata;
20003#line 2389
20004 __cil_tmp418 = __cil_tmp417 + 24;
20005#line 2389
20006 __cil_tmp419 = *((struct mv_usb_addon_irq **)__cil_tmp418);
20007#line 2389
20008 __cil_tmp420 = *((unsigned int *)__cil_tmp419);
20009#line 2389
20010 __cil_tmp421 = (unsigned long )dev;
20011#line 2389
20012 __cil_tmp422 = __cil_tmp421 + 16;
20013#line 2389
20014 __cil_tmp423 = (struct device *)__cil_tmp422;
20015#line 2389
20016 __cil_tmp424 = (void *)__cil_tmp423;
20017#line 2389
20018 free_irq(__cil_tmp420, __cil_tmp424);
20019 }
20020 } else {
20021
20022 }
20023 }
20024 } else {
20025
20026 }
20027 }
20028 } else {
20029
20030 }
20031 }
20032 } else {
20033
20034 }
20035 }
20036 {
20037#line 2390
20038 __cil_tmp425 = 0 + 56;
20039#line 2390
20040 __cil_tmp426 = (unsigned long )udc;
20041#line 2390
20042 __cil_tmp427 = __cil_tmp426 + __cil_tmp425;
20043#line 2390
20044 __cil_tmp428 = (struct device *)__cil_tmp427;
20045#line 2390
20046 device_unregister(__cil_tmp428);
20047 }
20048 err_free_irq:
20049 {
20050#line 2392
20051 __cil_tmp429 = (unsigned long )udc;
20052#line 2392
20053 __cil_tmp430 = __cil_tmp429 + 1304;
20054#line 2392
20055 __cil_tmp431 = *((int *)__cil_tmp430);
20056#line 2392
20057 __cil_tmp432 = (unsigned int )__cil_tmp431;
20058#line 2392
20059 __cil_tmp433 = (unsigned long )dev;
20060#line 2392
20061 __cil_tmp434 = __cil_tmp433 + 16;
20062#line 2392
20063 __cil_tmp435 = (struct device *)__cil_tmp434;
20064#line 2392
20065 __cil_tmp436 = (void *)__cil_tmp435;
20066#line 2392
20067 free_irq(__cil_tmp432, __cil_tmp436);
20068 }
20069 err_free_status_req:
20070 {
20071#line 2394
20072 __cil_tmp437 = (unsigned long )udc;
20073#line 2394
20074 __cil_tmp438 = __cil_tmp437 + 1408;
20075#line 2394
20076 __cil_tmp439 = *((struct mv_req **)__cil_tmp438);
20077#line 2394
20078 __cil_tmp440 = *((void **)__cil_tmp439);
20079#line 2394
20080 __cil_tmp441 = (void *)__cil_tmp440;
20081#line 2394
20082 kfree(__cil_tmp441);
20083#line 2395
20084 __cil_tmp442 = (unsigned long )udc;
20085#line 2395
20086 __cil_tmp443 = __cil_tmp442 + 1408;
20087#line 2395
20088 __cil_tmp444 = *((struct mv_req **)__cil_tmp443);
20089#line 2395
20090 __cil_tmp445 = (void *)__cil_tmp444;
20091#line 2395
20092 kfree(__cil_tmp445);
20093 }
20094 err_free_eps:
20095 {
20096#line 2397
20097 __cil_tmp446 = (unsigned long )udc;
20098#line 2397
20099 __cil_tmp447 = __cil_tmp446 + 1376;
20100#line 2397
20101 __cil_tmp448 = *((struct mv_ep **)__cil_tmp447);
20102#line 2397
20103 __cil_tmp449 = (void *)__cil_tmp448;
20104#line 2397
20105 kfree(__cil_tmp449);
20106 }
20107 err_destroy_dma:
20108 {
20109#line 2399
20110 __cil_tmp450 = (unsigned long )udc;
20111#line 2399
20112 __cil_tmp451 = __cil_tmp450 + 1368;
20113#line 2399
20114 __cil_tmp452 = *((struct dma_pool **)__cil_tmp451);
20115#line 2399
20116 dma_pool_destroy(__cil_tmp452);
20117 }
20118 err_free_dma:
20119 {
20120#line 2401
20121 __cil_tmp453 = (unsigned long )dev;
20122#line 2401
20123 __cil_tmp454 = __cil_tmp453 + 16;
20124#line 2401
20125 __cil_tmp455 = (struct device *)__cil_tmp454;
20126#line 2401
20127 __cil_tmp456 = (unsigned long )udc;
20128#line 2401
20129 __cil_tmp457 = __cil_tmp456 + 1352;
20130#line 2401
20131 __cil_tmp458 = *((size_t *)__cil_tmp457);
20132#line 2401
20133 __cil_tmp459 = (unsigned long )udc;
20134#line 2401
20135 __cil_tmp460 = __cil_tmp459 + 1344;
20136#line 2401
20137 __cil_tmp461 = *((struct mv_dqh **)__cil_tmp460);
20138#line 2401
20139 __cil_tmp462 = (void *)__cil_tmp461;
20140#line 2401
20141 __cil_tmp463 = (unsigned long )udc;
20142#line 2401
20143 __cil_tmp464 = __cil_tmp463 + 1360;
20144#line 2401
20145 __cil_tmp465 = *((dma_addr_t *)__cil_tmp464);
20146#line 2401
20147 __cil_tmp466 = (struct dma_attrs *)0;
20148#line 2401
20149 dma_free_attrs(__cil_tmp455, __cil_tmp458, __cil_tmp462, __cil_tmp465, __cil_tmp466);
20150 }
20151 err_disable_clock:
20152 {
20153#line 2404
20154 mv_udc_disable_internal(udc);
20155 }
20156 err_iounmap_phyreg:
20157 {
20158#line 2406
20159 __cil_tmp467 = (unsigned long )udc;
20160#line 2406
20161 __cil_tmp468 = __cil_tmp467 + 1328;
20162#line 2406
20163 __cil_tmp469 = *((void **)__cil_tmp468);
20164#line 2406
20165 __cil_tmp470 = (void volatile *)__cil_tmp469;
20166#line 2406
20167 iounmap(__cil_tmp470);
20168 }
20169 err_iounmap_capreg:
20170 {
20171#line 2408
20172 __cil_tmp471 = (unsigned long )udc;
20173#line 2408
20174 __cil_tmp472 = __cil_tmp471 + 1312;
20175#line 2408
20176 __cil_tmp473 = *((struct mv_cap_regs **)__cil_tmp472);
20177#line 2408
20178 __cil_tmp474 = (void volatile *)__cil_tmp473;
20179#line 2408
20180 iounmap(__cil_tmp474);
20181 }
20182 err_put_clk:
20183#line 2410
20184 clk_i = clk_i - 1;
20185#line 2410
20186 goto ldv_25949;
20187 ldv_25948:
20188#line 2410
20189 clk_i = clk_i - 1;
20190 ldv_25949: ;
20191#line 2410
20192 if (clk_i >= 0) {
20193#line 2411
20194 goto ldv_25948;
20195 } else {
20196#line 2413
20197 goto ldv_25950;
20198 }
20199 ldv_25950:
20200 {
20201#line 2412
20202 the_controller = (struct mv_udc *)0;
20203#line 2413
20204 __cil_tmp475 = (void *)udc;
20205#line 2413
20206 kfree(__cil_tmp475);
20207 }
20208#line 2414
20209 return (retval);
20210}
20211}
20212#line 2418 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
20213static int mv_udc_suspend(struct device *_dev )
20214{ struct mv_udc *udc ;
20215 int tmp ;
20216 struct usb_phy *__cil_tmp4 ;
20217 unsigned long __cil_tmp5 ;
20218 unsigned long __cil_tmp6 ;
20219 unsigned long __cil_tmp7 ;
20220 struct usb_phy *__cil_tmp8 ;
20221 unsigned long __cil_tmp9 ;
20222 struct mv_usb_addon_irq *__cil_tmp10 ;
20223 unsigned long __cil_tmp11 ;
20224 unsigned long __cil_tmp12 ;
20225 unsigned long __cil_tmp13 ;
20226 struct mv_usb_platform_data *__cil_tmp14 ;
20227 unsigned long __cil_tmp15 ;
20228 unsigned long __cil_tmp16 ;
20229 struct mv_usb_addon_irq *__cil_tmp17 ;
20230 unsigned long __cil_tmp18 ;
20231 int (*__cil_tmp19)(void) ;
20232 unsigned long __cil_tmp20 ;
20233 unsigned long __cil_tmp21 ;
20234 unsigned long __cil_tmp22 ;
20235 struct mv_usb_platform_data *__cil_tmp23 ;
20236 unsigned long __cil_tmp24 ;
20237 unsigned long __cil_tmp25 ;
20238 struct mv_usb_addon_irq *__cil_tmp26 ;
20239 unsigned long __cil_tmp27 ;
20240 unsigned long __cil_tmp28 ;
20241 int (*__cil_tmp29)(void) ;
20242 unsigned long __cil_tmp30 ;
20243 unsigned long __cil_tmp31 ;
20244 unsigned long __cil_tmp32 ;
20245 struct mv_usb_platform_data *__cil_tmp33 ;
20246 unsigned long __cil_tmp34 ;
20247 unsigned long __cil_tmp35 ;
20248 struct mv_usb_addon_irq *__cil_tmp36 ;
20249 unsigned long __cil_tmp37 ;
20250 unsigned long __cil_tmp38 ;
20251 int (*__cil_tmp39)(void) ;
20252 unsigned long __cil_tmp40 ;
20253 unsigned long __cil_tmp41 ;
20254 struct platform_device *__cil_tmp42 ;
20255 unsigned long __cil_tmp43 ;
20256 unsigned long __cil_tmp44 ;
20257 struct device *__cil_tmp45 ;
20258 struct device *__cil_tmp46 ;
20259 unsigned char *__cil_tmp47 ;
20260 unsigned char *__cil_tmp48 ;
20261 unsigned char __cil_tmp49 ;
20262 unsigned int __cil_tmp50 ;
20263 unsigned long __cil_tmp51 ;
20264 unsigned long __cil_tmp52 ;
20265 spinlock_t *__cil_tmp53 ;
20266 unsigned long __cil_tmp54 ;
20267 unsigned long __cil_tmp55 ;
20268 struct usb_gadget_driver *__cil_tmp56 ;
20269 unsigned long __cil_tmp57 ;
20270 unsigned long __cil_tmp58 ;
20271 spinlock_t *__cil_tmp59 ;
20272
20273 {
20274#line 2420
20275 udc = the_controller;
20276 {
20277#line 2423
20278 __cil_tmp4 = (struct usb_phy *)0;
20279#line 2423
20280 __cil_tmp5 = (unsigned long )__cil_tmp4;
20281#line 2423
20282 __cil_tmp6 = (unsigned long )udc;
20283#line 2423
20284 __cil_tmp7 = __cil_tmp6 + 1544;
20285#line 2423
20286 __cil_tmp8 = *((struct usb_phy **)__cil_tmp7);
20287#line 2423
20288 __cil_tmp9 = (unsigned long )__cil_tmp8;
20289#line 2423
20290 if (__cil_tmp9 != __cil_tmp5) {
20291#line 2424
20292 return (0);
20293 } else {
20294
20295 }
20296 }
20297 {
20298#line 2426
20299 __cil_tmp10 = (struct mv_usb_addon_irq *)0;
20300#line 2426
20301 __cil_tmp11 = (unsigned long )__cil_tmp10;
20302#line 2426
20303 __cil_tmp12 = (unsigned long )udc;
20304#line 2426
20305 __cil_tmp13 = __cil_tmp12 + 1552;
20306#line 2426
20307 __cil_tmp14 = *((struct mv_usb_platform_data **)__cil_tmp13);
20308#line 2426
20309 __cil_tmp15 = (unsigned long )__cil_tmp14;
20310#line 2426
20311 __cil_tmp16 = __cil_tmp15 + 24;
20312#line 2426
20313 __cil_tmp17 = *((struct mv_usb_addon_irq **)__cil_tmp16);
20314#line 2426
20315 __cil_tmp18 = (unsigned long )__cil_tmp17;
20316#line 2426
20317 if (__cil_tmp18 != __cil_tmp11) {
20318 {
20319#line 2426
20320 __cil_tmp19 = (int (*)(void))0;
20321#line 2426
20322 __cil_tmp20 = (unsigned long )__cil_tmp19;
20323#line 2426
20324 __cil_tmp21 = (unsigned long )udc;
20325#line 2426
20326 __cil_tmp22 = __cil_tmp21 + 1552;
20327#line 2426
20328 __cil_tmp23 = *((struct mv_usb_platform_data **)__cil_tmp22);
20329#line 2426
20330 __cil_tmp24 = (unsigned long )__cil_tmp23;
20331#line 2426
20332 __cil_tmp25 = __cil_tmp24 + 24;
20333#line 2426
20334 __cil_tmp26 = *((struct mv_usb_addon_irq **)__cil_tmp25);
20335#line 2426
20336 __cil_tmp27 = (unsigned long )__cil_tmp26;
20337#line 2426
20338 __cil_tmp28 = __cil_tmp27 + 8;
20339#line 2426
20340 __cil_tmp29 = *((int (**)(void))__cil_tmp28);
20341#line 2426
20342 __cil_tmp30 = (unsigned long )__cil_tmp29;
20343#line 2426
20344 if (__cil_tmp30 != __cil_tmp20) {
20345 {
20346#line 2427
20347 __cil_tmp31 = (unsigned long )udc;
20348#line 2427
20349 __cil_tmp32 = __cil_tmp31 + 1552;
20350#line 2427
20351 __cil_tmp33 = *((struct mv_usb_platform_data **)__cil_tmp32);
20352#line 2427
20353 __cil_tmp34 = (unsigned long )__cil_tmp33;
20354#line 2427
20355 __cil_tmp35 = __cil_tmp34 + 24;
20356#line 2427
20357 __cil_tmp36 = *((struct mv_usb_addon_irq **)__cil_tmp35);
20358#line 2427
20359 __cil_tmp37 = (unsigned long )__cil_tmp36;
20360#line 2427
20361 __cil_tmp38 = __cil_tmp37 + 8;
20362#line 2427
20363 __cil_tmp39 = *((int (**)(void))__cil_tmp38);
20364#line 2427
20365 tmp = (*__cil_tmp39)();
20366 }
20367#line 2427
20368 if (tmp == 1) {
20369 {
20370#line 2428
20371 __cil_tmp40 = (unsigned long )udc;
20372#line 2428
20373 __cil_tmp41 = __cil_tmp40 + 1296;
20374#line 2428
20375 __cil_tmp42 = *((struct platform_device **)__cil_tmp41);
20376#line 2428
20377 __cil_tmp43 = (unsigned long )__cil_tmp42;
20378#line 2428
20379 __cil_tmp44 = __cil_tmp43 + 16;
20380#line 2428
20381 __cil_tmp45 = (struct device *)__cil_tmp44;
20382#line 2428
20383 __cil_tmp46 = (struct device *)__cil_tmp45;
20384#line 2428
20385 _dev_info(__cil_tmp46, "USB cable is connected!\n");
20386 }
20387#line 2429
20388 return (-11);
20389 } else {
20390
20391 }
20392 } else {
20393
20394 }
20395 }
20396 } else {
20397
20398 }
20399 }
20400 {
20401#line 2436
20402 __cil_tmp47 = (unsigned char *)udc;
20403#line 2436
20404 __cil_tmp48 = __cil_tmp47 + 1452UL;
20405#line 2436
20406 __cil_tmp49 = *__cil_tmp48;
20407#line 2436
20408 __cil_tmp50 = (unsigned int )__cil_tmp49;
20409#line 2436
20410 if (__cil_tmp50 == 0U) {
20411 {
20412#line 2437
20413 udc_stop(udc);
20414#line 2439
20415 __cil_tmp51 = (unsigned long )udc;
20416#line 2439
20417 __cil_tmp52 = __cil_tmp51 + 1216;
20418#line 2439
20419 __cil_tmp53 = (spinlock_t *)__cil_tmp52;
20420#line 2439
20421 spin_lock_irq(__cil_tmp53);
20422#line 2441
20423 __cil_tmp54 = (unsigned long )udc;
20424#line 2441
20425 __cil_tmp55 = __cil_tmp54 + 1208;
20426#line 2441
20427 __cil_tmp56 = *((struct usb_gadget_driver **)__cil_tmp55);
20428#line 2441
20429 stop_activity(udc, __cil_tmp56);
20430#line 2442
20431 __cil_tmp57 = (unsigned long )udc;
20432#line 2442
20433 __cil_tmp58 = __cil_tmp57 + 1216;
20434#line 2442
20435 __cil_tmp59 = (spinlock_t *)__cil_tmp58;
20436#line 2442
20437 spin_unlock_irq(__cil_tmp59);
20438#line 2444
20439 mv_udc_disable_internal(udc);
20440 }
20441 } else {
20442
20443 }
20444 }
20445#line 2447
20446 return (0);
20447}
20448}
20449#line 2450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
20450static int mv_udc_resume(struct device *_dev )
20451{ struct mv_udc *udc ;
20452 int retval ;
20453 struct usb_phy *__cil_tmp4 ;
20454 unsigned long __cil_tmp5 ;
20455 unsigned long __cil_tmp6 ;
20456 unsigned long __cil_tmp7 ;
20457 struct usb_phy *__cil_tmp8 ;
20458 unsigned long __cil_tmp9 ;
20459 unsigned char *__cil_tmp10 ;
20460 unsigned char *__cil_tmp11 ;
20461 unsigned char __cil_tmp12 ;
20462 unsigned int __cil_tmp13 ;
20463 struct usb_gadget_driver *__cil_tmp14 ;
20464 unsigned long __cil_tmp15 ;
20465 unsigned long __cil_tmp16 ;
20466 unsigned long __cil_tmp17 ;
20467 struct usb_gadget_driver *__cil_tmp18 ;
20468 unsigned long __cil_tmp19 ;
20469 unsigned char *__cil_tmp20 ;
20470 unsigned char *__cil_tmp21 ;
20471 unsigned char __cil_tmp22 ;
20472 unsigned int __cil_tmp23 ;
20473
20474 {
20475#line 2452
20476 udc = the_controller;
20477 {
20478#line 2456
20479 __cil_tmp4 = (struct usb_phy *)0;
20480#line 2456
20481 __cil_tmp5 = (unsigned long )__cil_tmp4;
20482#line 2456
20483 __cil_tmp6 = (unsigned long )udc;
20484#line 2456
20485 __cil_tmp7 = __cil_tmp6 + 1544;
20486#line 2456
20487 __cil_tmp8 = *((struct usb_phy **)__cil_tmp7);
20488#line 2456
20489 __cil_tmp9 = (unsigned long )__cil_tmp8;
20490#line 2456
20491 if (__cil_tmp9 != __cil_tmp5) {
20492#line 2457
20493 return (0);
20494 } else {
20495
20496 }
20497 }
20498 {
20499#line 2459
20500 __cil_tmp10 = (unsigned char *)udc;
20501#line 2459
20502 __cil_tmp11 = __cil_tmp10 + 1452UL;
20503#line 2459
20504 __cil_tmp12 = *__cil_tmp11;
20505#line 2459
20506 __cil_tmp13 = (unsigned int )__cil_tmp12;
20507#line 2459
20508 if (__cil_tmp13 == 0U) {
20509 {
20510#line 2460
20511 retval = mv_udc_enable_internal(udc);
20512 }
20513#line 2461
20514 if (retval != 0) {
20515#line 2462
20516 return (retval);
20517 } else {
20518
20519 }
20520 {
20521#line 2464
20522 __cil_tmp14 = (struct usb_gadget_driver *)0;
20523#line 2464
20524 __cil_tmp15 = (unsigned long )__cil_tmp14;
20525#line 2464
20526 __cil_tmp16 = (unsigned long )udc;
20527#line 2464
20528 __cil_tmp17 = __cil_tmp16 + 1208;
20529#line 2464
20530 __cil_tmp18 = *((struct usb_gadget_driver **)__cil_tmp17);
20531#line 2464
20532 __cil_tmp19 = (unsigned long )__cil_tmp18;
20533#line 2464
20534 if (__cil_tmp19 != __cil_tmp15) {
20535 {
20536#line 2464
20537 __cil_tmp20 = (unsigned char *)udc;
20538#line 2464
20539 __cil_tmp21 = __cil_tmp20 + 1452UL;
20540#line 2464
20541 __cil_tmp22 = *__cil_tmp21;
20542#line 2464
20543 __cil_tmp23 = (unsigned int )__cil_tmp22;
20544#line 2464
20545 if (__cil_tmp23 != 0U) {
20546 {
20547#line 2465
20548 udc_reset(udc);
20549#line 2466
20550 ep0_reset(udc);
20551#line 2467
20552 udc_start(udc);
20553 }
20554 } else {
20555
20556 }
20557 }
20558 } else {
20559
20560 }
20561 }
20562 } else {
20563
20564 }
20565 }
20566#line 2471
20567 return (0);
20568}
20569}
20570#line 2480 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
20571static void mv_udc_shutdown(struct platform_device *dev )
20572{ struct mv_udc *udc ;
20573 u32 mode ;
20574 unsigned long __cil_tmp4 ;
20575 unsigned long __cil_tmp5 ;
20576 struct mv_op_regs *__cil_tmp6 ;
20577 unsigned long __cil_tmp7 ;
20578 unsigned long __cil_tmp8 ;
20579 u32 *__cil_tmp9 ;
20580 void volatile *__cil_tmp10 ;
20581 unsigned long __cil_tmp11 ;
20582 unsigned long __cil_tmp12 ;
20583 struct mv_op_regs *__cil_tmp13 ;
20584 unsigned long __cil_tmp14 ;
20585 unsigned long __cil_tmp15 ;
20586 u32 *__cil_tmp16 ;
20587 void volatile *__cil_tmp17 ;
20588
20589 {
20590 {
20591#line 2482
20592 udc = the_controller;
20593#line 2486
20594 __cil_tmp4 = (unsigned long )udc;
20595#line 2486
20596 __cil_tmp5 = __cil_tmp4 + 1320;
20597#line 2486
20598 __cil_tmp6 = *((struct mv_op_regs **)__cil_tmp5);
20599#line 2486
20600 __cil_tmp7 = (unsigned long )__cil_tmp6;
20601#line 2486
20602 __cil_tmp8 = __cil_tmp7 + 104;
20603#line 2486
20604 __cil_tmp9 = (u32 *)__cil_tmp8;
20605#line 2486
20606 __cil_tmp10 = (void volatile *)__cil_tmp9;
20607#line 2486
20608 mode = readl(__cil_tmp10);
20609#line 2487
20610 mode = mode & 4294967292U;
20611#line 2488
20612 __cil_tmp11 = (unsigned long )udc;
20613#line 2488
20614 __cil_tmp12 = __cil_tmp11 + 1320;
20615#line 2488
20616 __cil_tmp13 = *((struct mv_op_regs **)__cil_tmp12);
20617#line 2488
20618 __cil_tmp14 = (unsigned long )__cil_tmp13;
20619#line 2488
20620 __cil_tmp15 = __cil_tmp14 + 104;
20621#line 2488
20622 __cil_tmp16 = (u32 *)__cil_tmp15;
20623#line 2488
20624 __cil_tmp17 = (void volatile *)__cil_tmp16;
20625#line 2488
20626 writel(mode, __cil_tmp17);
20627 }
20628#line 2489
20629 return;
20630}
20631}
20632#line 2527
20633extern void ldv_check_final_state(void) ;
20634#line 2530
20635extern void ldv_check_return_value(int ) ;
20636#line 2533
20637extern void ldv_initialize(void) ;
20638#line 2536
20639extern int __VERIFIER_nondet_int(void) ;
20640#line 2539 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
20641int LDV_IN_INTERRUPT ;
20642#line 2542 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
20643void main(void)
20644{ struct usb_ep *var_group1 ;
20645 struct usb_endpoint_descriptor *var_mv_ep_enable_7_p1 ;
20646 gfp_t var_mv_alloc_request_9_p1 ;
20647 struct usb_request *var_group2 ;
20648 gfp_t var_mv_ep_queue_12_p2 ;
20649 int var_mv_ep_set_halt_18_p1 ;
20650 struct usb_gadget *var_group3 ;
20651 int var_mv_udc_vbus_session_31_p1 ;
20652 int var_mv_udc_pullup_32_p1 ;
20653 struct usb_gadget_driver *var_group4 ;
20654 struct device *var_group5 ;
20655 struct platform_device *var_group6 ;
20656 int res_mv_udc_probe_59 ;
20657 int var_mv_udc_irq_54_p0 ;
20658 void *var_mv_udc_irq_54_p1 ;
20659 int var_mv_udc_vbus_irq_55_p0 ;
20660 void *var_mv_udc_vbus_irq_55_p1 ;
20661 int ldv_s_udc_driver_platform_driver ;
20662 int tmp ;
20663 int tmp___0 ;
20664
20665 {
20666 {
20667#line 3092
20668 ldv_s_udc_driver_platform_driver = 0;
20669#line 3076
20670 LDV_IN_INTERRUPT = 1;
20671#line 3085
20672 ldv_initialize();
20673 }
20674#line 3097
20675 goto ldv_26042;
20676 ldv_26041:
20677 {
20678#line 3101
20679 tmp = __VERIFIER_nondet_int();
20680 }
20681#line 3103
20682 if (tmp == 0) {
20683#line 3103
20684 goto case_0;
20685 } else
20686#line 3141
20687 if (tmp == 1) {
20688#line 3141
20689 goto case_1;
20690 } else
20691#line 3179
20692 if (tmp == 2) {
20693#line 3179
20694 goto case_2;
20695 } else
20696#line 3217
20697 if (tmp == 3) {
20698#line 3217
20699 goto case_3;
20700 } else
20701#line 3255
20702 if (tmp == 4) {
20703#line 3255
20704 goto case_4;
20705 } else
20706#line 3293
20707 if (tmp == 5) {
20708#line 3293
20709 goto case_5;
20710 } else
20711#line 3331
20712 if (tmp == 6) {
20713#line 3331
20714 goto case_6;
20715 } else
20716#line 3369
20717 if (tmp == 7) {
20718#line 3369
20719 goto case_7;
20720 } else
20721#line 3407
20722 if (tmp == 8) {
20723#line 3407
20724 goto case_8;
20725 } else
20726#line 3445
20727 if (tmp == 9) {
20728#line 3445
20729 goto case_9;
20730 } else
20731#line 3483
20732 if (tmp == 10) {
20733#line 3483
20734 goto case_10;
20735 } else
20736#line 3521
20737 if (tmp == 11) {
20738#line 3521
20739 goto case_11;
20740 } else
20741#line 3559
20742 if (tmp == 12) {
20743#line 3559
20744 goto case_12;
20745 } else
20746#line 3597
20747 if (tmp == 13) {
20748#line 3597
20749 goto case_13;
20750 } else
20751#line 3635
20752 if (tmp == 14) {
20753#line 3635
20754 goto case_14;
20755 } else
20756#line 3673
20757 if (tmp == 15) {
20758#line 3673
20759 goto case_15;
20760 } else
20761#line 3711
20762 if (tmp == 16) {
20763#line 3711
20764 goto case_16;
20765 } else
20766#line 3750
20767 if (tmp == 17) {
20768#line 3750
20769 goto case_17;
20770 } else
20771#line 3788
20772 if (tmp == 18) {
20773#line 3788
20774 goto case_18;
20775 } else
20776#line 3826
20777 if (tmp == 19) {
20778#line 3826
20779 goto case_19;
20780 } else {
20781 {
20782#line 3864
20783 goto switch_default;
20784#line 3101
20785 if (0) {
20786 case_0:
20787 {
20788#line 3125
20789 mv_ep_enable(var_group1, var_mv_ep_enable_7_p1);
20790 }
20791#line 3140
20792 goto ldv_26019;
20793 case_1:
20794 {
20795#line 3163
20796 mv_ep_disable(var_group1);
20797 }
20798#line 3178
20799 goto ldv_26019;
20800 case_2:
20801 {
20802#line 3201
20803 mv_alloc_request(var_group1, var_mv_alloc_request_9_p1);
20804 }
20805#line 3216
20806 goto ldv_26019;
20807 case_3:
20808 {
20809#line 3239
20810 mv_free_request(var_group1, var_group2);
20811 }
20812#line 3254
20813 goto ldv_26019;
20814 case_4:
20815 {
20816#line 3277
20817 mv_ep_queue(var_group1, var_group2, var_mv_ep_queue_12_p2);
20818 }
20819#line 3292
20820 goto ldv_26019;
20821 case_5:
20822 {
20823#line 3315
20824 mv_ep_dequeue(var_group1, var_group2);
20825 }
20826#line 3330
20827 goto ldv_26019;
20828 case_6:
20829 {
20830#line 3353
20831 mv_ep_set_wedge(var_group1);
20832 }
20833#line 3368
20834 goto ldv_26019;
20835 case_7:
20836 {
20837#line 3391
20838 mv_ep_set_halt(var_group1, var_mv_ep_set_halt_18_p1);
20839 }
20840#line 3406
20841 goto ldv_26019;
20842 case_8:
20843 {
20844#line 3429
20845 mv_ep_fifo_flush(var_group1);
20846 }
20847#line 3444
20848 goto ldv_26019;
20849 case_9:
20850 {
20851#line 3467
20852 mv_udc_get_frame(var_group3);
20853 }
20854#line 3482
20855 goto ldv_26019;
20856 case_10:
20857 {
20858#line 3505
20859 mv_udc_wakeup(var_group3);
20860 }
20861#line 3520
20862 goto ldv_26019;
20863 case_11:
20864 {
20865#line 3543
20866 mv_udc_vbus_session(var_group3, var_mv_udc_vbus_session_31_p1);
20867 }
20868#line 3558
20869 goto ldv_26019;
20870 case_12:
20871 {
20872#line 3581
20873 mv_udc_pullup(var_group3, var_mv_udc_pullup_32_p1);
20874 }
20875#line 3596
20876 goto ldv_26019;
20877 case_13:
20878 {
20879#line 3619
20880 mv_udc_stop(var_group4);
20881 }
20882#line 3634
20883 goto ldv_26019;
20884 case_14:
20885 {
20886#line 3660
20887 mv_udc_suspend(var_group5);
20888 }
20889#line 3672
20890 goto ldv_26019;
20891 case_15:
20892 {
20893#line 3698
20894 mv_udc_resume(var_group5);
20895 }
20896#line 3710
20897 goto ldv_26019;
20898 case_16: ;
20899#line 3714
20900 if (ldv_s_udc_driver_platform_driver == 0) {
20901 {
20902#line 3733
20903 res_mv_udc_probe_59 = mv_udc_probe(var_group6);
20904#line 3734
20905 ldv_check_return_value(res_mv_udc_probe_59);
20906 }
20907#line 3735
20908 if (res_mv_udc_probe_59 != 0) {
20909#line 3736
20910 goto ldv_module_exit;
20911 } else {
20912
20913 }
20914#line 3743
20915 ldv_s_udc_driver_platform_driver = ldv_s_udc_driver_platform_driver + 1;
20916 } else {
20917
20918 }
20919#line 3749
20920 goto ldv_26019;
20921 case_17: ;
20922#line 3753
20923 if (ldv_s_udc_driver_platform_driver == 1) {
20924 {
20925#line 3776
20926 mv_udc_shutdown(var_group6);
20927#line 3781
20928 ldv_s_udc_driver_platform_driver = 0;
20929 }
20930 } else {
20931
20932 }
20933#line 3787
20934 goto ldv_26019;
20935 case_18:
20936 {
20937#line 3791
20938 LDV_IN_INTERRUPT = 2;
20939#line 3810
20940 mv_udc_irq(var_mv_udc_irq_54_p0, var_mv_udc_irq_54_p1);
20941#line 3819
20942 LDV_IN_INTERRUPT = 1;
20943 }
20944#line 3825
20945 goto ldv_26019;
20946 case_19:
20947 {
20948#line 3829
20949 LDV_IN_INTERRUPT = 2;
20950#line 3848
20951 mv_udc_vbus_irq(var_mv_udc_vbus_irq_55_p0, var_mv_udc_vbus_irq_55_p1);
20952#line 3857
20953 LDV_IN_INTERRUPT = 1;
20954 }
20955#line 3863
20956 goto ldv_26019;
20957 switch_default: ;
20958#line 3864
20959 goto ldv_26019;
20960 } else {
20961 switch_break: ;
20962 }
20963 }
20964 }
20965 ldv_26019: ;
20966 ldv_26042:
20967 {
20968#line 3097
20969 tmp___0 = __VERIFIER_nondet_int();
20970 }
20971#line 3097
20972 if (tmp___0 != 0) {
20973#line 3099
20974 goto ldv_26041;
20975 } else
20976#line 3097
20977 if (ldv_s_udc_driver_platform_driver != 0) {
20978#line 3099
20979 goto ldv_26041;
20980 } else {
20981#line 3101
20982 goto ldv_26043;
20983 }
20984 ldv_26043: ;
20985 ldv_module_exit: ;
20986 {
20987#line 3873
20988 ldv_check_final_state();
20989 }
20990#line 3876
20991 return;
20992}
20993}
20994#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
20995void ldv_blast_assert(void)
20996{
20997
20998 {
20999 ERROR: ;
21000#line 6
21001 goto ERROR;
21002}
21003}
21004#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
21005extern int __VERIFIER_nondet_int(void) ;
21006#line 3897 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21007int ldv_spin = 0;
21008#line 3901 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21009void ldv_check_alloc_flags(gfp_t flags )
21010{
21011
21012 {
21013#line 3904
21014 if (ldv_spin != 0) {
21015#line 3904
21016 if (flags != 32U) {
21017 {
21018#line 3904
21019 ldv_blast_assert();
21020 }
21021 } else {
21022
21023 }
21024 } else {
21025
21026 }
21027#line 3907
21028 return;
21029}
21030}
21031#line 3907
21032extern struct page *ldv_some_page(void) ;
21033#line 3910 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21034struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
21035{ struct page *tmp ;
21036
21037 {
21038#line 3913
21039 if (ldv_spin != 0) {
21040#line 3913
21041 if (flags != 32U) {
21042 {
21043#line 3913
21044 ldv_blast_assert();
21045 }
21046 } else {
21047
21048 }
21049 } else {
21050
21051 }
21052 {
21053#line 3915
21054 tmp = ldv_some_page();
21055 }
21056#line 3915
21057 return (tmp);
21058}
21059}
21060#line 3919 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21061void ldv_check_alloc_nonatomic(void)
21062{
21063
21064 {
21065#line 3922
21066 if (ldv_spin != 0) {
21067 {
21068#line 3922
21069 ldv_blast_assert();
21070 }
21071 } else {
21072
21073 }
21074#line 3925
21075 return;
21076}
21077}
21078#line 3926 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21079void ldv_spin_lock(void)
21080{
21081
21082 {
21083#line 3929
21084 ldv_spin = 1;
21085#line 3930
21086 return;
21087}
21088}
21089#line 3933 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21090void ldv_spin_unlock(void)
21091{
21092
21093 {
21094#line 3936
21095 ldv_spin = 0;
21096#line 3937
21097 return;
21098}
21099}
21100#line 3940 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21101int ldv_spin_trylock(void)
21102{ int is_lock ;
21103
21104 {
21105 {
21106#line 3945
21107 is_lock = __VERIFIER_nondet_int();
21108 }
21109#line 3947
21110 if (is_lock != 0) {
21111#line 3950
21112 return (0);
21113 } else {
21114#line 3955
21115 ldv_spin = 1;
21116#line 3957
21117 return (1);
21118 }
21119}
21120}
21121#line 3961 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21122__inline static void spin_lock(spinlock_t *lock )
21123{
21124
21125 {
21126 {
21127#line 3966
21128 ldv_spin_lock();
21129#line 3968
21130 ldv_spin_lock_1(lock);
21131 }
21132#line 3969
21133 return;
21134}
21135}
21136#line 3993 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21137__inline static void spin_lock_irq(spinlock_t *lock )
21138{
21139
21140 {
21141 {
21142#line 3998
21143 ldv_spin_lock();
21144#line 4000
21145 ldv_spin_lock_irq_4(lock);
21146 }
21147#line 4001
21148 return;
21149}
21150}
21151#line 4003 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21152__inline static void spin_unlock(spinlock_t *lock )
21153{
21154
21155 {
21156 {
21157#line 4008
21158 ldv_spin_unlock();
21159#line 4010
21160 ldv_spin_unlock_5(lock);
21161 }
21162#line 4011
21163 return;
21164}
21165}
21166#line 4023 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21167__inline static void spin_unlock_irq(spinlock_t *lock )
21168{
21169
21170 {
21171 {
21172#line 4028
21173 ldv_spin_unlock();
21174#line 4030
21175 ldv_spin_unlock_irq_7(lock);
21176 }
21177#line 4031
21178 return;
21179}
21180}
21181#line 4033 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21182__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
21183{
21184
21185 {
21186 {
21187#line 4039
21188 ldv_spin_unlock();
21189#line 4041
21190 ldv_spin_unlock_irqrestore_8(lock, flags);
21191 }
21192#line 4042
21193 return;
21194}
21195}
21196#line 4124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21197void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
21198{
21199
21200 {
21201 {
21202#line 4130
21203 ldv_check_alloc_flags(ldv_func_arg2);
21204#line 4132
21205 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
21206 }
21207#line 4133
21208 return ((void *)0);
21209}
21210}
21211#line 4135 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21212__inline static void *kzalloc(size_t size , gfp_t flags )
21213{ void *tmp ;
21214
21215 {
21216 {
21217#line 4141
21218 ldv_check_alloc_flags(flags);
21219#line 4142
21220 tmp = __VERIFIER_nondet_pointer();
21221 }
21222#line 4142
21223 return (tmp);
21224}
21225}
21226#line 4156 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/1956/dscv_tempdir/dscv/ri/43_1a/drivers/usb/gadget/mv_udc_core.c.p"
21227void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
21228 dma_addr_t *ldv_func_arg3 )
21229{
21230
21231 {
21232 {
21233#line 4163
21234 ldv_check_alloc_flags(ldv_func_arg2);
21235#line 4165
21236 dma_pool_alloc(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
21237 }
21238#line 4166
21239 return ((void *)0);
21240}
21241}