	.file	"extr_compal-laptop.c_bat_get_property.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	bat_get_property, @function
bat_get_property:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rdx
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	mov	ebx, esi
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	call	power_supply_get_drvdata@PLT
	lea	esi, -128[rbx]
	cmp	esi, 19
	ja	.L2
	lea	rcx, .L4[rip]
	movsx	rdx, DWORD PTR [rcx+rsi*4]
	add	rdx, rcx
	notrack jmp	rdx
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L23-.L4
	.long	.L22-.L4
	.long	.L21-.L4
	.long	.L20-.L4
	.long	.L19-.L4
	.long	.L18-.L4
	.long	.L17-.L4
	.long	.L16-.L4
	.long	.L15-.L4
	.long	.L14-.L4
	.long	.L13-.L4
	.long	.L12-.L4
	.long	.L11-.L4
	.long	.L10-.L4
	.long	.L9-.L4
	.long	.L8-.L4
	.long	.L7-.L4
	.long	.L6-.L4
	.long	.L5-.L4
	.long	.L3-.L4
	.text
	.p2align 4,,10
	.p2align 3
.L18:
	xor	eax, eax
	call	bat_status@PLT
	mov	DWORD PTR 0[rbp], eax
.L2:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	xor	eax, eax
	call	bat_capacity_level@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L6:
	mov	edi, DWORD PTR BAT_CHARGE_LIMIT[rip]
	call	ec_read_u8@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L7:
	mov	eax, DWORD PTR BAT_CHARGE_LIMIT_MAX[rip]
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L8:
	mov	edi, DWORD PTR BAT_CHARGE_DESIGN[rip]
	call	ec_read_u16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L9:
	mov	edi, DWORD PTR BAT_CHARGE_NOW[rip]
	call	ec_read_u16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L10:
	mov	edi, DWORD PTR BAT_CURRENT_AVG[rip]
	call	ec_read_s16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L11:
	mov	edi, DWORD PTR BAT_CURRENT_NOW[rip]
	call	ec_read_s16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L12:
	xor	eax, eax
	call	bat_health@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L13:
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L14:
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L15:
	mov	edi, DWORD PTR BAT_POWER[rip]
	call	ec_read_u8@PLT
	imul	eax, eax, 1000000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L16:
	xor	eax, eax
	call	bat_is_present@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L17:
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L19:
	xor	eax, eax
	call	bat_technology@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L20:
	mov	edi, DWORD PTR BAT_TEMP[rip]
	call	ec_read_u8@PLT
	mov	r8d, eax
	mov	eax, 222
	sub	eax, r8d
	imul	eax, eax, 1000
	sar	eax, 8
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L21:
	mov	edi, DWORD PTR BAT_TEMP_AVG[rip]
	call	ec_read_s8@PLT
	lea	eax, [rax+rax*4]
	add	eax, eax
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L22:
	mov	edi, DWORD PTR BAT_VOLTAGE_DESIGN[rip]
	call	ec_read_u16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L23:
	mov	edi, DWORD PTR BAT_VOLTAGE_NOW[rip]
	call	ec_read_u16@PLT
	imul	eax, eax, 1000
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L3:
	mov	edi, DWORD PTR BAT_CAPACITY[rip]
	call	ec_read_u8@PLT
	mov	DWORD PTR 0[rbp], eax
	jmp	.L2
	.cfi_endproc
.LFE0:
	.size	bat_get_property, .-bat_get_property
	.comm	BAT_VOLTAGE_NOW,4,4
	.comm	BAT_VOLTAGE_DESIGN,4,4
	.comm	BAT_TEMP_AVG,4,4
	.comm	BAT_TEMP,4,4
	.comm	BAT_POWER,4,4
	.comm	BAT_CURRENT_NOW,4,4
	.comm	BAT_CURRENT_AVG,4,4
	.comm	BAT_CHARGE_NOW,4,4
	.comm	BAT_CHARGE_LIMIT_MAX,4,4
	.comm	BAT_CHARGE_LIMIT,4,4
	.comm	BAT_CHARGE_DESIGN,4,4
	.comm	BAT_CAPACITY,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_compal-laptop.c_bat_get_property.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bat_get_property, %function
bat_get_property:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	mov	r4, r1
	mov	r5, r2
	bl	power_supply_get_drvdata
	sub	r1, r4, #128
	cmp	r1, #19
	ldrls	pc, [pc, r1, asl #2]
	b	.L2
.L4:
	.word	.L23
	.word	.L22
	.word	.L21
	.word	.L20
	.word	.L19
	.word	.L18
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L8:
	ldr	r3, .L28
.L25:
	ldr	r0, [r3]
	bl	ec_read_u16
	rsb	r3, r0, r0, lsl #5
	add	r0, r0, r3, lsl #2
	lsl	r0, r0, #3
	str	r0, [r5]
.L2:
	mov	r0, #0
	pop	{r4, r5, r6, pc}
.L3:
	ldr	r3, .L28+4
	ldr	r0, [r3]
	bl	ec_read_u8
	str	r0, [r5]
	b	.L2
.L5:
	bl	bat_capacity_level
	str	r0, [r5]
	b	.L2
.L6:
	ldr	r3, .L28+8
	ldr	r0, [r3]
	bl	ec_read_u8
	str	r0, [r5]
	b	.L2
.L7:
	ldr	r3, .L28+12
	ldr	r3, [r3]
	str	r3, [r5]
	b	.L2
.L9:
	ldr	r3, .L28+16
	b	.L25
.L10:
	ldr	r3, .L28+20
.L26:
	ldr	r0, [r3]
	bl	ec_read_s16
	rsb	r3, r0, r0, lsl #5
	add	r0, r0, r3, lsl #2
	lsl	r0, r0, #3
	str	r0, [r5]
	b	.L2
.L11:
	ldr	r3, .L28+24
	b	.L26
.L12:
	bl	bat_health
	str	r0, [r5]
	b	.L2
.L13:
	ldr	r3, [r0, #4]
	str	r3, [r5]
	b	.L2
.L14:
	ldr	r3, [r0, #8]
	str	r3, [r5]
	b	.L2
.L15:
	ldr	r3, .L28+28
	ldr	r0, [r3]
	bl	ec_read_u8
	rsb	r3, r0, r0, lsl #5
	rsb	r3, r3, r3, lsl #6
	add	r0, r0, r3, lsl #3
	lsl	r0, r0, #6
	str	r0, [r5]
	b	.L2
.L16:
	bl	bat_is_present
	str	r0, [r5]
	b	.L2
.L17:
	ldr	r3, [r0]
	str	r3, [r5]
	b	.L2
.L18:
	bl	bat_status
	str	r0, [r5]
	b	.L2
.L19:
	bl	bat_technology
	str	r0, [r5]
	b	.L2
.L20:
	ldr	r3, .L28+32
	ldr	r0, [r3]
	bl	ec_read_u8
	rsb	r0, r0, #222
	rsb	r3, r0, r0, lsl #5
	add	r3, r0, r3, lsl #2
	lsl	r3, r3, #3
	asr	r3, r3, #8
	str	r3, [r5]
	b	.L2
.L21:
	ldr	r3, .L28+36
	ldr	r0, [r3]
	bl	ec_read_s8
	add	r0, r0, r0, lsl #2
	lsl	r0, r0, #1
	str	r0, [r5]
	b	.L2
.L22:
	ldr	r3, .L28+40
	b	.L25
.L23:
	ldr	r3, .L28+44
	b	.L25
.L29:
	.align	2
.L28:
	.word	BAT_CHARGE_DESIGN
	.word	BAT_CAPACITY
	.word	BAT_CHARGE_LIMIT
	.word	BAT_CHARGE_LIMIT_MAX
	.word	BAT_CHARGE_NOW
	.word	BAT_CURRENT_AVG
	.word	BAT_CURRENT_NOW
	.word	BAT_POWER
	.word	BAT_TEMP
	.word	BAT_TEMP_AVG
	.word	BAT_VOLTAGE_DESIGN
	.word	BAT_VOLTAGE_NOW
	.size	bat_get_property, .-bat_get_property
	.comm	BAT_VOLTAGE_NOW,4,4
	.comm	BAT_VOLTAGE_DESIGN,4,4
	.comm	BAT_TEMP_AVG,4,4
	.comm	BAT_TEMP,4,4
	.comm	BAT_POWER,4,4
	.comm	BAT_CURRENT_NOW,4,4
	.comm	BAT_CURRENT_AVG,4,4
	.comm	BAT_CHARGE_NOW,4,4
	.comm	BAT_CHARGE_LIMIT_MAX,4,4
	.comm	BAT_CHARGE_LIMIT,4,4
	.comm	BAT_CHARGE_DESIGN,4,4
	.comm	BAT_CAPACITY,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
