	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function em28xx_usb_probe
_em28xx_usb_probe:                      ## @em28xx_usb_probe
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, -120(%rbp)                ## 8-byte Spill
	movq	%rdi, %r15
	movl	$0, -52(%rbp)
	movl	$0, -44(%rbp)
	movl	$0, -48(%rbp)
	movq	8(%rdi), %rax
	movl	(%rax), %eax
	movq	%rax, -96(%rbp)                 ## 8-byte Spill
	callq	_interface_to_usbdev
	movl	%eax, %edi
	callq	_usb_get_dev
	movq	%rax, %r13
	movq	_em28xx_devused@GOTPCREL(%rip), %r14
	movq	_EM28XX_MAXBOARDS@GOTPCREL(%rip), %rbx
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%r14), %edi
	movl	(%rbx), %esi
	callq	_find_first_zero_bit
	movl	(%rbx), %edx
	cmpl	%edx, %eax
	jge	LBB0_2
## %bb.4:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	%eax, %r12d
	movl	(%r14), %esi
	movl	%eax, %edi
	callq	_test_and_set_bit
	testq	%rax, %rax
	jne	LBB0_1
## %bb.5:
	movq	8(%r15), %rax
	movq	8(%rax), %rax
	movq	_USB_CLASS_AUDIO@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_7
## %bb.6:
	leaq	4(%r15), %r14
	movl	36(%r13), %edi
	callq	_le16_to_cpu
	movq	%r15, %rbx
	movl	%eax, %r15d
	movl	32(%r13), %edi
	callq	_le16_to_cpu
	movq	8(%rbx), %rcx
	movq	8(%rcx), %r9
	leaq	L_.str.1(%rip), %rsi
	xorl	%ebx, %ebx
	movq	%r14, %rdi
	movl	%r15d, %edx
	movl	%eax, %ecx
	movq	-96(%rbp), %r8                  ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	xorl	%eax, %eax
	callq	_dev_info
	movq	_ENODEV@GOTPCREL(%rip), %rax
	subl	(%rax), %ebx
	jmp	LBB0_27
LBB0_2:
	addq	$4, %r15
	leaq	L_.str(%rip), %rsi
	xorl	%ebx, %ebx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_dev_err
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	subl	(%rax), %ebx
	jmp	LBB0_3
LBB0_7:
	movq	_GFP_KERNEL@GOTPCREL(%rip), %r14
	movl	(%r14), %esi
	movl	$216, %edi
	callq	_kzalloc
	testq	%rax, %rax
	je	LBB0_8
## %bb.10:
	movq	%rax, %rbx
	movl	(%r15), %edi
	movl	(%r14), %edx
	movl	$216, %esi
	callq	_kcalloc
	movq	%rax, 48(%rbx)
	testq	%rax, %rax
	je	LBB0_13
## %bb.11:
	movl	(%r15), %esi
	testl	%esi, %esi
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movl	%r12d, -76(%rbp)                ## 4-byte Spill
	movq	%r15, -88(%rbp)                 ## 8-byte Spill
	jle	LBB0_12
## %bb.14:
	movq	%r13, -104(%rbp)                ## 8-byte Spill
	movq	8(%r15), %rdi
	xorl	%ecx, %ecx
	leaq	-48(%rbp), %rbx
	leaq	-44(%rbp), %r14
	leaq	-52(%rbp), %r13
	jmp	LBB0_15
	.p2align	4, 0x90
LBB0_19:                                ##   in Loop: Header=BB0_15 Depth=1
	incq	%rcx
	movslq	%esi, %rdx
	cmpq	%rdx, %rcx
	jge	LBB0_20
LBB0_15:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_17 Depth 2
	leaq	(%rcx,%rcx,2), %rdx
	cmpl	$0, 16(%rdi,%rdx,8)
	jle	LBB0_19
## %bb.16:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%r15d, %r15d
	movq	%rdx, -72(%rbp)                 ## 8-byte Spill
	movq	%rcx, -112(%rbp)                ## 8-byte Spill
	.p2align	4, 0x90
LBB0_17:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	-104(%rbp), %rsi                ## 8-byte Reload
	movq	-88(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rdx
                                        ## kill: def $ecx killed $ecx killed $rcx
	movl	%r15d, %r8d
	movq	%r13, %r9
	pushq	%rbx
	pushq	%r14
	callq	_em28xx_check_usb_descriptor
	movq	-72(%rbp), %rdx                 ## 8-byte Reload
	movq	-112(%rbp), %rcx                ## 8-byte Reload
	addq	$16, %rsp
	incl	%r15d
	movq	8(%r12), %rdi
	cmpl	16(%rdi,%rdx,8), %r15d
	jl	LBB0_17
## %bb.18:                              ##   in Loop: Header=BB0_15 Depth=1
	movq	-88(%rbp), %r15                 ## 8-byte Reload
	movl	(%r15), %esi
	movl	-76(%rbp), %r12d                ## 4-byte Reload
	jmp	LBB0_19
LBB0_20:
	movl	-52(%rbp), %edx
	movl	-44(%rbp), %ecx
	movl	-48(%rbp), %eax
	movq	-104(%rbp), %r13                ## 8-byte Reload
	testl	%edx, %edx
	je	LBB0_22
	jmp	LBB0_28
LBB0_13:
	movq	%rbx, %rdi
	callq	_kfree
LBB0_8:
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_27
LBB0_12:
	xorl	%eax, %eax
	xorl	%ecx, %ecx
	xorl	%edx, %edx
	testl	%edx, %edx
	jne	LBB0_28
LBB0_22:
	testl	%ecx, %ecx
	jne	LBB0_28
## %bb.23:
	testl	%eax, %eax
	jne	LBB0_28
## %bb.24:
	movq	_ENODEV@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	jmp	LBB0_25
LBB0_28:
	movl	(%r13), %eax
	addl	$-128, %eax
	cmpl	$3, %eax
	ja	LBB0_29
## %bb.30:
	cltq
	leaq	l_reltable.em28xx_usb_probe(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmp	LBB0_31
LBB0_29:
	leaq	L_.str.5(%rip), %rax
LBB0_31:
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	leaq	4(%r15), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	8(%r13), %rbx
	movq	16(%r13), %r14
	testq	%rbx, %rbx
	leaq	L_.str.7(%rip), %rax
	cmoveq	%rax, %rbx
	testq	%r14, %r14
	cmoveq	%rax, %r14
	movl	36(%r13), %edi
	callq	_le16_to_cpu
	movl	%eax, -104(%rbp)                ## 4-byte Spill
	movl	32(%r13), %edi
	callq	_le16_to_cpu
	movl	%eax, %r10d
	movq	8(%r15), %rax
	movl	(%rax), %r11d
	subq	$8, %rsp
	leaq	L_.str.6(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	%rbx, %rdx
	movq	%r14, %rcx
	movq	-112(%rbp), %r8                 ## 8-byte Reload
	movl	-104(%rbp), %r9d                ## 4-byte Reload
	xorl	%eax, %eax
	pushq	%r11
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	pushq	%r15
	pushq	%r10
	callq	_dev_info
	addq	$32, %rsp
	cmpl	$130, (%r13)
	je	LBB0_34
## %bb.32:
	movq	_disable_usb_speed_check@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	jne	LBB0_34
## %bb.33:
	leaq	L_.str.8(%rip), %rsi
	xorl	%ebx, %ebx
	movq	-72(%rbp), %r14                 ## 8-byte Reload
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_dev_err
	leaq	L_.str.9(%rip), %rsi
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_dev_err
	movq	_ENODEV@GOTPCREL(%rip), %rax
LBB0_25:
	subl	(%rax), %ebx
LBB0_26:
	movq	-64(%rbp), %r14                 ## 8-byte Reload
	movq	48(%r14), %rdi
	callq	_kfree
	movq	%r14, %rdi
	callq	_kfree
LBB0_27:
	movq	_em28xx_devused@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r12d, %edi
	callq	_clear_bit
LBB0_3:
	movq	%r13, %rdi
	callq	_usb_put_dev
LBB0_93:
	movl	%ebx, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_34:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movl	%r12d, (%rbx)
	movq	-120(%rbp), %rax                ## 8-byte Reload
	movq	(%rax), %rax
	movq	%rax, 176(%rbx)
	movl	$-1, 4(%rbx)
	cmpl	$0, -52(%rbp)
	movl	-44(%rbp), %eax
	je	LBB0_35
## %bb.36:
	movl	-48(%rbp), %ecx
	orl	%eax, %ecx
	sete	%cl
	jmp	LBB0_37
LBB0_35:
	xorl	%ecx, %ecx
LBB0_37:
	movq	-88(%rbp), %r14                 ## 8-byte Reload
	movzbl	%cl, %ecx
	movl	%ecx, 8(%rbx)
	movl	%eax, 12(%rbx)
	movl	%r15d, 16(%rbx)
	movq	_PRIMARY_TS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 184(%rbx)
	movl	212(%rbx), %edi
	leaq	L_.str.10(%rip), %rdx
	movl	$28, %esi
	callq	_snprintf
	movq	$0, 64(%rbx)
	cmpl	$0, -52(%rbp)
	je	LBB0_39
## %bb.38:
	leaq	L_.str.11(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_dev_info
	movq	_EM28XX_USB_AUDIO_VENDOR@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 208(%rbx)
LBB0_39:
	movq	24(%r13), %rcx
	movl	8(%rcx), %eax
	testl	%eax, %eax
	jle	LBB0_46
## %bb.40:
	movq	(%rcx), %rcx
	movq	_USB_CLASS_AUDIO@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_42:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rcx,%rsi,8), %rdi
	movq	8(%rdi), %rdi
	cmpq	%rdx, 8(%rdi)
	je	LBB0_43
## %bb.41:                              ##   in Loop: Header=BB0_42 Depth=1
	incq	%rsi
	cmpq	%rsi, %rax
	jne	LBB0_42
	jmp	LBB0_46
LBB0_43:
	cmpl	$0, -52(%rbp)
	je	LBB0_45
## %bb.44:
	leaq	L_.str.12(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_err
LBB0_45:
	movq	_EM28XX_USB_AUDIO_CLASS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 208(%rbx)
LBB0_46:
	cmpl	$0, -44(%rbp)
	je	LBB0_48
## %bb.47:
	cmpq	$0, 192(%rbx)
	leaq	L_.str.14(%rip), %rcx
	leaq	L_.str.7(%rip), %rax
	cmoveq	%rax, %rcx
	cmpq	$0, 200(%rbx)
	leaq	L_.str.15(%rip), %r8
	cmoveq	%rax, %r8
	leaq	L_.str.13(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_dev_info
LBB0_48:
	cmpl	$0, -48(%rbp)
	je	LBB0_50
## %bb.49:
	cmpq	$0, 96(%rbx)
	leaq	L_.str.14(%rip), %rcx
	leaq	L_.str.7(%rip), %rax
	cmoveq	%rax, %rcx
	cmpq	$0, 112(%rbx)
	leaq	L_.str.15(%rip), %r8
	cmoveq	%rax, %r8
	leaq	L_.str.16(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_dev_info
LBB0_50:
	movl	(%r14), %eax
	movl	%eax, 20(%rbx)
	movq	_card@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	%r12d, %rcx
	movq	(%rax,%rcx,8), %rax
	movq	_em28xx_bcount@GOTPCREL(%rip), %rcx
	cmpl	%eax, (%rcx)
	jbe	LBB0_52
## %bb.51:
	movq	%rax, 176(%rbx)
LBB0_52:
	movq	%r14, %rdi
	movq	%rbx, %rsi
	callq	_usb_set_intfdata
	leaq	168(%rbx), %rdi
	callq	_mutex_init
	movq	%rbx, %rdi
	movq	%r13, %rsi
	movq	%r14, %rdx
	movl	%r12d, %ecx
	callq	_em28xx_init_dev
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_26
## %bb.53:
	movq	_usb_xfer_mode@GOTPCREL(%rip), %r14
	movq	(%r14), %r15
	testq	%r15, %r15
	jns	LBB0_55
## %bb.54:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movq	128(%rax), %r15
LBB0_55:
	movl	-44(%rbp), %r12d
	testl	%r12d, %r12d
	je	LBB0_56
## %bb.57:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movq	136(%rbx), %rax
	movq	_EM28XX_NODECODER@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_60
## %bb.58:
	movq	24(%rbx), %rax
	movq	_EM28XX_NOSENSOR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_60
## %bb.59:
	leaq	L_.str.17(%rip), %rsi
	xorl	%r12d, %r12d
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_err
	movl	$0, -44(%rbp)
	movl	$0, 12(%rbx)
	jmp	LBB0_60
LBB0_56:
	xorl	%r12d, %r12d
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
LBB0_60:
	cmpq	$0, 160(%rbx)
	je	LBB0_64
## %bb.61:
	movq	32(%rbx), %rax
	movq	_TUNER_ABSENT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_94
## %bb.62:
	xorl	%edi, %edi
	callq	_INPUT
	cmpq	$0, (%rax)
	je	LBB0_63
LBB0_94:
	leaq	L_.str.18(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_err
	movl	$0, -44(%rbp)
	movl	-76(%rbp), %r12d                ## 4-byte Reload
	jmp	LBB0_70
LBB0_63:
	movl	-44(%rbp), %r12d
LBB0_64:
	testl	%r12d, %r12d
	movl	-76(%rbp), %r12d                ## 4-byte Reload
	je	LBB0_70
## %bb.65:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	cmpq	$0, 200(%rax)
	je	LBB0_68
## %bb.66:
	testq	%r15, %r15
	je	LBB0_69
## %bb.67:
	cmpq	$0, 192(%rax)
	je	LBB0_69
LBB0_68:
	movl	$1, 40(%rax)
LBB0_69:
	cmpl	$0, 40(%rax)
	leaq	L_.str.21(%rip), %rax
	leaq	L_.str.20(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str.19(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_info
LBB0_70:
	cmpl	$0, -48(%rbp)
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	je	LBB0_76
## %bb.71:
	cmpq	$0, 112(%rbx)
	je	LBB0_74
## %bb.72:
	testq	%r15, %r15
	je	LBB0_75
## %bb.73:
	cmpq	$0, 96(%rbx)
	je	LBB0_75
LBB0_74:
	movl	$1, 44(%rbx)
LBB0_75:
	cmpl	$0, 44(%rbx)
	leaq	L_.str.21(%rip), %rax
	leaq	L_.str.20(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str.22(%rip), %rsi
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	xorl	%eax, %eax
	callq	_dev_info
LBB0_76:
	cmpq	$0, 160(%rbx)
	je	LBB0_92
## %bb.77:
	movq	%rbx, %rdi
	callq	_em28xx_duplicate_dev
	testq	%rax, %rax
	je	LBB0_78
LBB0_92:
	movq	%rbx, %rdi
	addq	$60, %rdi
	callq	_kref_init
	movq	%rbx, %rdi
	callq	_request_modules
	xorl	%ebx, %ebx
	jmp	LBB0_93
LBB0_78:
	movq	_SECONDARY_TS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	64(%rbx), %rdi
	movl	%eax, 184(%rdi)
	movl	$-1, 4(%rdi)
	cmpl	$0, -52(%rbp)
	je	LBB0_79
## %bb.80:
	movl	-44(%rbp), %ecx
	xorl	%eax, %eax
	orl	-48(%rbp), %ecx
	sete	%al
	jmp	LBB0_81
LBB0_79:
	xorl	%eax, %eax
LBB0_81:
	movq	-88(%rbp), %rbx                 ## 8-byte Reload
	movq	-96(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, 8(%rdi)
	movl	$0, 12(%rdi)
	movl	%ecx, 16(%rdi)
	movq	-120(%rbp), %rax                ## 8-byte Reload
	movq	(%rax), %rax
	movq	%rax, 176(%rdi)
	addq	$168, %rdi
	callq	_mutex_init
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movq	64(%rax), %rdi
	movl	(%rdi), %ecx
	movq	%r13, %rsi
	movq	%rbx, %rdx
	callq	_em28xx_init_dev
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_26
## %bb.82:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movq	64(%rax), %rax
	xorps	%xmm0, %xmm0
	movups	%xmm0, 144(%rax)
	movq	(%r14), %rcx
	testq	%rcx, %rcx
	jns	LBB0_84
## %bb.83:
	movq	128(%rax), %rcx
LBB0_84:
	cmpl	$0, -48(%rbp)
	je	LBB0_85
## %bb.86:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	cmpq	$0, 104(%rbx)
	je	LBB0_89
## %bb.87:
	testq	%rcx, %rcx
	je	LBB0_90
## %bb.88:
	cmpq	$0, 88(%rbx)
	je	LBB0_90
LBB0_89:
	movl	$1, 44(%rax)
LBB0_90:
	movq	120(%rbx), %rdi
	cmpl	$0, 44(%rax)
	leaq	L_.str.21(%rip), %rax
	leaq	L_.str.20(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str.23(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_info
	movq	64(%rbx), %rax
	jmp	LBB0_91
LBB0_85:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
LBB0_91:
	movq	104(%rbx), %rcx
	movq	%rcx, 112(%rax)
	movq	88(%rbx), %rcx
	movq	%rcx, 96(%rax)
	movl	76(%rbx), %ecx
	movl	%ecx, 80(%rax)
	movl	72(%rbx), %ecx
	movl	%ecx, 72(%rax)
	xorl	%r14d, %r14d
	cmpl	$0, 44(%rbx)
	sete	%r14b
	movq	%rbx, %rdi
	movl	$11, %esi
	movl	$150, %edx
	callq	_em28xx_write_reg
	movl	$100, %edi
	callq	_mdelay
	leal	(%r14,%r14), %edx
	addl	$128, %edx
	movq	%rbx, %rdi
	movl	$11, %esi
	callq	_em28xx_write_reg
	movl	$100, %edi
	callq	_mdelay
	movq	64(%rbx), %rdi
	addq	$60, %rdi
	callq	_kref_init
	jmp	LBB0_92
	.cfi_endproc
                                        ## -- End function
	.comm	_em28xx_devused,4,2             ## @em28xx_devused
	.comm	_EM28XX_MAXBOARDS,4,2           ## @EM28XX_MAXBOARDS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Driver supports up to %i em28xx boards.\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_USB_CLASS_AUDIO,8,3            ## @USB_CLASS_AUDIO
L_.str.1:                               ## @.str.1
	.asciz	"audio device (%04x:%04x): interface %i, class %i\n"

	.comm	_ENODEV,4,2                     ## @ENODEV
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
L_.str.2:                               ## @.str.2
	.asciz	"1.5"

L_.str.3:                               ## @.str.3
	.asciz	"12"

L_.str.4:                               ## @.str.4
	.asciz	"480"

L_.str.5:                               ## @.str.5
	.asciz	"unknown"

L_.str.6:                               ## @.str.6
	.asciz	"New device %s %s @ %s Mbps (%04x:%04x, interface %d, class %d)\n"

L_.str.7:                               ## @.str.7
	.space	1

	.comm	_disable_usb_speed_check,8,3    ## @disable_usb_speed_check
L_.str.8:                               ## @.str.8
	.asciz	"Device initialization failed.\n"

L_.str.9:                               ## @.str.9
	.asciz	"Device must be connected to a high-speed USB 2.0 port.\n"

	.comm	_PRIMARY_TS,4,2                 ## @PRIMARY_TS
L_.str.10:                              ## @.str.10
	.asciz	"em28xx"

L_.str.11:                              ## @.str.11
	.asciz	"Audio interface %i found (Vendor Class)\n"

	.comm	_EM28XX_USB_AUDIO_VENDOR,4,2    ## @EM28XX_USB_AUDIO_VENDOR
L_.str.12:                              ## @.str.12
	.asciz	"em28xx: device seems to have vendor AND usb audio class interfaces !\n\t\tThe vendor interface will be ignored. Please contact the developers <linux-media@vger.kernel.org>\n"

	.comm	_EM28XX_USB_AUDIO_CLASS,4,2     ## @EM28XX_USB_AUDIO_CLASS
L_.str.13:                              ## @.str.13
	.asciz	"Video interface %i found:%s%s\n"

L_.str.14:                              ## @.str.14
	.asciz	" bulk"

L_.str.15:                              ## @.str.15
	.asciz	" isoc"

L_.str.16:                              ## @.str.16
	.asciz	"DVB interface %i found:%s%s\n"

	.comm	_card,8,3                       ## @card
	.comm	_em28xx_bcount,4,2              ## @em28xx_bcount
	.comm	_usb_xfer_mode,8,3              ## @usb_xfer_mode
	.comm	_EM28XX_NODECODER,8,3           ## @EM28XX_NODECODER
	.comm	_EM28XX_NOSENSOR,8,3            ## @EM28XX_NOSENSOR
L_.str.17:                              ## @.str.17
	.asciz	"Currently, V4L2 is not supported on this model\n"

	.comm	_TUNER_ABSENT,8,3               ## @TUNER_ABSENT
L_.str.18:                              ## @.str.18
	.asciz	"We currently don't support analog TV or stream capture on dual tuners.\n"

L_.str.19:                              ## @.str.19
	.asciz	"analog set to %s mode.\n"

L_.str.20:                              ## @.str.20
	.asciz	"bulk"

L_.str.21:                              ## @.str.21
	.asciz	"isoc"

L_.str.22:                              ## @.str.22
	.asciz	"dvb set to %s mode.\n"

	.comm	_SECONDARY_TS,4,2               ## @SECONDARY_TS
L_.str.23:                              ## @.str.23
	.asciz	"dvb ts2 set to %s mode.\n"

	.no_dead_strip	_em28xx_usb_probe
	.section	__TEXT,__const
	.p2align	2                               ## @reltable.em28xx_usb_probe
l_reltable.em28xx_usb_probe:
	.long	L_.str.3-l_reltable.em28xx_usb_probe
	.long	L_.str.2-l_reltable.em28xx_usb_probe
	.long	L_.str.4-l_reltable.em28xx_usb_probe
	.long	L_.str.3-l_reltable.em28xx_usb_probe

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function em28xx_usb_probe
_em28xx_usb_probe:                      ; @em28xx_usb_probe
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #192
	.cfi_def_cfa_offset 192
	stp	x28, x27, [sp, #96]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #112]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #128]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x24, x1
	mov	x22, x0
	stur	wzr, [x29, #-84]
	stp	wzr, wzr, [sp, #84]
	ldr	x8, [x0, #8]
	ldr	w27, [x8]
	bl	_interface_to_usbdev
	bl	_usb_get_dev
	mov	x19, x0
Lloh0:
	adrp	x26, _em28xx_devused@GOTPAGE
Lloh1:
	ldr	x26, [x26, _em28xx_devused@GOTPAGEOFF]
Lloh2:
	adrp	x20, _EM28XX_MAXBOARDS@GOTPAGE
Lloh3:
	ldr	x20, [x20, _EM28XX_MAXBOARDS@GOTPAGEOFF]
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x26]
	ldr	w1, [x20]
	bl	_find_first_zero_bit
	ldr	w8, [x20]
	cmp	w0, w8
	b.ge	LBB0_5
; %bb.2:                                ;   in Loop: Header=BB0_1 Depth=1
	mov	x21, x0
	ldr	w1, [x26]
	bl	_test_and_set_bit
	cbnz	x0, LBB0_1
; %bb.3:
	ldr	x8, [x22, #8]
	ldr	x8, [x8, #8]
Lloh4:
	adrp	x9, _USB_CLASS_AUDIO@GOTPAGE
Lloh5:
	ldr	x9, [x9, _USB_CLASS_AUDIO@GOTPAGEOFF]
Lloh6:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_6
; %bb.4:
	add	x20, x22, #4
	ldr	w0, [x19, #36]
	bl	_le16_to_cpu
	mov	x23, x0
	ldr	w0, [x19, #32]
	bl	_le16_to_cpu
                                        ; kill: def $w0 killed $w0 def $x0
	ldr	x8, [x22, #8]
	ldr	x8, [x8, #8]
                                        ; kill: def $w27 killed $w27 killed $x27 def $x27
	stp	x27, x8, [sp, #16]
	stp	x23, x0, [sp]
Lloh7:
	adrp	x1, l_.str.1@PAGE
Lloh8:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x20
	bl	_dev_info
Lloh9:
	adrp	x8, _ENODEV@GOTPAGE
Lloh10:
	ldr	x8, [x8, _ENODEV@GOTPAGEOFF]
	b	LBB0_18
LBB0_5:
	add	x0, x22, #4
	str	x8, [sp]
Lloh11:
	adrp	x1, l_.str@PAGE
Lloh12:
	add	x1, x1, l_.str@PAGEOFF
	bl	_dev_err
Lloh13:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh14:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
Lloh15:
	ldr	w8, [x8]
	neg	w25, w8
	b	LBB0_20
LBB0_6:
Lloh16:
	adrp	x23, _GFP_KERNEL@GOTPAGE
Lloh17:
	ldr	x23, [x23, _GFP_KERNEL@GOTPAGEOFF]
	ldr	w1, [x23]
	mov	w0, #216
	bl	_kzalloc
	cbz	x0, LBB0_17
; %bb.7:
	mov	x20, x0
	ldr	w0, [x22]
	ldr	w2, [x23]
	mov	w1, #216
	bl	_kcalloc
	str	x0, [x20, #48]
	cbz	x0, LBB0_16
; %bb.8:
	ldr	w9, [x22]
	cmp	w9, #1
	str	x24, [sp, #64]                  ; 8-byte Folded Spill
	b.lt	LBB0_22
; %bb.9:
	mov	x24, #0
	ldr	x8, [x22, #8]
	mov	w23, #24
	b	LBB0_11
LBB0_10:                                ;   in Loop: Header=BB0_11 Depth=1
	add	x24, x24, #1
	cmp	x24, w9, sxtw
	b.ge	LBB0_15
LBB0_11:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_13 Depth 2
	madd	x10, x24, x23, x8
	ldr	w10, [x10, #16]
	cmp	w10, #1
	b.lt	LBB0_10
; %bb.12:                               ;   in Loop: Header=BB0_11 Depth=1
	mov	w25, #0
LBB0_13:                                ;   Parent Loop BB0_11 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	sub	x5, x29, #84
	add	x6, sp, #88
	add	x7, sp, #84
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x3, x24
	mov	x4, x25
	bl	_em28xx_check_usb_descriptor
	add	w25, w25, #1
	ldr	x8, [x22, #8]
	madd	x9, x24, x23, x8
	ldr	w9, [x9, #16]
	cmp	w25, w9
	b.lt	LBB0_13
; %bb.14:                               ;   in Loop: Header=BB0_11 Depth=1
	ldr	w9, [x22]
	b	LBB0_10
LBB0_15:
	ldur	w10, [x29, #-84]
	ldp	w8, w9, [sp, #84]
	cbz	w10, LBB0_23
	b	LBB0_25
LBB0_16:
	mov	x0, x20
	bl	_kfree
LBB0_17:
Lloh18:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh19:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
LBB0_18:
	ldr	w8, [x8]
	neg	w25, w8
LBB0_19:
	ldr	w1, [x26]
	mov	x0, x21
	bl	_clear_bit
LBB0_20:
	mov	x0, x19
	bl	_usb_put_dev
LBB0_21:
	mov	x0, x25
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #128]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #112]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #96]             ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
LBB0_22:
	mov	w8, #0
	mov	w9, #0
	mov	w10, #0
	cbnz	w10, LBB0_25
LBB0_23:
	cbnz	w9, LBB0_25
; %bb.24:
	cbz	w8, LBB0_31
LBB0_25:
	ldr	w8, [x19]
	sub	w8, w8, #128
	cmp	w8, #3
	b.hi	LBB0_27
; %bb.26:
Lloh20:
	adrp	x9, l_switch.table.em28xx_usb_probe@PAGE
Lloh21:
	add	x9, x9, l_switch.table.em28xx_usb_probe@PAGEOFF
	ldr	x8, [x9, w8, sxtw #3]
	b	LBB0_28
LBB0_27:
Lloh22:
	adrp	x8, l_.str.5@PAGE
Lloh23:
	add	x8, x8, l_.str.5@PAGEOFF
LBB0_28:
	str	x8, [sp, #72]                   ; 8-byte Folded Spill
	add	x24, x22, #4
Lloh24:
	adrp	x10, l_.str.7@PAGE
Lloh25:
	add	x10, x10, l_.str.7@PAGEOFF
	ldp	x8, x9, [x19, #8]
	cmp	x8, #0
	csel	x28, x10, x8, eq
	cmp	x9, #0
	csel	x23, x10, x9, eq
	ldr	w0, [x19, #36]
	bl	_le16_to_cpu
	mov	x25, x0
	ldr	w0, [x19, #32]
	bl	_le16_to_cpu
                                        ; kill: def $w0 killed $w0 def $x0
	ldr	x8, [x22, #8]
	ldr	w8, [x8]
	stp	x27, x8, [sp, #40]
	stp	x25, x0, [sp, #24]
	ldr	x8, [sp, #72]                   ; 8-byte Folded Reload
	stp	x23, x8, [sp, #8]
Lloh26:
	adrp	x1, l_.str.6@PAGE
Lloh27:
	add	x1, x1, l_.str.6@PAGEOFF
	str	x28, [sp]
	str	x24, [sp, #72]                  ; 8-byte Folded Spill
	mov	x0, x24
	bl	_dev_info
	ldr	w8, [x19]
	cmp	w8, #130
	b.eq	LBB0_33
; %bb.29:
Lloh28:
	adrp	x8, _disable_usb_speed_check@GOTPAGE
Lloh29:
	ldr	x8, [x8, _disable_usb_speed_check@GOTPAGEOFF]
Lloh30:
	ldr	x8, [x8]
	cbnz	x8, LBB0_33
; %bb.30:
Lloh31:
	adrp	x1, l_.str.8@PAGE
Lloh32:
	add	x1, x1, l_.str.8@PAGEOFF
	ldr	x22, [sp, #72]                  ; 8-byte Folded Reload
	mov	x0, x22
	bl	_dev_err
Lloh33:
	adrp	x1, l_.str.9@PAGE
Lloh34:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	x0, x22
	bl	_dev_err
LBB0_31:
Lloh35:
	adrp	x8, _ENODEV@GOTPAGE
Lloh36:
	ldr	x8, [x8, _ENODEV@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
	neg	w25, w8
LBB0_32:
	ldr	x0, [x20, #48]
	bl	_kfree
	mov	x0, x20
	bl	_kfree
	b	LBB0_19
LBB0_33:
	ldr	x24, [sp, #64]                  ; 8-byte Folded Reload
	ldr	x8, [x24]
	str	x8, [x20, #176]
	mov	w8, #-1
	stp	w21, w8, [x20]
	ldur	w9, [x29, #-84]
	ldr	w8, [sp, #88]
	cbz	w9, LBB0_35
; %bb.34:
	ldr	w9, [sp, #84]
	orr	w9, w8, w9
	cmp	w9, #0
	cset	w9, eq
LBB0_35:
Lloh38:
	adrp	x23, _USB_CLASS_AUDIO@GOTPAGE
Lloh39:
	ldr	x23, [x23, _USB_CLASS_AUDIO@GOTPAGEOFF]
Lloh40:
	adrp	x28, l_.str.7@PAGE
Lloh41:
	add	x28, x28, l_.str.7@PAGEOFF
	stp	w9, w8, [x20, #8]
	str	w27, [x20, #16]
Lloh42:
	adrp	x8, _PRIMARY_TS@GOTPAGE
Lloh43:
	ldr	x8, [x8, _PRIMARY_TS@GOTPAGEOFF]
Lloh44:
	ldr	w8, [x8]
	str	w8, [x20, #184]
	ldr	w0, [x20, #212]
Lloh45:
	adrp	x2, l_.str.10@PAGE
Lloh46:
	add	x2, x2, l_.str.10@PAGEOFF
	mov	w1, #28
	bl	_snprintf
	str	xzr, [x20, #64]
	ldur	w8, [x29, #-84]
	cbz	w8, LBB0_37
; %bb.36:
	mov	x8, x27
	str	x8, [sp]
Lloh47:
	adrp	x1, l_.str.11@PAGE
Lloh48:
	add	x1, x1, l_.str.11@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_info
Lloh49:
	adrp	x8, _EM28XX_USB_AUDIO_VENDOR@GOTPAGE
Lloh50:
	ldr	x8, [x8, _EM28XX_USB_AUDIO_VENDOR@GOTPAGEOFF]
Lloh51:
	ldr	w8, [x8]
	str	w8, [x20, #208]
LBB0_37:
	ldr	x9, [x19, #24]
	ldr	w8, [x9, #8]
	cmp	w8, #1
	b.lt	LBB0_44
; %bb.38:
	ldr	x9, [x9]
	ldr	x10, [x23]
LBB0_39:                                ; =>This Inner Loop Header: Depth=1
	ldr	x11, [x9]
	ldr	x11, [x11, #8]
	ldr	x11, [x11, #8]
	cmp	x11, x10
	b.eq	LBB0_41
; %bb.40:                               ;   in Loop: Header=BB0_39 Depth=1
	add	x9, x9, #8
	subs	x8, x8, #1
	b.ne	LBB0_39
	b	LBB0_44
LBB0_41:
	ldur	w8, [x29, #-84]
	cbz	w8, LBB0_43
; %bb.42:
Lloh52:
	adrp	x1, l_.str.12@PAGE
Lloh53:
	add	x1, x1, l_.str.12@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_err
LBB0_43:
Lloh54:
	adrp	x8, _EM28XX_USB_AUDIO_CLASS@GOTPAGE
Lloh55:
	ldr	x8, [x8, _EM28XX_USB_AUDIO_CLASS@GOTPAGEOFF]
Lloh56:
	ldr	w8, [x8]
	str	w8, [x20, #208]
LBB0_44:
	ldr	w8, [sp, #88]
Lloh57:
	adrp	x25, l_.str.14@PAGE
Lloh58:
	add	x25, x25, l_.str.14@PAGEOFF
Lloh59:
	adrp	x23, l_.str.15@PAGE
Lloh60:
	add	x23, x23, l_.str.15@PAGEOFF
	cbz	w8, LBB0_46
; %bb.45:
	ldp	x8, x9, [x20, #192]
	cmp	x8, #0
	csel	x8, x28, x25, eq
	cmp	x9, #0
	csel	x9, x28, x23, eq
	stp	x8, x9, [sp, #8]
	mov	x9, x27
	str	x9, [sp]
Lloh61:
	adrp	x1, l_.str.13@PAGE
Lloh62:
	add	x1, x1, l_.str.13@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_info
LBB0_46:
	ldr	w8, [sp, #84]
	cbz	w8, LBB0_48
; %bb.47:
	ldr	x8, [x20, #96]
	cmp	x8, #0
	csel	x8, x28, x25, eq
	ldr	x9, [x20, #112]
	cmp	x9, #0
	csel	x9, x28, x23, eq
	stp	x8, x9, [sp, #8]
	mov	x9, x27
	str	x9, [sp]
Lloh63:
	adrp	x1, l_.str.16@PAGE
Lloh64:
	add	x1, x1, l_.str.16@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_info
LBB0_48:
	ldr	w8, [x22]
	str	w8, [x20, #20]
Lloh65:
	adrp	x8, _card@GOTPAGE
Lloh66:
	ldr	x8, [x8, _card@GOTPAGEOFF]
Lloh67:
	ldr	x8, [x8]
	ldr	x8, [x8, w21, sxtw #3]
Lloh68:
	adrp	x9, _em28xx_bcount@GOTPAGE
Lloh69:
	ldr	x9, [x9, _em28xx_bcount@GOTPAGEOFF]
Lloh70:
	ldr	w9, [x9]
	cmp	w9, w8
	b.ls	LBB0_50
; %bb.49:
	str	x8, [x20, #176]
LBB0_50:
	mov	x0, x22
	mov	x1, x20
	bl	_usb_set_intfdata
	add	x0, x20, #168
	bl	_mutex_init
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x3, x21
	bl	_em28xx_init_dev
	mov	x25, x0
	cbnz	w0, LBB0_32
; %bb.51:
Lloh71:
	adrp	x28, _usb_xfer_mode@GOTPAGE
Lloh72:
	ldr	x28, [x28, _usb_xfer_mode@GOTPAGEOFF]
	ldr	x25, [x28]
	tbz	x25, #63, LBB0_53
; %bb.52:
	ldr	x25, [x20, #128]
LBB0_53:
	ldr	w8, [sp, #88]
	cbz	w8, LBB0_57
; %bb.54:
	ldr	x9, [x20, #136]
Lloh73:
	adrp	x10, _EM28XX_NODECODER@GOTPAGE
Lloh74:
	ldr	x10, [x10, _EM28XX_NODECODER@GOTPAGEOFF]
Lloh75:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_57
; %bb.55:
	ldr	x9, [x20, #24]
Lloh76:
	adrp	x10, _EM28XX_NOSENSOR@GOTPAGE
Lloh77:
	ldr	x10, [x10, _EM28XX_NOSENSOR@GOTPAGEOFF]
Lloh78:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_57
; %bb.56:
Lloh79:
	adrp	x1, l_.str.17@PAGE
Lloh80:
	add	x1, x1, l_.str.17@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_err
	mov	w8, #0
	str	wzr, [sp, #88]
	str	wzr, [x20, #12]
LBB0_57:
	ldr	x9, [x20, #160]
	cbz	x9, LBB0_62
; %bb.58:
	ldr	x8, [x20, #32]
Lloh81:
	adrp	x9, _TUNER_ABSENT@GOTPAGE
Lloh82:
	ldr	x9, [x9, _TUNER_ABSENT@GOTPAGEOFF]
Lloh83:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_60
; %bb.59:
	mov	w0, #0
	bl	_INPUT
	ldr	x8, [x0]
	cbz	x8, LBB0_61
LBB0_60:
Lloh84:
	adrp	x1, l_.str.18@PAGE
Lloh85:
	add	x1, x1, l_.str.18@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_err
	str	wzr, [sp, #88]
	b	LBB0_68
LBB0_61:
	ldr	w8, [sp, #88]
LBB0_62:
	cbz	w8, LBB0_68
; %bb.63:
	ldr	x8, [x20, #200]
	cbz	x8, LBB0_66
; %bb.64:
	cbz	x25, LBB0_67
; %bb.65:
	ldr	x8, [x20, #192]
	cbz	x8, LBB0_67
LBB0_66:
	mov	w8, #1
	str	w8, [x20, #40]
LBB0_67:
	ldr	w8, [x20, #40]
Lloh86:
	adrp	x9, l_.str.20@PAGE
Lloh87:
	add	x9, x9, l_.str.20@PAGEOFF
Lloh88:
	adrp	x10, l_.str.21@PAGE
Lloh89:
	add	x10, x10, l_.str.21@PAGEOFF
	cmp	w8, #0
	csel	x8, x10, x9, eq
	str	x8, [sp]
Lloh90:
	adrp	x1, l_.str.19@PAGE
Lloh91:
	add	x1, x1, l_.str.19@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_info
LBB0_68:
	ldr	w8, [sp, #84]
	cbz	w8, LBB0_74
; %bb.69:
	ldr	x8, [x20, #112]
	cbz	x8, LBB0_72
; %bb.70:
	cbz	x25, LBB0_73
; %bb.71:
	ldr	x8, [x20, #96]
	cbz	x8, LBB0_73
LBB0_72:
	mov	w8, #1
	str	w8, [x20, #44]
LBB0_73:
	ldr	w8, [x20, #44]
Lloh92:
	adrp	x9, l_.str.20@PAGE
Lloh93:
	add	x9, x9, l_.str.20@PAGEOFF
Lloh94:
	adrp	x10, l_.str.21@PAGE
Lloh95:
	add	x10, x10, l_.str.21@PAGEOFF
	cmp	w8, #0
	csel	x8, x10, x9, eq
	str	x8, [sp]
Lloh96:
	adrp	x1, l_.str.22@PAGE
Lloh97:
	add	x1, x1, l_.str.22@PAGEOFF
	ldr	x0, [sp, #72]                   ; 8-byte Folded Reload
	bl	_dev_info
LBB0_74:
	ldr	x8, [x20, #160]
	cbz	x8, LBB0_76
; %bb.75:
	mov	x0, x20
	bl	_em28xx_duplicate_dev
	cbz	x0, LBB0_77
LBB0_76:
	add	x0, x20, #60
	bl	_kref_init
	mov	x0, x20
	bl	_request_modules
	mov	w25, #0
	b	LBB0_21
LBB0_77:
Lloh98:
	adrp	x8, _SECONDARY_TS@GOTPAGE
Lloh99:
	ldr	x8, [x8, _SECONDARY_TS@GOTPAGEOFF]
Lloh100:
	ldr	w9, [x8]
	ldr	x8, [x20, #64]
	str	w9, [x8, #184]
	mov	w9, #-1
	str	w9, [x8, #4]
	ldur	w9, [x29, #-84]
	cbz	w9, LBB0_79
; %bb.78:
	ldp	w10, w9, [sp, #84]
	orr	w9, w9, w10
	cmp	w9, #0
	cset	w9, eq
LBB0_79:
	stp	w9, wzr, [x8, #8]
	str	w27, [x8, #16]
	ldr	x9, [x24]
	str	x9, [x8, #176]
	add	x0, x8, #168
	bl	_mutex_init
	ldr	x0, [x20, #64]
	ldr	w3, [x0]
	mov	x1, x19
	mov	x2, x22
	bl	_em28xx_init_dev
	mov	x25, x0
	cbnz	w0, LBB0_32
; %bb.80:
	ldr	x8, [x20, #64]
	stp	xzr, xzr, [x8, #144]
	ldr	x9, [x28]
	tbz	x9, #63, LBB0_82
; %bb.81:
	ldr	x9, [x8, #128]
LBB0_82:
	ldr	w10, [sp, #84]
	cbz	w10, LBB0_88
; %bb.83:
	ldr	x10, [x20, #104]
	cbz	x10, LBB0_86
; %bb.84:
	cbz	x9, LBB0_87
; %bb.85:
	ldr	x9, [x20, #88]
	cbz	x9, LBB0_87
LBB0_86:
	mov	w9, #1
	str	w9, [x8, #44]
LBB0_87:
	ldr	x0, [x20, #120]
	ldr	w8, [x8, #44]
Lloh101:
	adrp	x9, l_.str.20@PAGE
Lloh102:
	add	x9, x9, l_.str.20@PAGEOFF
Lloh103:
	adrp	x10, l_.str.21@PAGE
Lloh104:
	add	x10, x10, l_.str.21@PAGEOFF
	cmp	w8, #0
	csel	x8, x10, x9, eq
	str	x8, [sp]
Lloh105:
	adrp	x1, l_.str.23@PAGE
Lloh106:
	add	x1, x1, l_.str.23@PAGEOFF
	bl	_dev_info
	ldr	x8, [x20, #64]
LBB0_88:
	ldr	x9, [x20, #104]
	str	x9, [x8, #112]
	ldr	x9, [x20, #88]
	str	x9, [x8, #96]
	ldp	w10, w9, [x20, #72]
	str	w9, [x8, #80]
	str	w10, [x8, #72]
	ldr	w19, [x20, #44]
	mov	x0, x20
	mov	w1, #11
	mov	w2, #150
	bl	_em28xx_write_reg
	mov	w0, #100
	bl	_mdelay
	mov	w8, #128
	mov	w9, #130
	cmp	w19, #0
	csel	w2, w9, w8, eq
	mov	x0, x20
	mov	w1, #11
	bl	_em28xx_write_reg
	mov	w0, #100
	bl	_mdelay
	ldr	x8, [x20, #64]
	add	x0, x8, #60
	bl	_kref_init
	b	LBB0_76
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpAdd	Lloh90, Lloh91
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpAdd	Lloh96, Lloh97
	.loh AdrpAdd	Lloh94, Lloh95
	.loh AdrpAdd	Lloh92, Lloh93
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpAdd	Lloh105, Lloh106
	.loh AdrpAdd	Lloh103, Lloh104
	.loh AdrpAdd	Lloh101, Lloh102
	.cfi_endproc
                                        ; -- End function
	.comm	_em28xx_devused,4,2             ; @em28xx_devused
	.comm	_EM28XX_MAXBOARDS,4,2           ; @EM28XX_MAXBOARDS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Driver supports up to %i em28xx boards.\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_USB_CLASS_AUDIO,8,3            ; @USB_CLASS_AUDIO
l_.str.1:                               ; @.str.1
	.asciz	"audio device (%04x:%04x): interface %i, class %i\n"

	.comm	_ENODEV,4,2                     ; @ENODEV
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
l_.str.2:                               ; @.str.2
	.asciz	"1.5"

l_.str.3:                               ; @.str.3
	.asciz	"12"

l_.str.4:                               ; @.str.4
	.asciz	"480"

l_.str.5:                               ; @.str.5
	.asciz	"unknown"

l_.str.6:                               ; @.str.6
	.asciz	"New device %s %s @ %s Mbps (%04x:%04x, interface %d, class %d)\n"

l_.str.7:                               ; @.str.7
	.space	1

	.comm	_disable_usb_speed_check,8,3    ; @disable_usb_speed_check
l_.str.8:                               ; @.str.8
	.asciz	"Device initialization failed.\n"

l_.str.9:                               ; @.str.9
	.asciz	"Device must be connected to a high-speed USB 2.0 port.\n"

	.comm	_PRIMARY_TS,4,2                 ; @PRIMARY_TS
l_.str.10:                              ; @.str.10
	.asciz	"em28xx"

l_.str.11:                              ; @.str.11
	.asciz	"Audio interface %i found (Vendor Class)\n"

	.comm	_EM28XX_USB_AUDIO_VENDOR,4,2    ; @EM28XX_USB_AUDIO_VENDOR
l_.str.12:                              ; @.str.12
	.asciz	"em28xx: device seems to have vendor AND usb audio class interfaces !\n\t\tThe vendor interface will be ignored. Please contact the developers <linux-media@vger.kernel.org>\n"

	.comm	_EM28XX_USB_AUDIO_CLASS,4,2     ; @EM28XX_USB_AUDIO_CLASS
l_.str.13:                              ; @.str.13
	.asciz	"Video interface %i found:%s%s\n"

l_.str.14:                              ; @.str.14
	.asciz	" bulk"

l_.str.15:                              ; @.str.15
	.asciz	" isoc"

l_.str.16:                              ; @.str.16
	.asciz	"DVB interface %i found:%s%s\n"

	.comm	_card,8,3                       ; @card
	.comm	_em28xx_bcount,4,2              ; @em28xx_bcount
	.comm	_usb_xfer_mode,8,3              ; @usb_xfer_mode
	.comm	_EM28XX_NODECODER,8,3           ; @EM28XX_NODECODER
	.comm	_EM28XX_NOSENSOR,8,3            ; @EM28XX_NOSENSOR
l_.str.17:                              ; @.str.17
	.asciz	"Currently, V4L2 is not supported on this model\n"

	.comm	_TUNER_ABSENT,8,3               ; @TUNER_ABSENT
l_.str.18:                              ; @.str.18
	.asciz	"We currently don't support analog TV or stream capture on dual tuners.\n"

l_.str.19:                              ; @.str.19
	.asciz	"analog set to %s mode.\n"

l_.str.20:                              ; @.str.20
	.asciz	"bulk"

l_.str.21:                              ; @.str.21
	.asciz	"isoc"

l_.str.22:                              ; @.str.22
	.asciz	"dvb set to %s mode.\n"

	.comm	_SECONDARY_TS,4,2               ; @SECONDARY_TS
l_.str.23:                              ; @.str.23
	.asciz	"dvb ts2 set to %s mode.\n"

	.no_dead_strip	_em28xx_usb_probe
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.em28xx_usb_probe
l_switch.table.em28xx_usb_probe:
	.quad	l_.str.3
	.quad	l_.str.2
	.quad	l_.str.4
	.quad	l_.str.3

.subsections_via_symbols
