	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pin_check_config
_pin_check_config:                      ## @pin_check_config
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movl	%edx, %r11d
	movq	%rsi, %rdx
	movq	(%rcx), %rax
	movq	_gpio_banks@GOTPCREL(%rip), %rsi
	movq	(%rsi), %r9
	cmpq	%r9, %rax
	jae	LBB0_1
## %bb.2:
	movq	_gpio_chips@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%rsi,%rax,4)
	je	LBB0_3
## %bb.4:
	movl	8(%rcx), %r10d
	movq	_MAX_NB_GPIO_PER_BANK@GOTPCREL(%rip), %rsi
	movl	(%rsi), %r9d
	cmpl	%r9d, %r10d
	jge	LBB0_5
## %bb.7:
	movslq	12(%rcx), %r8
	xorl	%ebx, %ebx
	testq	%r8, %r8
	je	LBB0_15
## %bb.8:
	movl	%r8d, %ecx
	decq	%r8
	movslq	(%rdi), %r9
	cmpl	%r9d, %ecx
	jle	LBB0_10
## %bb.9:
	movl	16(%rdi), %edi
	leaq	L_.str.3(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%r11d, %ecx
                                        ## kill: def $r8d killed $r8d killed $r8
                                        ## kill: def $r9d killed $r9d killed $r9
	jmp	LBB0_6
LBB0_1:
	movl	16(%rdi), %edi
	leaq	L_.str(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%r11d, %ecx
	movl	%eax, %r8d
LBB0_12:
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_13
LBB0_3:
	movl	16(%rdi), %edi
	leaq	L_.str.1(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%r11d, %ecx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_dev_err
	movq	_ENXIO@GOTPCREL(%rip), %rax
	jmp	LBB0_14
LBB0_5:
	movl	16(%rdi), %edi
	leaq	L_.str.2(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%r11d, %ecx
	movl	%r10d, %r8d
LBB0_6:
	xorl	%eax, %eax
	callq	_dev_err
LBB0_13:
	movq	_EINVAL@GOTPCREL(%rip), %rax
LBB0_14:
	subl	(%rax), %ebx
LBB0_15:
	movl	%ebx, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
LBB0_10:
	movq	8(%rdi), %rcx
	imulq	%rax, %r9
	addq	%r8, %r9
	movl	(%rcx,%r9,4), %ecx
	btl	%r10d, %ecx
	jb	LBB0_15
## %bb.11:
	movl	16(%rdi), %edi
	addq	$65, %rax
	movl	%r10d, (%rsp)
	leaq	L_.str.4(%rip), %rsi
	xorl	%ebx, %ebx
	movl	%r11d, %ecx
                                        ## kill: def $r8d killed $r8d killed $r8
	movq	%rax, %r9
	jmp	LBB0_12
	.cfi_endproc
                                        ## -- End function
	.comm	_gpio_banks,8,3                 ## @gpio_banks
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s: pin conf %d bank_id %d >= nbanks %d\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_gpio_chips,8,3                 ## @gpio_chips
L_.str.1:                               ## @.str.1
	.asciz	"%s: pin conf %d bank_id %d not enabled\n"

	.comm	_ENXIO,4,2                      ## @ENXIO
	.comm	_MAX_NB_GPIO_PER_BANK,4,2       ## @MAX_NB_GPIO_PER_BANK
L_.str.2:                               ## @.str.2
	.asciz	"%s: pin conf %d pin_bank_id %d >= %d\n"

L_.str.3:                               ## @.str.3
	.asciz	"%s: pin conf %d mux_id %d >= nmux %d\n"

L_.str.4:                               ## @.str.4
	.asciz	"%s: pin conf %d mux_id %d not supported for pio%c%d\n"

	.no_dead_strip	_pin_check_config
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pin_check_config
_pin_check_config:                      ; @pin_check_config
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	mov	x10, x2
	mov	x2, x1
	ldr	x4, [x3]
Lloh0:
	adrp	x8, _gpio_banks@GOTPAGE
Lloh1:
	ldr	x8, [x8, _gpio_banks@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cmp	x4, x8
	b.hs	LBB0_6
; %bb.1:
Lloh3:
	adrp	x8, _gpio_chips@GOTPAGE
Lloh4:
	ldr	x8, [x8, _gpio_chips@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
	ldr	w8, [x8, x4, lsl #2]
	cbz	w8, LBB0_7
; %bb.2:
	ldr	w8, [x3, #8]
Lloh6:
	adrp	x9, _MAX_NB_GPIO_PER_BANK@GOTPAGE
Lloh7:
	ldr	x9, [x9, _MAX_NB_GPIO_PER_BANK@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ge	LBB0_8
; %bb.3:
	ldrsw	x12, [x3, #12]
	cbz	w12, LBB0_10
; %bb.4:
	sub	x9, x12, #1
	ldrsw	x11, [x0]
	cmp	w12, w11
	b.le	LBB0_9
; %bb.5:
	ldr	w0, [x0, #16]
Lloh9:
	adrp	x1, l_.str.3@PAGE
Lloh10:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_12
LBB0_6:
	ldr	w0, [x0, #16]
Lloh11:
	adrp	x1, l_.str@PAGE
Lloh12:
	add	x1, x1, l_.str@PAGEOFF
	str	x8, [sp]
	mov	x3, x10
                                        ; kill: def $w4 killed $w4 killed $x4
	b	LBB0_13
LBB0_7:
	ldr	w0, [x0, #16]
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x3, x10
                                        ; kill: def $w4 killed $w4 killed $x4
	bl	_dev_err
Lloh15:
	adrp	x8, _ENXIO@GOTPAGE
Lloh16:
	ldr	x8, [x8, _ENXIO@GOTPAGEOFF]
	b	LBB0_14
LBB0_8:
	ldr	w0, [x0, #16]
Lloh17:
	adrp	x1, l_.str.2@PAGE
Lloh18:
	add	x1, x1, l_.str.2@PAGEOFF
	str	x9, [sp]
	mov	x3, x10
	mov	x4, x8
	b	LBB0_13
LBB0_9:
	ldr	x12, [x0, #8]
	madd	x11, x4, x11, x9
	ldr	w11, [x12, x11, lsl #2]
	lsr	w11, w11, w8
	tbz	w11, #0, LBB0_11
LBB0_10:
	mov	w0, #0
	b	LBB0_15
LBB0_11:
	ldr	w0, [x0, #16]
	add	x11, x4, #65
Lloh19:
	adrp	x1, l_.str.4@PAGE
Lloh20:
	add	x1, x1, l_.str.4@PAGEOFF
	str	x8, [sp, #8]
LBB0_12:
	str	x11, [sp]
	mov	x3, x10
	mov	x4, x9
LBB0_13:
	bl	_dev_err
Lloh21:
	adrp	x8, _EINVAL@GOTPAGE
Lloh22:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
LBB0_14:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_15:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #32
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh21, Lloh22
	.cfi_endproc
                                        ; -- End function
	.comm	_gpio_banks,8,3                 ; @gpio_banks
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s: pin conf %d bank_id %d >= nbanks %d\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_gpio_chips,8,3                 ; @gpio_chips
l_.str.1:                               ; @.str.1
	.asciz	"%s: pin conf %d bank_id %d not enabled\n"

	.comm	_ENXIO,4,2                      ; @ENXIO
	.comm	_MAX_NB_GPIO_PER_BANK,4,2       ; @MAX_NB_GPIO_PER_BANK
l_.str.2:                               ; @.str.2
	.asciz	"%s: pin conf %d pin_bank_id %d >= %d\n"

l_.str.3:                               ; @.str.3
	.asciz	"%s: pin conf %d mux_id %d >= nmux %d\n"

l_.str.4:                               ; @.str.4
	.asciz	"%s: pin conf %d mux_id %d not supported for pio%c%d\n"

	.no_dead_strip	_pin_check_config
.subsections_via_symbols
