ELF@@ .3 Jx<\h<<xx<<88888<< <<< < <<< <<<<<<<<<<<<<<<<<<<<<\<<<<<<<<\<\<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<google,dual_batt_gaugegoogle,vsec-offset(work_completion)(&(&dual_fg_drv->init_work)->work)3google_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 &(&dual_fg_drv->gdbatt_work)->timer6google_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 google,second-fg-psy-nameSecond battery not PRESENT %s: battery OV cc_max:%d->%d (%d)gdbatt_ov_last_tiererror %d reading second fg prop %d Couldn't create debugfs, (%ld) google,batterygoogle,chg-base-battery-capacityPOWER_SUPPLY_PROP_CURRENT_AVGgoogle_dual_batt_gauge: get %s for '%s' => %d %s: skip ov for tier %d/%dget %s for '%s' => %d 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_prop&(&dual_fg_drv->init_work)->timerdebug_leveldual_batt_balancegoogle_dual_batt_gauge: case %d not align: %d/%d6google_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(work_completion)(&(&dual_fg_drv->gdbatt_work)->work)google,vfloat-offset-max-idxCouldn't register logbuffer, (%ld) 4google_dual_batt_gauge: battery not present, no default capacity, zero charge table daul_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 %s: battery OV v_base:%d, v_sec:%d3google_dual_batt_gauge: failed to get %s from '%s', ret=%d gpsy_get_propgoogle,chg-pack-cc-limitsset %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 gdbatt_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-capacitycheck 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_gaugegoogle_dual_battgdbatt: set_prop cannot write psp=%d ?#Ո(Q!(Th=ҨL5^-T=ҨL5^ T葐UT2H#TQ׉H T׉H @T((rT[haT6@(H(/`T(ȭt(T(Q!(T҈$ȇhVT( ȓ #T# ?!T#__$?#@9#qCT_@*?#C{C_WOA8@BRR>^B!Cu 4^B!c4h @hh@hub^B!#R6|  jRu*{z`!B****wrh`cRhvhb`"*`!B****whB #`cRhh`!B^B!V ``@!?`T_1T@__R` ^^R`sA8B_  T*OHWG_F{EC#_`@!v^B!#R`6 R^Btr!#R@6?`T`@!@_?Tc4R`@!RR@*$!6?#{ T@` `B`B`B@ @*{¨#_?#{ L@R`@`@RV9 @*{¨#_?#{ L@R`@(R`@RhV9 @*{¨#_?#{CWOA8BT@@aR,1aT‚RR@A8B@ aTOCWB{A#_ @@`aR,1T@*5@! @@*5@!!ȾȖA@ BUB`64!#R6!#R6!#R6²EöE*7úE*6@!b6*( R2 "RȪ y?A@@!p@ @!d?#C{CWOA8 B ` *7@U@2P94uEh4E5R`7 @R7 qT@q T"R8R@A8B@ TODWC{A@C#_@*!@*@*!@@E!E**$@@@!B$ը@@@!BqJT?#{WOA8B*@RRW9h4VW9(4@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_ !TOE*WD{B@#_$!**J?#{CWOA8B*@RRW94VW9H4@Rq@Tq T(@RU#@6d@ R7*@Vd@ R7*h@ "Rq!@Z97*A8B@ T*OCWB{A#_ $!R@*!@**@@*!@**$@!@B$@!@B?#?q#_?#{CWOA8B6|U|EkThEk`TkUZ)qTt@(R AR7t@(R AR7vuA8B@ !TOCWB{A#_ֈ@*!@@*!@$Ո@!@B$R$Ո@!@B$R?#{Cog_W O A8BXW9h4wbBCaR4**** 7xCaR* 4*6*****_**_CR 7 շ_7CR7 ո_7  hB?qy :k,TiB)Q?%qh'TiJ))B?kTk-T**hBk,ThBQ%q%ThJ(BkjT*hB Q?qTkBJ kJT?qAT9RjJ)*JB k T8*?qb!TjJ)JB kT* k T/?qTkBkT?qTkBkJT? q TkCkJ TmR? q`TkCk kT* k-T*@lB kT? qTYR* km T.RJ-R kT*E@*@!**hZW95** A8B_ TOJWI_HgGoF{E#_9RlC kT? qTyRMR kT?qTkEjB  K_ kJT?q@ TlB k T? qTlC kJTnR? q TlC kΥ\*\7 ejA[ic=)7eiA8h*c=)@6*hEk*Û_k!TkhTk T`B@R**^hB?kT**C`ZA;)`Z !*]|)!***^ ^#`ZAB@!#R`@zpn.RkE kT_k*T?qTjB_k*T? qTjC_kTnR? qTiC?kΥNRYRNRlC kT?qTRyR$bZW9!*Dh C kJT?q@*ԟ$@_@!B_6($@_@!B_6?#{WO\A`^hBQqThJ(iE#R!BR6 K~@`B@R***vOBWA{è#_@*?#C{CWOB)*E?k$*)7iA6hkT /$!B&*k`T`ZA`ZhE!#Ra@kˆK~@`B@R***`@wODWC{A@C#_?#{C3g_W O A8BXW9h4hBI?k)**7%iA9h`ZA*`^A*v*hE*?k+ThE飐Ri=r}}) e H*H7hCiDjB kB) Thui**w@ CAR 7 ն_w@K CAR 7 ո_KkkTkJTiEԐR*(r;KJ 7kTK  )Q) $}*iEkT K  JQJ E}* ( _ k hEkw×`ZA!K#R}@iE`B*@)KhER**3+# `@wA8B_ TOJWI_HgG{E3@#_ֶ *@!*@*@!*@ԐR!**$r*$@_@!Bq$@_@!Bp$!B*?#{WOH@I4@R*Q} ~R`6!7k @hQq+T  *)ySj6@lQ k T_qkT* - l6@kJ}~ij-} i*j6@ kTk @*`OBWA{è#_*`6@6?#{ OBh@@` Ձ @!h@@q@h@@q$h@!@ @!*@**qaT@OB R @{è#__$_$_$_$_$_$_$_$_$_$_$_$_$?#{!{#_?#{{#_description=Google Dual Gauge Driverauthor=Jenny Ho license=GPLvermagic=5.10.177-android13-4-gebc441967af0-ab11066595 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=ga9fbd11f076cx C"5F!sLinuxgoogle_dual_batt_gauge/module_layout~)Hmemcpy ѩ__stack_chk_failӅ3-system_wqOEplatform_driver_unregister Ylogbuffer_unregisterL,gbms_free_chg_profile}?queue_delayed_work_on7=power_supply_set_property/9__pm_runtime_idleo__pm_runtime_resume"rMpower_supply_get_drvdatacof_find_property$bgvotable_cast_votegbms_msc_temp_idxvLgvotable_election_get_handle۔ogbms_logbuffer_prlog/]mutex_unlocka=mutex_lock_nestedmod_delayed_work_onz8^power_supply_changedZ%strcmpE:#__kmalloc zkfreeN8Wgbms_init_chg_table:kgbms_init_chg_profile_internal0of_find_node_by_name bpower_supply_reg_notifier""}power_supply_get_property_dev_info power_supply_get_by_name%}Ԇlockdep_init_map_type6of_property_read_variable_u32_arraycOdevm_kmallocdebugfs_create_u32|Qdebugfs_create_dirwologbuffer_registerA_dev_err$`Odevm_power_supply_register__mutex_initdelayed_work_timer_fn4Kinit_timer_key+Db__init_work {{__dynamic_pr_debugdevm_kstrdupprintkXQof_property_read_stringY`__platform_driver_registerGNULnS<қ"WcGNU LT`ltt |t  ("0"(" (0"0 4HTX \ d h 00@@,n4n8HX ` dt))      $4 @ DL9T9Xl pht xh   (\l$0@D|  $ $ (","<LFTFdlptx3 3      9 9 $ ( X"0 X"8 D H L X p t x         0 P p     g 7 g 7  g 7 g 7     ( 8 D H r L 7T \ r ` 7d t x r | 7  r 7     0 H PL \P PT \d     h  h           l0p}t0x}bbh$p66,P| $6 (,6 4DOH LOP \` h lO O     O v Ov ,O0v 4O8v @HTX\v `dlv tv v 0`gX gX <h DTDT h4P hlp|  TTnnPpipir X r X  $r (X 08r <X @p t x  hT  T  hlptx|  h  h  \0 8 HLhT7X! dhp7t! gT g T (g,T 0g4T @HLTXhtr T r T r T r T 8 D P X h !! !!l!!!8! !8! !!|("("`"`"$"("`"d"l0"p0"x"|"P"P"X"X"@"@"H"H"" """@$","4"<" D" L"T"\"$!d"(8 < @ X $l (@0< 4D 8x@ D HP TX` d hp`thxX lL|@@`h d$x(@048@@ DHPX!T!X` "`"""8rH`p l0@"8H"@P"" "" "" ""7 q 8"@+Hq P%p"xTq "q  "q s " ( 0 P"X~`q h2"~q  "~q U"~q 60"8~@q Hh"p~xq "  "q JAndroid (8508608, based on r450784e) clang version 14.0.7 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0cca074e9238af8b4106c30add4418f6) #,DOv y_hq'/58>;2GL (   i U 8     0r@h%hbLP .@D @H- A $    q 8 <  c \ I 0  J 0 P8 @ ' @A h8 P 8  z `K 8  ] p08 dD 8 P$! <l 08 pt  W  8 >  $ f  [  Q  8 <  p8  0P`P   ! 8U d <K   h2 0  @ 8Z$  i$! $!O Pn 88 \!E , " " "T(" 0" @"I H" P"' X" `" u %%($ M k p r p !    E 0@l@; h l"B""f" "L("0"i8"1@"H"P"X"`"?   7  - Yb Y   i  &{ %"'I2  ,2 $c8zu#H~a /[ uWt]^3J"$)9n"Jh".note.gnu.property.note.Linux.rela.exit.text.rela.init.text.comment.init.plt.bss.rela.rodata.google_dual_batt_pm_ops__versions.modinfo.note.GNU-stack.llvm_addrsig.rela__dyndbg.text.ftrace_trampoline.rela.data.__cfi_jt_init_module.rela.gnu.linkonce.this_module.rela__jump_table.rela.text.google_dual_batt_gauge_probe.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_max__cfi_jt_startgdbatt_check_currentgdbatt_set_property.cfi_jtgdbatt_get_property.cfi_jtdelayed_work_timer_fn.cfi_jtgoogle_dual_batt_work.cfi_jtgoogle_dual_batt_gauge_init_work.cfi_jtgoogle_dual_batt_gauge_remove.cfi_jtgoogle_dual_batt_pm_resume.cfi_jtinit_module.cfi_jtcleanup_module.cfi_jtgdbatt_property_is_writeable.cfi_jtgoogle_dual_batt_gauge_probe.cfi_jtgoogle_dual_batt_pm_suspend.cfi_jtpsy_changed.cfi_jt__mutex_initgdbatt_fg_propsgoogle_dual_batt_pm_ops____versions_dev_errdebugfs_create_dirgoogle_dual_batt_gauge_driverplatform_driver_unregisterlogbuffer_unregisterdevm_power_supply_register__platform_driver_registerlogbuffer_registergdbatt_ov_handlergdbatt_ov_last_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_work__init_workmutex_unlock__cfi_checkgoogle_dual_batt_gauge_of_match__dynamic_pr_debuggbms_logbuffer_prlogdebug_printk_prlogof_property_read_stringgdbatt_fg_logginggoogle_dual_batt_gauge_removegvotable_cast_votelockdep_init_map_typegoogle_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_profilegvotable_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_endmutex_lock_nestedpsy_changedpower_supply_changedgdbatt_psy_descdevm_kmalloc__kmallocpower_supply_get_drvdata__UNIQUE_ID_author289$d.89gdbatt_get_property.__UNIQUE_ID_ddebug279$d.79__UNIQUE_ID_scmversion269gpsy_set_prop.__UNIQUE_ID_ddebug269$x.69$x.59$x.49$x.39$x.29google_dual_batt_gauge_probe.__key.19$x.19$x.9__UNIQUE_ID_description288$d.88gdbatt_get_property.__UNIQUE_ID_ddebug278$d.78__UNIQUE_ID_alias268$x.68$d.58$x.48$d.38$d.28$d.18$x.8$d.8_note_7$d.97$d.87gdbatt_get_property.__UNIQUE_ID_ddebug277$d.77__UNIQUE_ID_alias267$x.67$x.57$d.47$x.37$x.27google_dual_batt_gauge_probe.__key.17$x.17$x.7$d.86gdbatt_get_property.__UNIQUE_ID_ddebug276$d.76__UNIQUE_ID_depends266$x.66$d.56$x.46$x.36$d.26$d.16$x.6google_dual_batt_gauge_probe.__UNIQUE_ID_ddebug285$d.85gdbatt_get_property.__UNIQUE_ID_ddebug275$x.75__UNIQUE_ID_name265$x.65$x.55$d.45$x.35$x.25google_dual_batt_gauge_probe.__key.15$x.15$x.5$d.84$x.74__UNIQUE_ID_vermagic264$x.64$d.54$x.44$d.34$d.24$x.14$d.4psy_changed.__UNIQUE_ID_ddebug283$d.83gdbatt_select_cc_max.__UNIQUE_ID_ddebug273$x.73$x.63$x.53$d.43$x.33$x.23google_dual_batt_gauge_probe.__key.13$d.13$x.3$d.3$d.82gdbatt_ov_handler.__UNIQUE_ID_ddebug272$x.72$d.62$x.52$x.42debugfs_create_u32$d.32$d.22$x.12$x.2$d.2$d.91gdbatt_set_property.__UNIQUE_ID_ddebug281$d.81gdbatt_oc_cc_offset.__UNIQUE_ID_ddebug271$x.71$x.61$d.51$x.41$x.31$x.21$d.11$x.1$d.1__UNIQUE_ID_license290$d.90gdbatt_get_property.__UNIQUE_ID_ddebug280$d.80gpsy_get_prop.__UNIQUE_ID_ddebug270$x.70$x.60$x.50$d.40$d.30$d.20$x.10@`SP{2P0: h"NpBIqBrB5tB,0@HXx &@XH0@0%B$ @8H @8BbX@(D@H@@0Lo&m8GG@@0}L NX$(X ȗsȗakA