ELF@@*(/4 K|` ||PPPPP```google,dual_batt_gaugegoogle_dual_batt_gauge: get %s for '%s' => %d POWER_SUPPLY_PROP_CURRENT_NOWdual_batt_balancegetting unsupported property: %d pspupdate base_charge_full:%d->%d, sec_charge_full:%d->%d google_dual_batt_gauge: %s: skip ov for tier %d/%dgoogle_dual_batt_gauge: %s: %d, %d, %dgoogle_dual_batt_gauge: Couldn't set vsec_offset (%d) Couldn't register as power supply, ret=%d POWER_SUPPLY_PROP_CURRENT_AVG%s: %d, %d, %dPRESENT different: %d/%dgoogle_dual_batt_gauge: getting unsupported property: %d initial base_soc:%d(%#x), sec_soc:%d(%#x) google_dual_batt_gauge: set %s for '%s' to %d 3google_dual_batt_gauge: Cannot set the second BATT_CE_CTRL, ret=%d google_dual_batt_gauge: gdbatt: set_prop cannot write psp=%d 4google_dual_batt_gauge: base battery not present, no default capacity, zero charge table psy_changed3google_dual_batt_gauge: Cannot set the first BATT_CE_CTRL, ret=%d google_dual_batt_gaugebatteryget %s for '%s' => %lld google_dual_batt_gauge: case %d not align: %d/%dgdbatt: set_prop cannot write psp=%d 6google_dual_batt_gauge: google,first-fg-psy-name=%s check done. cable_in=%d (%d) 3google_dual_batt_gauge: %s: invalid params, %d, %d, %d gdbatt_oc_cc_offsetgdbatt_select_cc_maxCouldn't set vsec_offset (%d) error %d reading first fg prop %d error %d reading second fg prop %d error %d reading single prop %d set %s for '%s' to %d gdbatt_gbms_set_propertygoogle,seq-fg-soc-limit6google_dual_batt_gauge: google_dual_batt_gauge_probe done failed to get "%s" power supply, retrying... 6google_dual_batt_gauge: fail to update base battery stats (%d) POWER_SUPPLY_PROP_CHARGE_COUNTERdebug_levelgoogle,second-fg-psy-name6google_dual_batt_gauge: fail to get charge state from battery (%d) MSC_FVdualbatt%s: route to gdbatt_get_property, psp:%d google,dual_batt_gaugegoogle,sec-vbatt-ratiogoogle,seq-fg-delta-limitPOWER_SUPPLY_PROP_VOLTAGE_NOWgdbatt_get_property6google_dual_batt_gauge: %s: temp:%d/%d(%d/%d), vbatt:%d/%d(%d/%d), cc_max:%d/%d(%d) &dual_fg_drv->stats_lockgoogle,cc-balance-ratiogoogle_dual_batt_gauge_init_work done 4google_dual_batt_gauge: secondary battery not present, no default capacity, zero charge table google,chg-pack-cc-limits%s: battery OC base:%d/%d sec:%d/%d cc_offset:%d->%d cc_max:%d (%d/%d)gdbatt_gbms_get_propertygpsy_set_propFailed to create dbatt_stats google,chg-battery-capacitygoogle_dual_batt_gauge: name=%s evt=%lu 6google_dual_batt_gauge: MSC_STAT dual cannot read soc_in=%d gdbatt_check_currentFirst battery not PRESENT fail to init chg profile (%d) ../private/google-modules/bms/google_psy.h3google_dual_batt_gauge: cannot read chg-pack-cc-limits table, ret=%d name=%s evt=%lu google_dual_batt_gauge: error %d reading single prop %d report_soc_type:%d -> %d, seq_soc:%d, sec_soc:%d Couldn't create debugfs, (%ld) seq_soc_limitgoogle,vbatt-ov-allowed-idxget %s for '%s' => %d %s: battery OV cc_max:%d->%d (%d)POWER_SUPPLY_PROP_CHARGE_FULL_DESIGNdaul_batt_tempgoogle_dual_batt_gauge: %s: route to gdbatt_set_property, psp:%d google,psy-type-unknownSecond battery not PRESENT google_dual_batt_gauge: get %s for '%s' => %lld google_dual_batt%s: skip ov for tier %d/%dseq_report_soc_typegoogle,vfloat-offset-max-idx4google_dual_batt_gauge: battery not present, no default capacity, zero charge table seq_delta_limitgoogle,first-fg-psy-name6google_dual_batt_gauge: failed to get "%s" power supply, retrying... 6google_dual_batt_gauge: google,second-fg-psy-name=%s google,chg-base-battery-capacity6google_dual_batt_gauge: fail to update sec battery stats (%d) GBMS_PROP_CAPACITY_RAWgoogle_dual_batt_gauge: error %d reading first fg prop %d google_dual_batt_gauge: %s: route to gdbatt_get_property, psp:%d 3google_dual_batt_gauge: failed to set %s for '%s', ret=%d 3google_dual_batt_gauge: no dual gauge setting google,battery%s: battery OV v_base:%d, v_sec:%dgoogle_dual_batt_gauge: check done. cable_in=%d (%d) gdbatt_ov_last_tierGBMS_PROP_FG_REG_LOGGINGgoogle,vsec-offsetgoogle_dual_batt_gauge: error %d reading second fg prop %d google_dual_batt_gauge: PRESENT different: %d/%dgoogle_dual_batt_gauge_probedual_battgpsy_get_int64_propdbatt_stats../private/google-modules/bms/google_dual_batt_gauge.cgoogle,chg-sec-battery-capacitycase %d not align: %d/%d3google_dual_batt_gauge: Cannot set aafv to the first FG, ret=%d 3google_dual_batt_gauge: Cannot set aafv to the second FG, ret=%d %s: route to gdbatt_set_property, psp:%d Couldn't register logbuffer, (%ld) gpsy_get_prop3google_dual_batt_gauge: cannot register power supply notifer (%d) 3google_dual_batt_gauge: failed to get %s from '%s', ret=%d GBMS_PROP_CHARGE_CHARGER_STATEgdbatt_ov_handlerMSC_FCC%s: battery over max fv:%d->%dc?#C{3WOCA8@CRR>@~A!Cu 4~A!c@ 4h@hh@Hu~A!#Rq6 jR{{h`bh:h>RhBh )`Rwzh~hi`!B~A!V ``@!?`T_1T@__R`` ^^R`sA8C_ !T*OHWG{E3@C#_`@!vR~A!#R`6 Rv~A!#R@6v~A!#R`6HRv~A!#R`6w#~A!#Rv#@6~A!#R@6?`rT`@!rh@!4h@!?bTc4Rc#4R4R4R`@!RR@*h! c?#{ T@``"`A`B`rC@* @{¨#_Vn?#{T@h{#_ֶ`?#C{WOA8C\u\5v\CR 7 @<`[ #aR`,1T @*5`Y!`[@ #aR`,1 T @*h4u\*CR `7 @6@*!@*u*T7V6RR@A8C_ aTODWC{BC#_`Y!bFdF**!tvhh@h hYtBuA 6K@*!@*6`Y!b[a[bb!#R6br!#R6b!#R6bF` cF* 7`cFq6`Y!`hB6* RtiJҨIi`bA Ru}ɛK~zvrn2.*&" a Rv:( R b"Rhz y!@`Y!*`Y!@@!@B@@!@B`?#{og_ W O A8CX94xs R{`QRhX9(4hX94`QRhX94hShhT(vR`CR*7 ը_hiJҨIiu}ɛKhCy`S6bBc d5*7`Tbbcd,* 75`@R8hX94ws7CR 4*`7*CR*447*-*_vhX95`F@*"*`J@* R8R@A8C_ CTOKWJ_IgHoG{F#_ֺ_CR#7 շ_W7CR$7 ո_87hFF|bh7k˜#*{*@!*@~@*hhBF R)K}(!飐Ri=r}) e h@k,Ti@)Q?%q9TiK))A?kjT  *`Td*h@k,Th@Q%q6ThK(AkT***`@Q)qB4ThK(AkT* *k@hQ%q2ThK(Ak Th:F*Kh>F**kT****^Ch7Y7h@iVB^Q) i@e i@]*_+Df?#C{_WOCA8C*@RȒ\9(4Ȗ\94@RBX**`7 u 4 Ւ!V@RUX**7  @T**7 @U6 *nUl@!*@@@@!**6@@!@B5@@x**7 u4 <!**4@!*@@@@!B!**@@!@B5hQ]q(T)R R)! r? jT*A8C@ aT*ODWC_B{AC#_4Uq@T Օ@**8***!B*?#C{WOCA8C*@R\9(4\94@RhQaqh T )* +yJ @֗@ @ !R* 6@!*@*I@RVA8C@ T*ODWC{A@C#_֗@w@ !R*@6@!*@* Ֆ*@@ !R6@*!@**+*@w@ !R*7@q9h4 RhJ Ih(}țKӈnR@v7* Ւ!*@!*@*!B*s@!B@*P@!B@*o@!B@*@!B@*t)(R?q$Hz_ H*?q`T? qaT*_ *Q_A1T! Q_=1TjRJ r)}*}*+)f) f *} ) @ _H q}_?#{_WOCA8ժRC**4|U| H8G?qXkTi>G?kTKh5h>G4?q(WZkTx@(R R 7x@(R R7hHt:u>4iHI4qCTq TkHR$@z*q(RbH_kTA8C@ TOEWD_C{A@#_`@!***v`@!****@*!@@*!@@!B@$R@!B@$R\C?#{WOJGRGNG(  +aTR*|@HHH(  +T" R* OBWA{è#_?#{ WO @9q T RiJIiA R" }ɛKӟfb^ZVRNJFB>:62.*&" a RnOCWB @{Ĩ#__eE??#{ L@R`@`@R9* @{¨#__eE??#{ L@R`@(R`@Rh9* @{¨#_zR| (,D-DD T DD-(D$D-DD L DD-<pD-DT @   TD-D (XD-D H  x  HD-((D-DD P DD-8TD-DPP 0 x PPD-D LD D-D\ `  < \D-D 4D-D0L 0  0LD-D 8$D-D0L 0  0LD-D H|D-D\ `  $ \D-D T44hD-DPP 0  PPD-D <D-DPT @   PTD-D 8D-DPT @   PTD-D DX@lTD-D`X P  ( `XD-D 4D-D0L 0  0LD-8D-D@P @ T @PD-($DD-D H  d  HD-(PHD-D H  h  HD-ݦű6?#{!{#_ g@?#{{#_description=Google Dual Gauge Driverauthor=Jenny Ho license=GPLvermagic=6.1.99-android14-11-gc151586fe278-ab12919773 SMP preempt mod_unload modversions aarch64name=google_dual_batt_gaugescmversion=g38791c5c2da3depends=logbuffer,google-bms,gvotablealias=of:N*T*Cgoogle,dual_batt_gaugealias=of:N*T*Cgoogle,dual_batt_gaugeC*C|"%+FS"LinuxLinuxgoogle_dual_batt_gauge:CL__platform_driver_registercUplatform_driver_unregisterndevm_kmalloci of_property_read_stringof_property_read_variable_u32_array=:%delayed_work_timer_fnYyinit_timer_keyq__mutex_inittRof_find_property;devm_power_supply_register~_printk[zdevm_kstrdup ~_dev_errwologbuffer_registerY_device_create_fileOddebugfs_create_dirRdebugfs_create_u32Ӆ3-system_wqWqueue_delayed_work_onғ__stack_chk_faileb,__dynamic_pr_debugÁkpower_supply_unreg_notifier/gHgbms_free_chg_profile zkfree Ylogbuffer_unregistergbms_get_property`power_supply_get_by_nameLQpower_supply_get_property<_dev_infossof_find_node_by_nameCgbms_init_chg_profile_internal5Ggbms_init_chg_table bpower_supply_reg_notifierktime_get_with_offset{mutex_lockC jgbms_tier_stats_initUmutex_unlock!rmod_delayed_work_on __pm_runtime_resume__pm_runtime_idle$bgvotable_cast_vote_gbms_msc_temp_idx۔ogbms_logbuffer_prlogvLgvotable_election_get_handleI$power_supply_changedZ%strcmp~)HmemcpyE:#__kmallocgbms_stats_update_tierȁpower_supply_get_drvdata`gbms_set_propertyG)gbms_tier_stats_cstrumodule_layoutGNUl<.«w@];ToGNUTd*h*t| | @@$ ( PX \ `dhpt\V`Vdp t - - 66  4DD HD XdYhYl( ( ffp p (((,0@LPX\lpx | ,  Px| ''$<@Phlpt  CCF F  (0? 4? 8H              $ 8 @ 8D 8L P X \ ` l 8p 8x |       0 4 8 X    0 X  U U     0 T       Y Y    @ D Ld 660UU    $ (LUPUltx|^ ^ (,048x<xDTX\lUpUiixxpHULU\`p t x    ,p0p48HT`dhYlYt55YY88^ ^ 88^ ^ 88 $,04@8D8LPX\`hPlPptx|,LpPpTb Xb d  pDtDx(H 77 $(O ,O 8HLP%T%`d h p|887788O O 88%%p<<\ptx|HLTX`hh00   l|<< < p t x |        8 8     !,!0!4!8!D!T!X!\!`!l!|!8!8!!!!!!!!!!!8!8!!!!!""H"H"w"w" " ""# #0#04#0p#######G#G##$($,$0$4$@$D$H$P$$$$$$$$6$6$$%$%L%P%`%d%|%(%(%%%%%%%%%[%[%%%%%%%q %q %%&&,&, &&&(&,&0&,4&,8&<&H&T&X&\&,`&,d&h&t&&&&,&,&&&'$((((((( )))) )0)4)8)<)D)L)T)X)\),`),d)h)t)))),),))))) *<*H****+++ ,,T,h, (< ` X$h (`0d 4|8@ D\HP8 TX``\ dh`p t(x@x`<`4hxH0`h``hp <$D( 048@DHXPT X``dhp t$ x`H t!`X !!!`$!,!8X""p\#%$$&X$%x$P&$|& t%$|%(P0'4P)8@(D|)H+8,+8,+8,w)h*0 @X( (D0$80h<p"x&<8@HPRpx;cR x(0wPX`h| |  | 08| @Hhp| xg| 9   ( HP X`  9  Z q z(0q 8@Android (10087095, +pgo, +bolt, +lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362)Ht @H l X lD$0< "H&\&pT')h*(+T8, %Iadg A)-5<MSV]ZPmy|t pQ   a S:  =8D@T l HX2m (D   <T @- o 88  7\Nl$% W 7 08 h | @ 8G  P < `*`  4p8Q$1  | :  ? P8 8$p8K+  4  l  HDl@ Dh 8E% 8 8   8 l   8i @&f0 h8 @08 $   $0 , 0\<9 8`<P ` 8 b p   L  8Z\  ! 8 (!2 vH8 \"sT'T" " " 8T`#p$  8 \$  |$V  $ \ (8Nx%+&7&&s0J ' @ (#)Z )3 )h* d*h*p+D=+++8,Hf4,= 8,V     %M k %(? M & (  0<@    Q ]  Ya Y&  ! #@ f # &r%:'I !#U :%,1!@h?$[c4uM +y kM8c.VAA3.note.gnu.property.note.Linux.rela.exit.text.rela.init.text.hyp.text.rela.text.comment.init.plt.hyp.bss__versions.modinfo.note.GNU-stack.llvm_addrsig.rela__dyndbg.text.ftrace_trampoline.init.eh_frame.rela.eh_frame.rela.gnu.linkonce.this_module.rela__jump_table.note.gnu.build-id.shstrtab.strtab.symtab.hyp.rodata.rela.rodata.rela.exit.data.rela.init.data.hyp.data.rela.datagdbatt_set_propertygdbatt_gbms_set_propertypower_supply_get_propertygdbatt_get_propertygdbatt_gbms_get_propertyof_find_propertygdbatt_get_capacitymemcpyinit_timer_keygoogle_dual_batt_gauge_probe.__keyof_property_read_variable_u32_arraygbms_msc_temp_idxgdbatt_select_voltage_idxdbatt_stats_show__mutex_initgbms_tier_stats_initktime_get_with_offsetdev_attr_dbatt_statsgbatt_update_batt_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_registergbms_stats_update_tierpower_supply_unreg_notifierpower_supply_reg_notifiersystem_wqdevm_kstrdupstrcmp_dev_infogoogle_dual_batt_gauge_shutdownqueue_delayed_work_onmod_delayed_work_on__kcfi_typeid_delayed_work_timer_fn__stack_chk_failgbms_init_chg_profile_internal_printkgoogle_dual_batt_workgoogle_dual_batt_gauge_init_workmutex_unlockmutex_lockgoogle_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_nameinit_module__this_modulecleanup_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_writeablegdbatt_gbms_property_is_writeablekfreegoogle_dual_batt_gauge_probegoogle_dual_batt_pm_suspendpsy_changedpower_supply_changedgdbatt_psy_descdevm_kmalloc__kmallocpower_supply_get_drvdata_note_9$x.99$x.89$x.79$x.69$d.59$d.49$d.39$d.29$d.19$x.109$d.9$d.98google_dual_batt_gauge_probe.__UNIQUE_ID_ddebug388$d.88gdbatt_gbms_get_property.__UNIQUE_ID_ddebug378$d.78gdbatt_get_property.__UNIQUE_ID_ddebug368$d.68gdbatt_ov_handler.__UNIQUE_ID_ddebug358$x.58$x.48__UNIQUE_ID_alias338$x.38$x.28$d.118$x.18$d.108$x.8$d.8$x.97$x.87$x.77$x.67$d.57$d.47__UNIQUE_ID_alias337$d.37$d.27$d.117$d.17$x.107$d.7$d.96psy_changed.__UNIQUE_ID_ddebug386$d.86gdbatt_gbms_get_property.__UNIQUE_ID_ddebug376$d.76gdbatt_get_property.__UNIQUE_ID_ddebug366$d.66gdbatt_oc_cc_offset.__UNIQUE_ID_ddebug356$x.56gpsy_get_prop.__UNIQUE_ID_ddebug346$x.46__UNIQUE_ID_depends336$x.36$x.26$d.116$x.16$d.106$x.6$x.95$x.85$x.75$x.65$d.55$d.45__UNIQUE_ID_scmversion335$d.35$d.125$d.25$d.115$d.15$x.105$d.5__UNIQUE_ID_license394$d.94gdbatt_gbms_set_property.__UNIQUE_ID_ddebug384$d.84gdbatt_gbms_get_property.__UNIQUE_ID_ddebug374$d.74gdbatt_get_property.__UNIQUE_ID_ddebug364$d.64$x.54gpsy_set_prop.__UNIQUE_ID_ddebug344$x.44__UNIQUE_ID_name334$x.34$d.124$x.24$d.114$x.14$d.104$x.4$d.4__UNIQUE_ID_author393$x.93$x.83$x.73$x.63$d.53$d.43__UNIQUE_ID_vermagic333$d.33$d.23$d.113$d.13$x.103$d.3__UNIQUE_ID_description392$d.92gdbatt_gbms_set_property.__UNIQUE_ID_ddebug382$d.82gdbatt_get_property.__UNIQUE_ID_ddebug372$d.72gdbatt_get_property.__UNIQUE_ID_ddebug362$d.62$x.52$x.42debugfs_create_u32$x.32$x.22$d.112$x.12$d.102$x.2$d.2__UNIQUE_ID___addressable_cleanup_module391$x.91$x.81$x.71$d.61$d.51$d.41$d.31$d.21$x.111$d.11$x.101$d.1__UNIQUE_ID___addressable_init_module390$d.90gdbatt_gbms_get_property.__UNIQUE_ID_ddebug380$d.80gdbatt_get_property.__UNIQUE_ID_ddebug370$d.70gdbatt_select_cc_max.__UNIQUE_ID_ddebug360$x.60gpsy_get_int64_prop.__UNIQUE_ID_ddebug350$x.50$x.40$x.30$x.20_note_10$d.110$x.10$d.100 @PlV2PO,cG^GG@@h@E@~@xJ@Ȝ?'5x00@x'%( @H'@Hh 'Q@'sЄn@'c؄^@'|a@h'H`@ 'U0@`(' LoT0@@@0'!q@@ $ =)+ 5Kz