	.file	"extr_rp.c_rpopen.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	rpopen, @function
rpopen:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	call	tty_softc@PLT
	mov	rdi, QWORD PTR 24[rax]
	mov	rbx, rax
	mov	eax, DWORD PTR SET_RTS[rip]
	or	eax, DWORD PTR SET_DTR[rip]
	lea	rbp, 24[rbx]
	or	DWORD PTR 12[rdi], eax
	call	le32dec@PLT
	mov	esi, DWORD PTR _INDX_ADDR[rip]
	mov	rdi, rbp
	mov	edx, eax
	call	rp_writech4@PLT
	mov	esi, DWORD PTR TRIG_1[rip]
	mov	rdi, rbp
	call	sSetRxTrigger@PLT
	mov	rdi, rbp
	call	sDisRxStatusMode@PLT
	mov	rdi, rbp
	call	sFlushRxFIFO@PLT
	mov	rdi, rbp
	call	sFlushTxFIFO@PLT
	mov	rdi, rbp
	mov	esi, DWORD PTR TXINT_EN[rip]
	or	esi, DWORD PTR MCINT_EN[rip]
	or	esi, DWORD PTR RXINT_EN[rip]
	or	esi, DWORD PTR SRCINT_EN[rip]
	or	esi, DWORD PTR CHANINT_EN[rip]
	call	sEnInterrupts@PLT
	mov	esi, DWORD PTR TRIG_1[rip]
	mov	rdi, rbp
	call	sSetRxTrigger@PLT
	mov	rdi, rbp
	call	sDisRxStatusMode@PLT
	mov	rdi, rbp
	call	sClrTxXOFF@PLT
	mov	rdi, rbp
	call	sDisTxSoftFlowCtl@PLT
	mov	rdi, rbp
	call	sStartRxProcessor@PLT
	mov	rdi, rbp
	call	sEnRxFIFO@PLT
	mov	rdi, rbp
	call	sEnTransmit@PLT
	mov	rdi, rbp
	call	sGetChanIntID@PLT
	mov	rdi, rbp
	call	sGetChanStatus@PLT
	mov	edx, DWORD PTR rp_do_poll[rip]
	lea	rdi, 16[rbx]
	mov	rcx, rbx
	mov	esi, DWORD PTR POLL_INTERVAL[rip]
	call	callout_reset@PLT
	mov	rax, QWORD PTR 8[rbx]
	mov	edi, DWORD PTR [rax]
	call	device_busy@PLT
	add	rsp, 8
	.cfi_def_cfa_offset 24
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	rpopen, .-rpopen
	.comm	rp_do_poll,4,4
	.comm	_INDX_ADDR,4,4
	.comm	TXINT_EN,4,4
	.comm	TRIG_1,4,4
	.comm	SRCINT_EN,4,4
	.comm	SET_RTS,4,4
	.comm	SET_DTR,4,4
	.comm	RXINT_EN,4,4
	.comm	POLL_INTERVAL,4,4
	.comm	MCINT_EN,4,4
	.comm	CHANINT_EN,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_rp.c_rpopen.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	rpopen, %function
rpopen:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	bl	tty_softc
	mov	r4, r0
	ldr	r3, .L4
	ldr	r2, .L4+4
	mov	r5, r0
	ldr	r0, [r4, #12]!
	ldr	r1, [r3]
	ldr	r2, [r2]
	ldr	r3, [r0, #12]
	orr	r2, r2, r1
	orr	r3, r3, r2
	ldr	r1, .L4+8
	str	r3, [r0, #12]
	ldr	r7, [r1]
	bl	le32dec
	ldr	r6, .L4+12
	mov	r2, r0
	mov	r1, r7
	mov	r0, r4
	bl	rp_writech4
	ldr	r1, [r6]
	mov	r0, r4
	bl	sSetRxTrigger
	mov	r0, r4
	bl	sDisRxStatusMode
	mov	r0, r4
	bl	sFlushRxFIFO
	mov	r0, r4
	bl	sFlushTxFIFO
	ldr	r3, .L4+16
	ldr	r2, .L4+20
	ldr	r0, [r3]
	ldr	r2, [r2]
	ldr	r1, .L4+24
	ldr	r3, .L4+28
	ldr	r1, [r1]
	orr	r2, r2, r0
	ldr	r0, .L4+32
	ldr	r3, [r3]
	orr	r2, r2, r1
	ldr	r1, [r0]
	orr	r2, r2, r3
	orr	r1, r2, r1
	mov	r0, r4
	bl	sEnInterrupts
	ldr	r1, [r6]
	mov	r0, r4
	bl	sSetRxTrigger
	mov	r0, r4
	bl	sDisRxStatusMode
	mov	r0, r4
	bl	sClrTxXOFF
	mov	r0, r4
	bl	sDisTxSoftFlowCtl
	mov	r0, r4
	bl	sStartRxProcessor
	mov	r0, r4
	bl	sEnRxFIFO
	mov	r0, r4
	bl	sEnTransmit
	mov	r0, r4
	bl	sGetChanIntID
	mov	r0, r4
	bl	sGetChanStatus
	ldr	r2, .L4+36
	ldr	r1, .L4+40
	mov	r3, r5
	ldr	r2, [r2]
	ldr	r1, [r1]
	add	r0, r5, #8
	bl	callout_reset
	ldr	r3, [r5, #4]
	ldr	r0, [r3]
	bl	device_busy
	mov	r0, #0
	pop	{r4, r5, r6, r7, r8, pc}
.L5:
	.align	2
.L4:
	.word	SET_DTR
	.word	SET_RTS
	.word	_INDX_ADDR
	.word	TRIG_1
	.word	MCINT_EN
	.word	TXINT_EN
	.word	RXINT_EN
	.word	SRCINT_EN
	.word	CHANINT_EN
	.word	rp_do_poll
	.word	POLL_INTERVAL
	.size	rpopen, .-rpopen
	.comm	rp_do_poll,4,4
	.comm	_INDX_ADDR,4,4
	.comm	TXINT_EN,4,4
	.comm	TRIG_1,4,4
	.comm	SRCINT_EN,4,4
	.comm	SET_RTS,4,4
	.comm	SET_DTR,4,4
	.comm	RXINT_EN,4,4
	.comm	POLL_INTERVAL,4,4
	.comm	MCINT_EN,4,4
	.comm	CHANINT_EN,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
