ELF@@ .3 Jx<\h<<xx<<88888<< <<< < <<< <<<<<<<<<<<<<<<<<<<<<\<<<<<<<<\<\<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<google,dual_batt_gaugegoogle,vsec-offset3google_dual_batt_gauge: cannot read chg-pack-cc-limits table, ret=%d %s: battery OC base:%d/%d sec:%d/%d cc_offset:%d->%d cc_max:%d (%d/%d)gdbatt_get_propertygdbatt_ov_handlergetting unsupported property: %d 6google_dual_batt_gauge: failed to get "%s" power supply, retrying... error %d reading first fg prop %d case %d not align: %d/%d6google_dual_batt_gauge: google,first-fg-psy-name=%s 6google_dual_batt_gauge: %s: temp:%d/%d(%d/%d), vbatt:%d/%d(%d/%d), cc_max:%d/%d(%d) 3google_dual_batt_gauge: %s: invalid params, %d, %d, %d PRESENT different: %d/%d3google_dual_batt_gauge: failed to set %s for '%s', ret=%d 6google_dual_batt_gauge: google_dual_batt_gauge_probe done 4google_dual_batt_gauge: base battery not present, no default capacity, zero charge table name=%s evt=%lu google_dual_batt_gauge: error %d reading second fg prop %d google,dual_batt_gaugeerror %d reading single prop %d google_dual_batt_gauge: error %d reading single prop %d google_dual_batt_gauge: Couldn't set vsec_offset (%d) MSC_FVgdbatt_check_currentgoogle_dual_batt_gauge: gdbatt: set_prop cannot write psp=%d dbatt_statsgoogle,second-fg-psy-nameSecond battery not PRESENT %s: battery OV cc_max:%d->%d (%d)../google-modules/bms/gbms_power_supply.hgdbatt_ov_last_tiererror %d reading second fg prop %d google,batterygoogle,chg-base-battery-capacitybatteryPOWER_SUPPLY_PROP_CURRENT_AVGgoogle_dual_batt_gauge: get %s for '%s' => %d Couldn't create debugfs, (%ld) %s: skip ov for tier %d/%dget %s for '%s' => %d Failed to create dbatt_stats google,cc-balance-ratiogoogle_dual_batt_gauge: name=%s evt=%lu ../google-modules/bms/google_psy.hgoogle_dual_batt_gauge_probe%s: battery over max fv:%d->%d%s: %d, %d, %dgpsy_set_propGBMS_PROP_CHARGE_CHARGER_STATEgoogle_dual_batt_gauge: get %s for '%s' => %lld dual_batt_balancegoogle_dual_batt_gauge: case %d not align: %d/%ddebug_level6google_dual_batt_gauge: google,second-fg-psy-name=%s fail to init chg profile (%d) POWER_SUPPLY_PROP_VOLTAGE_NOWGBMS_PROP_FG_REG_LOGGINGdual_battpsp3google_dual_batt_gauge: Cannot set the first BATT_CE_CTRL, ret=%d failed to get "%s" power supply, retrying... 4google_dual_batt_gauge: secondary battery not present, no default capacity, zero charge table ../google-modules/bms/google_dual_batt_gauge.c&dual_fg_drv->stats_lockgoogle,vfloat-offset-max-idxCouldn't register logbuffer, (%ld) 4google_dual_batt_gauge: battery not present, no default capacity, zero charge table POWER_SUPPLY_PROP_CHARGE_COUNTERdaul_batt_tempgoogle_dual_batt_gauge: getting unsupported property: %d google,psy-type-unknownFirst battery not PRESENT dualbattgoogle,first-fg-psy-nameupdate base_charge_full:%d->%d, sec_charge_full:%d->%d 3google_dual_batt_gauge: failed to get %s from '%s', ret=%d get %s for '%s' => %lld %s: battery OV v_base:%d, v_sec:%dgpsy_get_propgoogle,chg-pack-cc-limitsPOWER_SUPPLY_PROP_CURRENT_NOWset %s for '%s' to %d google_dual_batt_gauge: set %s for '%s' to %d &dual_fg_drv->fg_lockCouldn't register as power supply, ret=%d gpsy_get_int64_propgdbatt_select_cc_maxgoogle_dual_batt_gauge: check done. cable_in=%d (%d) 3google_dual_batt_gauge: cannot register power supply notifer (%d) gdbatt_set_propertyCouldn't set vsec_offset (%d) MSC_FCCgoogle_dual_batt_gauge: %s: %d, %d, %dgoogle,chg-battery-capacitygoogle_dual_batt_gauge: PRESENT different: %d/%dgoogle,chg-sec-battery-capacity6google_dual_batt_gauge: MSC_STAT dual cannot read soc_in=%d check done. cable_in=%d (%d) google_dual_batt_gauge_init_work done google_dual_batt_gauge: %s: skip ov for tier %d/%dpsy_changedPOWER_SUPPLY_PROP_CHARGE_FULL_DESIGNgoogle_dual_batt_gauge: error %d reading first fg prop %d 3google_dual_batt_gauge: no dual gauge setting gdbatt_oc_cc_offset3google_dual_batt_gauge: Cannot set the second BATT_CE_CTRL, ret=%d google_dual_batt_gaugeGBMS_PROP_CAPACITY_RAWgdbatt: set_prop cannot write psp=%d google_dual_batt?#Ո(Q!(Th=ҨL5^,T@(H(/ THh%@ T(ȭt( TW=҈lT(Q!(T҈$ȇhVT׉H aTH=ҨL5^ T葐UT2H#T3(=҈T((rT[h!T( ȓ cT#?T#_?# ?#C^{C3WOA8@B΀RR>A!Cu 4A!c 4h@hh@uBA!#R6|  jR {{h)`"R hRh h)`BRwhh&`!B`!BA!V ``@!?`T_1T@__R` ^^R``sA8B_ T*3@OHWG{E^_C#_`@!vA!#R`6 RAtR!#R@6?`FT`@!Fh@!4h@!@_?Tc4R`@!RR@*$!A?#^{ T@``A`B`FB@ @*{¨^_#_?#C^{CWOA8`BY@@aR,1TbRR@A8B@ TODWC{A@^_C#_@aR,1T@*5@!@@*5@!!ȶA@ByA`64¢!#R6²!#R6!#R6ªD îD*7bòD*6@!BJ6* RhJ IhӢ(}țKԂ*0RՂA Ra R6( R ‚RȚ y?A@@!S@@!G?#C^{C_WOA8BpN94vDh4C5R7 @R7 qT@q*TR8R@A8B@ TODWC_B{A^_C#_@*!@*@*!@@C!C**$@@@!B$@@@!Bq*T?#^{ OBh@@@ Ձ@!h@@q@h@@q$h@!@@!*@**qaT@OB R @{è^_#_?#^{WOH@I4@R*Q} ~R`6!7k @hQq+T  *)ySj6@lQ k T_qkT* - l6@kJ}~ij-} i*j6@ kTk @*`OBWA{è^_#_*`6@6?#^{CWOA8B R`@Rh2S9(4h6S94`@R`h:S9h4h@hh@u @` @aR7 @h2iJ҈Ii`@}ɛi6CK h6bc d7`@@bcbd`@R`A8B@ TOCWB{A^_#_֨@*!@*~@h2$ը@@@!B?#^{Cog_W O A8B8S9h4wBCaR4**** 7xCaR* 4*6*****_**_CR 7 շ_7CR7 ո_7  hA?qy:k,TiA)Q?%q'TiJ))A?kTk-T**hAk,ThAQ%q(%ThJ(AkjT*hA Q?qTkAJ kJT?qAT9RjJ)*JA k T8*?q!TjJ)JA kT* k T/?qTkAkT?qTkAkJT? q TkAkj TmR? q`TkAk kT* kMT*@lA kT? qTYR* k T.RK-R kT*F@*@!**h:S95** A8B_ TOJWI_HgGoF{E^_#_9RlA kT? qTyRMR klT?qTkDjA  K_ kJT?q@ TlA k T? qTlA kJTnR? q TlA kΥ\*[7 ejAZic=)7eiA8h*c=)@6*hD_k*Úk!TkhTkT`FB@R**^hA?kT**C`@;)`!*]|)!***^ ^#`@b@!#R`@{om.RkD kT_k*T?qTjA_k T? qTjA_kTnR? qTiA?kΥNRYR NRlA kT?qTRyR$b:S9!*ChB kJT?q@*ԟ$@_@!B_6'$@_@!B_6?#^{g_WOA8B CaR4*7*0@**C!R 7 CR 7hRH rH f  C!R@ 7 @7******A8B_ T*@OGWF_EgD{B^_#_@*!@*!@*@*!@**$@@@!B$@@@!B$@@@!B@6?#^{WO@`hAQqThJ(iD#R!AR6 K~@`FB@R***vOBWA{è^_#_@*?#C^{CWOA)*D?k$*)7iA6hkT /$!B&*k`T`@`hD!#Ra@kˆK~@`FB@R***`@wODWC{A@^_C#_?#^{C3g_W O A8B8S9h4hAI?k)**7%iA9h`@*`@*v*hD*?k+ThD飐Ri=r}}) e H*H7hBiCjA kB) Thui**w@ CAR 7 ն_w@K CAR 7 ո_KkkTkJTiDԐR*(r;Kj 7kTK  )Q) $}*iDkT K  JQJ E}* ( _ k hDkw×`@!K#R}@iD`FB*@)KhDR**3+# `@wA8B_ TOJWI_HgG{E3@^_#_ֶ *@!*@*@!*@ԐR!**$r*$@_@!Bp$@_@!Bo$!B*?#^{WOA8B*@R2S9H46S94@RɢB @C* 4* -$!@RW@`@**T6 հ$!**@#*4* Wqh T *) +yJ @֟$@$@ @( $@ @( q}}$@ @ k(v$@ @ kT n$@ @!*d$ @`$Ƅ@ @KQA1 TʄlQ=1 TlRL rJ} k} MJfJ lkfk I} h%i  E$ B$!*:$@ @q?q kJ T -$@ @!$$Ƅ@ @ Q?A1Tʄ*Q_=1BTjRJ r} )} f *)f) }( *)H  H q}*A8B_ ATOE*WD{B@^_#_$!**I?#^{CWOA8B*@Rh2S94h6S9H4`@Rq@TqT3`@RU.v@6@ R`7*v@V@ R7*@qi:9h4 RhJ Ih(}țKh6bR@7*A8B@ !T*OCWB{A^_#_ $!R@*!@**v@v@*!@**$@!@B$@!@B?#?q#_?#^{CWOA8B6|U|DkThDk`TkUZ)qTt@(R AR 7t@(R AR7vuA8B@ ATOCWB{A^_#_ֈ@*!@@*!@$Ո@!@B$R$Ո@!@B$R?#^{WODDD(  +aTR*|@EEE(  +TR* OBWA{è^_#_?#^{_WO3@9qT RhJ Ih(}țK*0RA Ra R6OCWB_A{Ĩ^_#_?#^{ L@R`@`@R69 @*{¨^_#_?#^{ L@R`@(R`@Rh69 @*{¨^_#__$?#@9#qCT_@*_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$?#^{!{^_#_?#^{{^_#_description=Google Dual Gauge Driverauthor=Jenny Ho license=GPLvermagic=5.10.209-android13-4-g92e94fca2f15-ab12318583 SMP preempt mod_unload modversions aarch64name=google_dual_batt_gaugedepends=logbuffer,google-bms,gvotablealias=of:N*T*Cgoogle,dual_batt_gaugealias=of:N*T*Cgoogle,dual_batt_gaugeC*scmversion=g07e9f1715d3d'bCX_!Linuxgoogle_dual_batt_gaugēemodule_layout~)Hmemcpydmemset ѩ__stack_chk_failӅ3-system_wq9eplatform_driver_unregister Ylogbuffer_unregisterL,gbms_free_chg_profileWqueue_delayed_work_onSgbms_tier_stats_cstrIdebugfs_create_u32Ldebugfs_create_dir$device_create_fileQpower_supply_set_propertyp&power_supply_get_drvdata Wof_find_property$bgvotable_cast_votevLgvotable_election_get_handle۔ogbms_logbuffer_prlogs1Xgbms_stats_update_tiergbms_msc_temp_idxR__pm_runtime_idle1__pm_runtime_resume!rmod_delayed_work_onktime_get_with_offsethmutex_unlockܣgbms_tier_stats_initemutex_lockԢpower_supply_changedZ%strcmpE:#__kmalloc zkfreeo,X\gbms_init_chg_tablemgbms_init_chg_profile_internal"Vof_find_node_by_name bpower_supply_reg_notifierpower_supply_get_propertyS%_dev_infoDpower_supply_get_by_name=N6of_property_read_variable_u32_arrayZDdevm_kmallocwologbuffer_registeri/,_dev_errc devm_power_supply_registerwJW__mutex_init=:%delayed_work_timer_fnYyinit_timer_key {{__dynamic_pr_debugk Kdevm_kstrdupprintk{of_property_read_stringi<__platform_driver_registerGNU2zۏS'k)wLGNU|P)P)H)H)<0)@0)8)8)h)h) ) )`)`)@)@)p)p)))()()) )$),)4)<)D)L)T)\)d)l)t)|))))|))( ( <@Hlpt|   ,3 43 8H       (,4@ D LP6X6\p' thx' |hg g 44WW$0  8@DT\`tB |B   ,,  (q,q04<LTB XB \l  k k    $ 0 < H T l p t |          ( H h x |   z  z   z  z   B B$ 4 @ PD 8 H P PX 8 \ ` p Pt 8 x  P 8     8$  ( 8,  8 d             8 < @`00(z, 0z4 @P\p` d lpt x | l<xz| z hh0HLP\ d pxM|MP8  P8  P8  P8  $\zzzzzz 44$0P48 8@PH8 LP`Pd8 hpPx8 |P8 P8   04h8X < DX H Lh`^^ $4 8 X\h`^ d^l^ p^th$ , DX   hh$0z z z z P 8  P 8 $ (8P<8 @ HPP8 T Xdhlptx,048H`|RR     L!hP!T!hX!`!!0!!0!!H"<%P"""""""""#8#d######8$<$@$D$L$\$`$ d$h$ t$x$ $ $$$ $$ $$$$$$$Q$ $$Q$ $%%Q % %%Q% %%%(&,& 0&4& <&L&P& T&X& `&h&t&x&Q|& &&Q& &&&Q& &&Q& &&&0'`'l''''((((4(((((Android (8508608, based on r450784e) clang version 14.0.7 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0cca074e9238af8b4106c30add4418f6)!"#$%'&()*+-,./  (/:KT Z`cif]rw  (0 8 x P $h (x0 4 8`@hDTHPtTXx`dhxptx(x Xx,xx0x`@ ("  $ ( 0@!4H!8@!D!HXPT#T$X`#d$hp,$t4$x8%l&%&8H`H  l08@  ;  y8@H Ppx  s^   ( 0w PX` h J J  J 08J@ HhpJx pJ 1  :e  (? )()] 0) 8) @)! H)m P) `)h)p)9))W  O? ((b  8  h hT LX! L , m    >P84  9T   W 0g 88     g @ p8 l0P3x`Q  p 8 8 0a  z-{0K   8 [  tu8E I0   8 $U 8 n, 8  8  ? 08 h8 D!y @ 08 !<%O "p "hP 8X#` #9 p_8 0$h (%s (% <%I  %b%&&' ' `(L `((P (V (  H b 8%I%(M H  H & l@ h l2    w ! YbDY  b \ & % "'h Ir  v 4,(TGhLXuh j3 ?[/H #X   T 1w${+  {]0 "p(% <6& 'e `(LS(Pm"($< m=1  )()'0)W8)D@)hH)P)%X)m`)h)p)\x)))6)n ) ).note.gnu.property.note.Linux.rela.exit.text.rela.init.text.comment.init.plt.bss.rela.rodata.google_dual_batt_pm_ops__versions.modinfo.rela.text.__cfi_check.note.GNU-stack.llvm_addrsig.rela__dyndbg.text.ftrace_trampoline.rela.data.__cfi_jt_init_module.rela.gnu.linkonce.this_module.rela__jump_table.note.gnu.build-id.shstrtab.strtab.symtab.rodata.datapower_supply_set_propertygdbatt_set_propertypower_supply_get_propertygdbatt_get_propertyof_find_propertymemcpyinit_timer_keygoogle_dual_batt_gauge_probe.__keyof_property_read_variable_u32_arraygbms_msc_temp_idxgdbatt_select_cc_maxdbatt_stats_show__cfi_jt_startgdbatt_check_currentdelayed_work_timer_fn.cfi_jtinit_module.cfi_jtcleanup_module.cfi_jtgdbatt_set_property.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgdbatt_get_property.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtdbatt_stats_show.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_work.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_gauge_init_work.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_gauge_remove.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtdbatt_stats_store.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_pm_resume.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgdbatt_property_is_writeable.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_gauge_probe.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtgoogle_dual_batt_pm_suspend.1ccbdc2d046e926cbe3a2e093905a043.cfi_jtpsy_changed.1ccbdc2d046e926cbe3a2e093905a043.cfi_jt__mutex_initgbms_tier_stats_initmemsetktime_get_with_offsetdev_attr_dbatt_statsgbatt_update_batt_statsgbatt_update_statsgdbatt_fg_propsgoogle_dual_batt_pm_ops____versionsgbms_tier_stats_cstr_dev_errdebugfs_create_dirgoogle_dual_batt_gauge_driverplatform_driver_unregisterlogbuffer_unregisterdevm_power_supply_register__platform_driver_registerlogbuffer_registergdbatt_ov_handlergdbatt_ov_last_tiergbms_stats_update_tierpower_supply_reg_notifiersystem_wqdevm_kstrdupstrcmp_dev_infoqueue_delayed_work_onmod_delayed_work_ondelayed_work_timer_fn__stack_chk_fail__cfi_check_failgbms_init_chg_profile_internalprintkgoogle_dual_batt_workgoogle_dual_batt_gauge_init_workmutex_unlockmutex_lock__cfi_checkgoogle_dual_batt_gauge_of_match__dynamic_pr_debuggbms_logbuffer_prlogdebug_printk_prlogof_property_read_stringgdbatt_fg_logginggoogle_dual_batt_gauge_removegvotable_cast_votedbatt_stats_storegoogle_dual_batt_pm_resume__pm_runtime_resumepower_supply_get_by_nameof_find_node_by_name__cfi_jt_init_module__this_module__cfi_jt_cleanup_modulegdbatt_init_pack_chg_profilegbms_free_chg_profiledevice_create_filegvotable_election_get_handle__pm_runtime_idlegbms_init_chg_table__mod_of__google_dual_batt_gauge_of_match_device_tablegdbatt_property_is_writeablekfreegoogle_dual_batt_gauge_probegoogle_dual_batt_pm_suspend__cfi_jt_endpsy_changedpower_supply_changedgdbatt_psy_descdevm_kmalloc__kmallocpower_supply_get_drvdata$d.89gdbatt_get_property.__UNIQUE_ID_ddebug279$d.79__UNIQUE_ID_scmversion269gpsy_set_prop.__UNIQUE_ID_ddebug269$x.69$x.59$x.49$d.39$x.29$x.19$x.9$d.9$d.88gdbatt_get_property.__UNIQUE_ID_ddebug278$d.78__UNIQUE_ID_alias268gpsy_get_int64_prop.__UNIQUE_ID_ddebug268$d.68$d.58$d.48$x.38$d.28$d.18$x.8$d.8_note_7google_dual_batt_gauge_probe.__UNIQUE_ID_ddebug287$d.87gdbatt_get_property.__UNIQUE_ID_ddebug277$x.77__UNIQUE_ID_alias267$x.67$x.57$x.47$x.37$x.27$x.17$x.7$d.86gdbatt_get_property.__UNIQUE_ID_ddebug276$x.76__UNIQUE_ID_depends266$x.66$d.56$d.46$d.36$x.26$x.16$x.6$d.95$d.85gdbatt_get_property.__UNIQUE_ID_ddebug275$x.75__UNIQUE_ID_name265$x.65$x.55$x.45$x.35$d.25$x.15$x.5$d.84$x.74__UNIQUE_ID_vermagic264$d.64$d.54$x.44$x.34$x.24$d.14$x.4$d.4psy_changed.__UNIQUE_ID_ddebug283$d.83gdbatt_select_cc_max.__UNIQUE_ID_ddebug273$x.73$x.63$x.53gdbatt_set_property.1ccbdc2d046e926cbe3a2e093905a043gdbatt_get_property.1ccbdc2d046e926cbe3a2e093905a043dbatt_stats_show.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_work.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_gauge_init_work.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_gauge_remove.1ccbdc2d046e926cbe3a2e093905a043dbatt_stats_store.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_pm_resume.1ccbdc2d046e926cbe3a2e093905a043gdbatt_property_is_writeable.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_gauge_probe.1ccbdc2d046e926cbe3a2e093905a043google_dual_batt_pm_suspend.1ccbdc2d046e926cbe3a2e093905a043psy_changed.1ccbdc2d046e926cbe3a2e093905a043$d.43$x.33$d.23google_dual_batt_gauge_probe.__key.13$x.13$x.3$d.3__UNIQUE_ID_license292$d.82gdbatt_ov_handler.__UNIQUE_ID_ddebug272$x.72$d.62$d.52$x.42debugfs_create_u32$d.32$x.22$x.12$x.2$d.2__UNIQUE_ID_author291gdbatt_set_property.__UNIQUE_ID_ddebug281$d.81gdbatt_oc_cc_offset.__UNIQUE_ID_ddebug271$x.71$x.61$x.51$d.41$x.31$d.21$x.11$d.11$x.1$d.1__UNIQUE_ID_description290gdbatt_get_property.__UNIQUE_ID_ddebug280$d.80gpsy_get_prop.__UNIQUE_ID_ddebug270$d.70$d.60$d.50$x.40$d.30$x.20$x.100@Srj2(: )NIIII@H`8@0Lor5I40@x %I, @pH+@P@8JbX@@hKH@NO@ @0}S =`$(` bPxZh