	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_em28xx_card_setup              ## -- Begin function em28xx_card_setup
	.p2align	4, 0x90
_em28xx_card_setup:                     ## @em28xx_card_setup
	.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	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	cmpq	$0, 128(%rdi)
	je	LBB0_4
## %bb.1:
	movq	%rbx, %rdi
	callq	_em28xx_hint_sensor
	testq	%rax, %rax
	js	LBB0_2
## %bb.3:
	movl	$1, (%rbx)
	cmpq	$0, 128(%rbx)
	jne	LBB0_10
	jmp	LBB0_4
LBB0_2:
	movq	$0, 128(%rbx)
LBB0_4:
	movl	4(%rbx), %eax
	cmpl	$138, %eax
	je	LBB0_6
## %bb.5:
	cmpl	$135, %eax
	jne	LBB0_9
LBB0_6:
	movq	%rbx, %rdi
	callq	_em28xx_hint_board
	testl	%eax, %eax
	js	LBB0_7
## %bb.8:
	movq	%rbx, %rdi
	callq	_em28xx_set_model
	movq	%rbx, %rdi
	callq	_em28xx_pre_card_setup
	jmp	LBB0_10
LBB0_9:
	movq	%rbx, %rdi
	callq	_em28xx_set_model
	jmp	LBB0_10
LBB0_7:
	leaq	L_.str(%rip), %rdi
	callq	_em28xx_errdev
LBB0_10:
	movl	4(%rbx), %edx
	movl	124(%rbx), %esi
	leaq	L_.str.1(%rip), %rdi
	callq	_em28xx_info
	movq	_em28xx_boards@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movslq	4(%rbx), %rax
	leaq	(%rax,%rax,2), %rdx
	movq	16(%rcx,%rdx,8), %rsi
	movq	%rsi, 144(%rbx)
	movq	(%rcx,%rdx,8), %rsi
	testq	%rsi, %rsi
	je	LBB0_12
## %bb.11:
	movq	%rsi, 8(%rbx)
LBB0_12:
	movl	8(%rcx,%rdx,8), %ecx
	testl	%ecx, %ecx
	je	LBB0_14
## %bb.13:
	movl	%ecx, 16(%rbx)
LBB0_14:
	addl	$-128, %eax
	cmpl	$10, %eax
	ja	LBB0_23
## %bb.15:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_16:
	leaq	156(%rbx), %rdi
	movl	$80, 156(%rbx)
	movl	152(%rbx), %edx
	leaq	-48(%rbp), %rsi
	callq	_tveeprom_hauppauge_analog
	movq	-40(%rbp), %rax
	movq	%rax, 144(%rbx)
	movl	-48(%rbp), %eax
	movq	_V4L2_IDENT_MSPX4XX@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_23
## %bb.17:
	movl	$2048000, 20(%rbx)              ## imm = 0x1F4000
	movl	$1, 40(%rbx)
	cmpq	$0, 104(%rbx)
	jne	LBB0_24
	jmp	LBB0_25
LBB0_20:
	movq	%rbx, %rdi
	callq	_em28xx_hint_board
	testl	%eax, %eax
	jne	LBB0_22
## %bb.21:
	movq	%rbx, %rdi
	callq	_em28xx_set_model
LBB0_22:
	movl	120(%rbx), %esi
	movq	%rbx, %rdi
	callq	_em28xx_gpio_set
	movq	_EM28XX_ANALOG_MODE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_em28xx_set_mode
	cmpq	$0, 104(%rbx)
	jne	LBB0_24
	jmp	LBB0_25
LBB0_18:
	movq	%rbx, %rdi
	movl	$13, %esi
	movl	$66, %edx
	callq	_em28xx_write_reg
	movl	$10, %edi
	callq	_msleep
	movq	_EM28XX_R08_GPIO@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movl	$253, %edx
	callq	_em28xx_write_reg
	movl	$10, %edi
	callq	_msleep
LBB0_23:
	cmpq	$0, 104(%rbx)
	je	LBB0_25
LBB0_24:
	movq	%rbx, %rdi
	callq	_em28xx_register_snapshot_button
LBB0_25:
	movq	48(%rbx), %rax
	movq	_EM28XX_BOARD_NOT_VALIDATED@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_27
## %bb.26:
	leaq	L_.str.2(%rip), %rdi
	callq	_em28xx_errdev
	leaq	L_.str.3(%rip), %rdi
	callq	_em28xx_errdev
	leaq	L_.str.4(%rip), %rdi
	callq	_em28xx_errdev
	leaq	L_.str.5(%rip), %rdi
	callq	_em28xx_errdev
LBB0_27:
	movq	_tuner@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	js	LBB0_29
## %bb.28:
	movq	%rax, 144(%rbx)
LBB0_29:
	cmpl	$0, 40(%rbx)
	je	LBB0_31
## %bb.30:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	_msp3400_addrs@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	L_.str.6(%rip), %rdx
	xorl	%ecx, %ecx
	callq	_v4l2_i2c_new_subdev
LBB0_31:
	movq	56(%rbx), %rax
	movq	_EM28XX_SAA711X@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_33
## %bb.32:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	_saa711x_addrs@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	L_.str.7(%rip), %rdx
	xorl	%ecx, %ecx
	callq	_v4l2_i2c_new_subdev
	movq	56(%rbx), %rax
LBB0_33:
	movq	_EM28XX_TVP5150@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_35
## %bb.34:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	_tvp5150_addrs@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	L_.str.8(%rip), %rdx
	xorl	%ecx, %ecx
	callq	_v4l2_i2c_new_subdev
LBB0_35:
	movq	24(%rbx), %rax
	movq	_EM28XX_MT9V011@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_37
## %bb.36:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	_mt9v011_addrs@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	L_.str.9(%rip), %rdx
	xorl	%ecx, %ecx
	callq	_v4l2_i2c_new_subdev
	movq	_core@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movq	_s_config@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	leaq	136(%rbx), %r8
	movq	%rax, %rdi
	xorl	%ecx, %ecx
	callq	_v4l2_subdev_call
LBB0_37:
	movq	64(%rbx), %rax
	movq	_EM28XX_TVAUDIO@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_39
## %bb.38:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	72(%rbx), %rcx
	leaq	L_.str.10(%rip), %rdx
	xorl	%r8d, %r8d
	callq	_v4l2_i2c_new_subdev
LBB0_39:
	movq	80(%rbx), %rax
	movq	_TUNER_ABSENT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_51
## %bb.40:
	movq	_TDA9887_PRESENT@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	andl	16(%rbx), %r12d
	cmpq	$0, 96(%rbx)
	je	LBB0_42
## %bb.41:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	movq	88(%rbx), %rcx
	leaq	L_.str.11(%rip), %rdx
	xorl	%r8d, %r8d
	callq	_v4l2_i2c_new_subdev
LBB0_42:
	testl	%r12d, %r12d
	je	LBB0_44
## %bb.43:
	leaq	36(%rbx), %r14
	leaq	32(%rbx), %r15
	movq	_ADDRS_DEMOD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_v4l2_i2c_tuner_addrs
	leaq	L_.str.11(%rip), %rdx
	movq	%r14, %rdi
	movq	%r15, %rsi
	xorl	%ecx, %ecx
	movq	%rax, %r8
	callq	_v4l2_i2c_new_subdev
LBB0_44:
	movq	8(%rbx), %rcx
	testq	%rcx, %rcx
	je	LBB0_45
## %bb.50:
	leaq	36(%rbx), %rdi
	leaq	32(%rbx), %rsi
	leaq	L_.str.11(%rip), %rdx
	xorl	%r8d, %r8d
	callq	_v4l2_i2c_new_subdev
	jmp	LBB0_51
LBB0_45:
	testl	%r12d, %r12d
	jne	LBB0_46
## %bb.47:
	movq	_ADDRS_TV@GOTPCREL(%rip), %rax
	jmp	LBB0_48
LBB0_19:
	movq	_EM28XX_R08_GPIO@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movl	$249, %edx
	callq	_em28xx_write_reg
	cmpq	$0, 104(%rbx)
	jne	LBB0_24
	jmp	LBB0_25
LBB0_46:
	movq	_ADDRS_TV_WITH_DEMOD@GOTPCREL(%rip), %rax
LBB0_48:
	movl	(%rax), %edi
	leaq	36(%rbx), %r14
	leaq	32(%rbx), %r15
	callq	_v4l2_i2c_tuner_addrs
	leaq	L_.str.11(%rip), %rdx
	movq	%r14, %rdi
	movq	%r15, %rsi
	xorl	%ecx, %ecx
	movq	%rax, %r8
	callq	_v4l2_i2c_new_subdev
	testq	%rax, %rax
	je	LBB0_51
## %bb.49:
	movq	%rax, %rdi
	callq	_v4l2_i2c_subdev_addr
	movq	%rax, 8(%rbx)
LBB0_51:
	movq	%rbx, %rdi
	callq	_em28xx_tuner_setup
	movq	_disable_ir@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	jne	LBB0_53
## %bb.52:
	movq	%rbx, %rdi
	callq	_em28xx_ir_init
LBB0_53:
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
LJTI0_0:
	.long	L0_0_set_16
	.long	L0_0_set_16
	.long	L0_0_set_20
	.long	L0_0_set_18
	.long	L0_0_set_20
	.long	L0_0_set_16
	.long	L0_0_set_16
	.long	L0_0_set_20
	.long	L0_0_set_19
	.long	L0_0_set_16
	.long	L0_0_set_20
	.end_data_region
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Board not discovered\n"

L_.str.1:                               ## @.str.1
	.asciz	"Identified as %s (card=%d)\n"

	.comm	_em28xx_boards,8,3              ## @em28xx_boards
	.comm	_V4L2_IDENT_MSPX4XX,4,2         ## @V4L2_IDENT_MSPX4XX
	.comm	_EM28XX_R08_GPIO,4,2            ## @EM28XX_R08_GPIO
	.comm	_EM28XX_ANALOG_MODE,4,2         ## @EM28XX_ANALOG_MODE
	.comm	_EM28XX_BOARD_NOT_VALIDATED,8,3 ## @EM28XX_BOARD_NOT_VALIDATED
L_.str.2:                               ## @.str.2
	.asciz	"\n\n"

L_.str.3:                               ## @.str.3
	.asciz	"The support for this board weren't valid yet.\n"

L_.str.4:                               ## @.str.4
	.asciz	"Please send a report of having this working\n"

L_.str.5:                               ## @.str.5
	.asciz	"not to V4L mailing list (and/or to other addresses)\n\n"

	.comm	_tuner,8,3                      ## @tuner
L_.str.6:                               ## @.str.6
	.asciz	"msp3400"

	.comm	_msp3400_addrs,8,3              ## @msp3400_addrs
	.comm	_EM28XX_SAA711X,8,3             ## @EM28XX_SAA711X
L_.str.7:                               ## @.str.7
	.asciz	"saa7115_auto"

	.comm	_saa711x_addrs,8,3              ## @saa711x_addrs
	.comm	_EM28XX_TVP5150,8,3             ## @EM28XX_TVP5150
L_.str.8:                               ## @.str.8
	.asciz	"tvp5150"

	.comm	_tvp5150_addrs,8,3              ## @tvp5150_addrs
	.comm	_EM28XX_MT9V011,8,3             ## @EM28XX_MT9V011
L_.str.9:                               ## @.str.9
	.asciz	"mt9v011"

	.comm	_mt9v011_addrs,8,3              ## @mt9v011_addrs
	.comm	_core,4,2                       ## @core
	.comm	_s_config,4,2                   ## @s_config
	.comm	_EM28XX_TVAUDIO,8,3             ## @EM28XX_TVAUDIO
L_.str.10:                              ## @.str.10
	.asciz	"tvaudio"

	.comm	_TUNER_ABSENT,8,3               ## @TUNER_ABSENT
	.comm	_TDA9887_PRESENT,4,2            ## @TDA9887_PRESENT
L_.str.11:                              ## @.str.11
	.asciz	"tuner"

	.comm	_ADDRS_DEMOD,4,2                ## @ADDRS_DEMOD
	.comm	_ADDRS_TV_WITH_DEMOD,4,2        ## @ADDRS_TV_WITH_DEMOD
	.comm	_ADDRS_TV,4,2                   ## @ADDRS_TV
	.comm	_disable_ir,4,2                 ## @disable_ir
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_em28xx_card_setup              ; -- Begin function em28xx_card_setup
	.p2align	2
_em28xx_card_setup:                     ; @em28xx_card_setup
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	mov	x19, x0
	ldr	x8, [x0, #128]
	cbz	x8, LBB0_4
; %bb.1:
	mov	x0, x19
	bl	_em28xx_hint_sensor
	tbnz	x0, #63, LBB0_3
; %bb.2:
	mov	w8, #1
	str	w8, [x19]
	ldr	x8, [x19, #128]
	cbnz	x8, LBB0_10
	b	LBB0_4
LBB0_3:
	str	xzr, [x19, #128]
LBB0_4:
	ldr	w8, [x19, #4]
	cmp	w8, #138
	b.eq	LBB0_6
; %bb.5:
	cmp	w8, #135
	b.ne	LBB0_8
LBB0_6:
	mov	x0, x19
	bl	_em28xx_hint_board
	tbnz	w0, #31, LBB0_9
; %bb.7:
	mov	x0, x19
	bl	_em28xx_set_model
	mov	x0, x19
	bl	_em28xx_pre_card_setup
	b	LBB0_10
LBB0_8:
	mov	x0, x19
	bl	_em28xx_set_model
	b	LBB0_10
LBB0_9:
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_em28xx_errdev
LBB0_10:
	ldr	w1, [x19, #124]
	ldr	w2, [x19, #4]
Lloh2:
	adrp	x0, l_.str.1@PAGE
Lloh3:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_em28xx_info
Lloh4:
	adrp	x8, _em28xx_boards@GOTPAGE
Lloh5:
	ldr	x8, [x8, _em28xx_boards@GOTPAGEOFF]
Lloh6:
	ldr	x9, [x8]
	ldrsw	x8, [x19, #4]
	mov	w10, #24
	madd	x10, x8, x10, x9
	ldr	x11, [x10, #16]
	str	x11, [x19, #144]
	ldr	x10, [x10]
	cbz	x10, LBB0_12
; %bb.11:
	str	x10, [x19, #8]
LBB0_12:
	mov	w10, #24
	madd	x9, x8, x10, x9
	ldr	w9, [x9, #8]
	cbz	w9, LBB0_14
; %bb.13:
	str	w9, [x19, #16]
LBB0_14:
	sub	w8, w8, #128
	cmp	w8, #10
	b.hi	LBB0_22
; %bb.15:
Lloh7:
	adrp	x9, lJTI0_0@PAGE
Lloh8:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_16
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_16:
	mov	w8, #80
	mov	x20, x19
	str	w8, [x20, #156]!
	ldur	w2, [x20, #-4]
	mov	x1, sp
	mov	x0, x20
	bl	_tveeprom_hauppauge_analog
	ldr	x8, [sp, #8]
	stur	x8, [x20, #-12]
	ldr	w8, [sp]
Lloh9:
	adrp	x9, _V4L2_IDENT_MSPX4XX@GOTPAGE
Lloh10:
	ldr	x9, [x9, _V4L2_IDENT_MSPX4XX@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_22
; %bb.17:
	mov	w8, #16384
	movk	w8, #31, lsl #16
	str	w8, [x19, #20]
	mov	w8, #1
	str	w8, [x19, #40]
	ldr	x8, [x19, #104]
	cbnz	x8, LBB0_23
	b	LBB0_24
LBB0_18:
	mov	x0, x19
	bl	_em28xx_hint_board
	cbnz	w0, LBB0_20
; %bb.19:
	mov	x0, x19
	bl	_em28xx_set_model
LBB0_20:
	ldr	w1, [x19, #120]
	mov	x0, x19
	bl	_em28xx_gpio_set
Lloh12:
	adrp	x8, _EM28XX_ANALOG_MODE@GOTPAGE
Lloh13:
	ldr	x8, [x8, _EM28XX_ANALOG_MODE@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_em28xx_set_mode
	ldr	x8, [x19, #104]
	cbnz	x8, LBB0_23
	b	LBB0_24
LBB0_21:
	mov	x0, x19
	mov	w1, #13
	mov	w2, #66
	bl	_em28xx_write_reg
	mov	w0, #10
	bl	_msleep
Lloh15:
	adrp	x8, _EM28XX_R08_GPIO@GOTPAGE
Lloh16:
	ldr	x8, [x8, _EM28XX_R08_GPIO@GOTPAGEOFF]
Lloh17:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #253
	bl	_em28xx_write_reg
	mov	w0, #10
	bl	_msleep
LBB0_22:
	ldr	x8, [x19, #104]
	cbz	x8, LBB0_24
LBB0_23:
	mov	x0, x19
	bl	_em28xx_register_snapshot_button
LBB0_24:
	ldr	x8, [x19, #48]
Lloh18:
	adrp	x9, _EM28XX_BOARD_NOT_VALIDATED@GOTPAGE
Lloh19:
	ldr	x9, [x9, _EM28XX_BOARD_NOT_VALIDATED@GOTPAGEOFF]
Lloh20:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_26
; %bb.25:
Lloh21:
	adrp	x0, l_.str.2@PAGE
Lloh22:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_em28xx_errdev
Lloh23:
	adrp	x0, l_.str.3@PAGE
Lloh24:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_em28xx_errdev
Lloh25:
	adrp	x0, l_.str.4@PAGE
Lloh26:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_em28xx_errdev
Lloh27:
	adrp	x0, l_.str.5@PAGE
Lloh28:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_em28xx_errdev
LBB0_26:
Lloh29:
	adrp	x8, _tuner@GOTPAGE
Lloh30:
	ldr	x8, [x8, _tuner@GOTPAGEOFF]
Lloh31:
	ldr	x8, [x8]
	tbnz	x8, #63, LBB0_28
; %bb.27:
	str	x8, [x19, #144]
LBB0_28:
	ldr	w8, [x19, #40]
	cbz	w8, LBB0_30
; %bb.29:
	add	x0, x19, #36
	add	x1, x19, #32
Lloh32:
	adrp	x8, _msp3400_addrs@GOTPAGE
Lloh33:
	ldr	x8, [x8, _msp3400_addrs@GOTPAGEOFF]
Lloh34:
	ldr	x4, [x8]
Lloh35:
	adrp	x2, l_.str.6@PAGE
Lloh36:
	add	x2, x2, l_.str.6@PAGEOFF
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
LBB0_30:
	ldr	x8, [x19, #56]
Lloh37:
	adrp	x9, _EM28XX_SAA711X@GOTPAGE
Lloh38:
	ldr	x9, [x9, _EM28XX_SAA711X@GOTPAGEOFF]
Lloh39:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_32
; %bb.31:
	add	x0, x19, #36
	add	x1, x19, #32
Lloh40:
	adrp	x8, _saa711x_addrs@GOTPAGE
Lloh41:
	ldr	x8, [x8, _saa711x_addrs@GOTPAGEOFF]
Lloh42:
	ldr	x4, [x8]
Lloh43:
	adrp	x2, l_.str.7@PAGE
Lloh44:
	add	x2, x2, l_.str.7@PAGEOFF
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
	ldr	x8, [x19, #56]
LBB0_32:
Lloh45:
	adrp	x9, _EM28XX_TVP5150@GOTPAGE
Lloh46:
	ldr	x9, [x9, _EM28XX_TVP5150@GOTPAGEOFF]
Lloh47:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_34
; %bb.33:
	add	x0, x19, #36
	add	x1, x19, #32
Lloh48:
	adrp	x8, _tvp5150_addrs@GOTPAGE
Lloh49:
	ldr	x8, [x8, _tvp5150_addrs@GOTPAGEOFF]
Lloh50:
	ldr	x4, [x8]
Lloh51:
	adrp	x2, l_.str.8@PAGE
Lloh52:
	add	x2, x2, l_.str.8@PAGEOFF
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
LBB0_34:
	ldr	x8, [x19, #24]
Lloh53:
	adrp	x9, _EM28XX_MT9V011@GOTPAGE
Lloh54:
	ldr	x9, [x9, _EM28XX_MT9V011@GOTPAGEOFF]
Lloh55:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_36
; %bb.35:
	add	x0, x19, #36
	add	x1, x19, #32
Lloh56:
	adrp	x8, _mt9v011_addrs@GOTPAGE
Lloh57:
	ldr	x8, [x8, _mt9v011_addrs@GOTPAGEOFF]
Lloh58:
	ldr	x4, [x8]
Lloh59:
	adrp	x2, l_.str.9@PAGE
Lloh60:
	add	x2, x2, l_.str.9@PAGEOFF
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
Lloh61:
	adrp	x8, _core@GOTPAGE
Lloh62:
	ldr	x8, [x8, _core@GOTPAGEOFF]
Lloh63:
	ldr	w1, [x8]
Lloh64:
	adrp	x8, _s_config@GOTPAGE
Lloh65:
	ldr	x8, [x8, _s_config@GOTPAGEOFF]
Lloh66:
	ldr	w2, [x8]
	add	x4, x19, #136
	mov	w3, #0
	bl	_v4l2_subdev_call
LBB0_36:
	ldr	x8, [x19, #64]
Lloh67:
	adrp	x9, _EM28XX_TVAUDIO@GOTPAGE
Lloh68:
	ldr	x9, [x9, _EM28XX_TVAUDIO@GOTPAGEOFF]
Lloh69:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_38
; %bb.37:
	add	x0, x19, #36
	add	x1, x19, #32
	ldr	x3, [x19, #72]
Lloh70:
	adrp	x2, l_.str.10@PAGE
Lloh71:
	add	x2, x2, l_.str.10@PAGEOFF
	mov	x4, #0
	bl	_v4l2_i2c_new_subdev
LBB0_38:
	ldr	x8, [x19, #80]
Lloh72:
	adrp	x9, _TUNER_ABSENT@GOTPAGE
Lloh73:
	ldr	x9, [x9, _TUNER_ABSENT@GOTPAGEOFF]
Lloh74:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_47
; %bb.39:
	ldr	w8, [x19, #16]
Lloh75:
	adrp	x9, _TDA9887_PRESENT@GOTPAGE
Lloh76:
	ldr	x9, [x9, _TDA9887_PRESENT@GOTPAGEOFF]
Lloh77:
	ldr	w9, [x9]
	and	w22, w9, w8
	ldr	x8, [x19, #96]
	cbz	x8, LBB0_41
; %bb.40:
	add	x0, x19, #36
	add	x1, x19, #32
	ldr	x3, [x19, #88]
Lloh78:
	adrp	x2, l_.str.11@PAGE
Lloh79:
	add	x2, x2, l_.str.11@PAGEOFF
	mov	x4, #0
	bl	_v4l2_i2c_new_subdev
LBB0_41:
	cbz	w22, LBB0_43
; %bb.42:
	add	x20, x19, #36
	add	x21, x19, #32
Lloh80:
	adrp	x8, _ADDRS_DEMOD@GOTPAGE
Lloh81:
	ldr	x8, [x8, _ADDRS_DEMOD@GOTPAGEOFF]
Lloh82:
	ldr	w0, [x8]
	bl	_v4l2_i2c_tuner_addrs
	mov	x4, x0
Lloh83:
	adrp	x2, l_.str.11@PAGE
Lloh84:
	add	x2, x2, l_.str.11@PAGEOFF
	mov	x0, x20
	mov	x1, x21
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
LBB0_43:
	ldr	x3, [x19, #8]
	cbz	x3, LBB0_45
; %bb.44:
	add	x0, x19, #36
	add	x1, x19, #32
Lloh85:
	adrp	x2, l_.str.11@PAGE
Lloh86:
	add	x2, x2, l_.str.11@PAGEOFF
	mov	x4, #0
	bl	_v4l2_i2c_new_subdev
	b	LBB0_47
LBB0_45:
Lloh87:
	adrp	x8, _ADDRS_TV_WITH_DEMOD@GOTPAGE
Lloh88:
	ldr	x8, [x8, _ADDRS_TV_WITH_DEMOD@GOTPAGEOFF]
Lloh89:
	adrp	x9, _ADDRS_TV@GOTPAGE
Lloh90:
	ldr	x9, [x9, _ADDRS_TV@GOTPAGEOFF]
	cmp	w22, #0
	csel	x8, x9, x8, eq
	ldr	w0, [x8]
	add	x20, x19, #36
	add	x21, x19, #32
	bl	_v4l2_i2c_tuner_addrs
	mov	x4, x0
Lloh91:
	adrp	x2, l_.str.11@PAGE
Lloh92:
	add	x2, x2, l_.str.11@PAGEOFF
	mov	x0, x20
	mov	x1, x21
	mov	x3, #0
	bl	_v4l2_i2c_new_subdev
	cbz	x0, LBB0_47
; %bb.46:
	bl	_v4l2_i2c_subdev_addr
	str	x0, [x19, #8]
LBB0_47:
	mov	x0, x19
	bl	_em28xx_tuner_setup
Lloh93:
	adrp	x8, _disable_ir@GOTPAGE
Lloh94:
	ldr	x8, [x8, _disable_ir@GOTPAGEOFF]
Lloh95:
	ldr	w8, [x8]
	cbnz	w8, LBB0_49
; %bb.48:
	mov	x0, x19
	bl	_em28xx_ir_init
LBB0_49:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_50:
Lloh96:
	adrp	x8, _EM28XX_R08_GPIO@GOTPAGE
Lloh97:
	ldr	x8, [x8, _EM28XX_R08_GPIO@GOTPAGEOFF]
Lloh98:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #249
	bl	_em28xx_write_reg
	ldr	x8, [x19, #104]
	cbnz	x8, LBB0_23
	b	LBB0_24
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpAdd	Lloh91, Lloh92
	.loh AdrpLdrGot	Lloh89, Lloh90
	.loh AdrpLdrGot	Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_16-LBB0_16)>>2
	.byte	(LBB0_16-LBB0_16)>>2
	.byte	(LBB0_18-LBB0_16)>>2
	.byte	(LBB0_21-LBB0_16)>>2
	.byte	(LBB0_18-LBB0_16)>>2
	.byte	(LBB0_16-LBB0_16)>>2
	.byte	(LBB0_16-LBB0_16)>>2
	.byte	(LBB0_18-LBB0_16)>>2
	.byte	(LBB0_50-LBB0_16)>>2
	.byte	(LBB0_16-LBB0_16)>>2
	.byte	(LBB0_18-LBB0_16)>>2
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Board not discovered\n"

l_.str.1:                               ; @.str.1
	.asciz	"Identified as %s (card=%d)\n"

	.comm	_em28xx_boards,8,3              ; @em28xx_boards
	.comm	_V4L2_IDENT_MSPX4XX,4,2         ; @V4L2_IDENT_MSPX4XX
	.comm	_EM28XX_R08_GPIO,4,2            ; @EM28XX_R08_GPIO
	.comm	_EM28XX_ANALOG_MODE,4,2         ; @EM28XX_ANALOG_MODE
	.comm	_EM28XX_BOARD_NOT_VALIDATED,8,3 ; @EM28XX_BOARD_NOT_VALIDATED
l_.str.2:                               ; @.str.2
	.asciz	"\n\n"

l_.str.3:                               ; @.str.3
	.asciz	"The support for this board weren't valid yet.\n"

l_.str.4:                               ; @.str.4
	.asciz	"Please send a report of having this working\n"

l_.str.5:                               ; @.str.5
	.asciz	"not to V4L mailing list (and/or to other addresses)\n\n"

	.comm	_tuner,8,3                      ; @tuner
l_.str.6:                               ; @.str.6
	.asciz	"msp3400"

	.comm	_msp3400_addrs,8,3              ; @msp3400_addrs
	.comm	_EM28XX_SAA711X,8,3             ; @EM28XX_SAA711X
l_.str.7:                               ; @.str.7
	.asciz	"saa7115_auto"

	.comm	_saa711x_addrs,8,3              ; @saa711x_addrs
	.comm	_EM28XX_TVP5150,8,3             ; @EM28XX_TVP5150
l_.str.8:                               ; @.str.8
	.asciz	"tvp5150"

	.comm	_tvp5150_addrs,8,3              ; @tvp5150_addrs
	.comm	_EM28XX_MT9V011,8,3             ; @EM28XX_MT9V011
l_.str.9:                               ; @.str.9
	.asciz	"mt9v011"

	.comm	_mt9v011_addrs,8,3              ; @mt9v011_addrs
	.comm	_core,4,2                       ; @core
	.comm	_s_config,4,2                   ; @s_config
	.comm	_EM28XX_TVAUDIO,8,3             ; @EM28XX_TVAUDIO
l_.str.10:                              ; @.str.10
	.asciz	"tvaudio"

	.comm	_TUNER_ABSENT,8,3               ; @TUNER_ABSENT
	.comm	_TDA9887_PRESENT,4,2            ; @TDA9887_PRESENT
l_.str.11:                              ; @.str.11
	.asciz	"tuner"

	.comm	_ADDRS_DEMOD,4,2                ; @ADDRS_DEMOD
	.comm	_ADDRS_TV_WITH_DEMOD,4,2        ; @ADDRS_TV_WITH_DEMOD
	.comm	_ADDRS_TV,4,2                   ; @ADDRS_TV
	.comm	_disable_ir,4,2                 ; @disable_ir
.subsections_via_symbols
