ELF @@" ?#^{og_WOA8Ba@`w>@9qcT(tB`"wR`x @ q*T6 u6@@vSX4qaT**R**R6*`uB@qcTGtR`"uV`x @ q$T v6@@x4qT**R(utRh@ @iЛRicrB }R#r HRrd a@***R 6!R*wbu"t Ry (B95#T{c :y@h@X##@*h @H4qT@@X#s@*@@X#s@**h @4qT@* @*`x @ qT v6@@X4qT*RR *RR@V4qaT@!R@!R@4q!T@!R 5@!Ra@A8B_ TOG*WF_EgDoC{B^_#_utVh@ @iЛRicrB }R#r HRrd a@"R@*@*@*@*?#^{Cog_WOA8*B`b yv@ R|z[@@Y@9Z#@B9h46|[##A9h4"T"!T{[`ch@qT_ qJT_qTkz8*k:8"T"Tb`"`u @ qBTs6@  AU4qT*BR *BRA8B@ TOFWE_DgCoB{A^_#_@*@*?#^{ WO" @R)R56@:@4q T**R*4P**R*54qT*RR*49*RR*5@R RFqT @4qT*"R#R*`4*"R#R*5  * @OCWB{Ĩ^_#_ ?#^{COA8B`"`t @`Bu6@cR@**`B @uJha@Hhc~țR`hB94`^`2h2C94`Bj`hC94`v`hC94``RhRD94`b`hD94``hE94`"`rhrE94``hE94``2h2F94`B`hF94``hF94`A8B@ !T*@OC{A^_#_?#C^{g_WOA8B*BR@qT )6 "@ @6@***\ @6@ q9 yb T  D8#X4qT*bR *bR@9? @y 3Ik9T 95#R}R@*%@*(}}^?wT9c"s"A8B_ TOHWG_FgE{D^_C#_@*@*?#^{ WO**b@ RZ(~@b@ qT RZ&@qTxh Ԛ9" @qT4qT RZ`r`@)t҈/h: Ԛ ] 4qaT RZ`r`@ RZ`r`@   RZ`r`@*OCWB @{Ĩ^_#_?#^{C_WOA8*B*R q9TI4@q"TI64qT*RR*`4*RR*5 R4qT*4"A8B@ T*@OEWD_C{A^_#_5*597*@RDגt4qT** 4**596949Q*@*@*?#^{WO***rRR(4qT q T })I4?H T *JH  @T4qT*RR qT })I4?T *JH  @44qT***R*RR ***ROBWA{è^_#_@* @* ?#^{Cog_W O A8BaATR N VB:@`btN@L"2ALb@ bLT" R*R:44q T2@`tV@2@bN@@BJ@>2"@`"t@6tA&2@`tB@2@bN@@BJ@z2"@`"t@6tAb.@:>bb9@`s2@=` `zA@=@`s2@` |zA<!<!`<! <5S!#R`;7^x@q ;TV@@kT*;R`Tz{kT{ZT<TB>S!#RR57^:@_qm5T@@kT*9R@_`TzykT9_T?:TRBB!#RV07!/!!26R*7R* @_qm)TR RRA(b3R RhQY705s*@@ R`Z7+5ss@ka"T"3Rs2qa!T R3-TsWvC!9@+5^z@_q T@y@_W @4TC9CRsW`@xkT<*k'T!9{ _@@5Rcr"R4RBb{{"B!R@@ HRr} @R"2&@B @>B*`6ptlTfTZ@PD@<6,0@F)%!!@t**R* *@YA8B_ a T*OJWI_HgGoF{E^_#_**@!r:Byv72vy*@@ @" F!B@B @@*?#^{WO`tV@B"* 7B@b@@B" FA*OBWA{è^_#_?#^{ `sV@``B!R @*{¨^_#_?#^{ `sV@``B* @*{¨^_#_?#^{CWOA8B@b"!!!`bHRh!ub(Rbr!#R 7!h"`bu"9h@q`T qTb!#R7!#R7`@*t97!#R`7`@!#Ru97`@*t"* A8B@ TOCWB{A^_#_?#^{ WObѳb"@ I@ R7 Ț^@T*@*56a@`" `FAOCWB @{Ĩ^_#_?#^{O``B@`a\bRt@ HRr} OA*{¨^_#_?#^{ o g _ WO'A8BHRr"*@(7B!RB@}b bJ9&5B  RJA" @6@B>@R@ q'T  B4qT**a*R **a*R**qky3"T B8\4qT*R *R@9b3@@9I` X k3Ts"\5q9cyHT  C\4qT*bR *bR@9c@yHRr @ p @@"S ԚJ&R@ x@OqhTH Ԛ74@H ԚqT@R~@Hsrh ɚ}?HT?HhT8@Pb R ؚHӳ`{'@6@s#`"h"A94?#TH@@t[b@ qTt[ t҈&@/i:( Ț ]@@H4qTt[r@ t[r@** }}ӛ*}ܛ)})ɓb@b?#T9c#@A8B_ aTOOWN_MgLoK{J^_#_@|@*s@**e@* ?#^{*{^_#_?#^{ `RhR@9 @ r {¨^_#_?#^{ O"BBR@ @iЛRicrB }R#r HRrd OB @|@{è^_#_?#^{ _WO"B@* 7*@?q T@@kT*~@6R?`TzvkT?TBT**R @ODWC_B{Ũ^_#_*?#^{WOA8B3!C3C9qaT3ARC9 5CqMTC#AR5qTRK @qşqT*v7R Qh   yS7yS4 Q~kaT 5* h  yS4Q #A) HRr% A8B_ aTOEWD{B@^_#_?#^{_WOA8*B***X`77 4q` T5"B  @B6@R@*f@7"`7B!RB@ HRr} A8B_ TOFWE_D{B@^_#_qTIqTR"V @? qT6@ @4?qT**R$B"R @? qT6@ @vS94?qa T**R**R@6!RP**R`6CV@ @iЛRicrB }R#r HRrd @"R R@ @iЛRicrB }R#r HRrd @**@*@*?#^{ O"BRV@ @iЛRicrB }R#r HRrd OB @|@{è^_#_?#^{ _WO"BI* 7:@?q T@@kT*~@6R?`TzvkT?TBT!RR* @ODWC_B{Ũ^_#_*?#^{og_WO"B" @(4qT2@(42@ 4BR@ I@ R3 ȚB JAT* 7"&@B_R*|@b󲀹 @^@&@3@ Rs" `"R˨_|@b@B* _#TZc@OGWF_EgDoC{B^_#_?#^{Cog_WO"BuRh@q+Tvb3R@@8 R9@#[@@C\@E @B TBsOFWE_DgCoB{A^_#_?#^{Cog_WO"Bb@94Ÿ@ RY# Rz # C<@% @B* .T .Tcb@OFWE_DgCoB{A^_#_?#C^{og _ W O A8B"!By/`4!qT/@1qTR@qTb R*@~A@4TCZURO/@1qb'T Rm k! T=<bbA95"(Rb9@6 B!RB@ HRr} `5 )q A8B_ TOLWK_JgIoH{G^_C#_֠BR@ I@ R8 ȚB JA?)T*6"HRr6 B!RB@}/@1qT Rm #8@@ )| ""&@ @@ 7C @( @ @@ @? *: /@?3qbTR7W@@ R# "@*" @h4q!T2@@ R# s@*2@@ R# s@*bHRbA9r4 R @@6@R@*i@@J/@2qT@ ؚRn"@@*@*@*@*?#^{Cog_WO"B*cB94@ R9# #9@R{_@B* "T"Tb@OFWE_DgCoB{A^_#_?#^{og_WO`"sBt`Rh@qKThb7R @h@@Y@@R@#S@@X@@T#@G@B _hTB@OGWF_EgDoC{B^_#_?#^{O*gOA{¨^_#_?#^{C_WOA8B"!B#)qAT@1qBT@"@ @2q+T  qBT6@ A7 84qT****A8B@ aT@OEWD_C{A^_#_@*?#C^{og _ W O A8*B"B#* RhBHRhcR|țR|@b R9@i@##aD@`yv* .Tcc@A8B_ TOLWK_JgIoH{G^_C#_?#^{O"ROA{¨^_#_?#^{WOOBWA{è^_#_?#^{Cog_WO*6*d 7*b" R`hB94`{@{#`#h#A94@4qT@**?#To?#aTk?#Tg@**?#T]?#@ T9cb *b 9*b" R`y`@hB9H43s`"h"A9(4@(4qT3s@`rb@*_#aT_#T_#aT3s@`rb@*_#T_#TZc!R7@ !R5RMb b 9OFWE_DgCoB{A^_#_odpm_get_lpf_values?#^{!{^_#_?#^{{^_#_3odpm: Could not find id_entry! 3odpm: Could not find any rails channel-en-index3odpm: %s: clock error too large! fsel: %llu, fest: %llu, elapsed_ms: %d, acc_count: %d 3odpm: cannot match new sampling rate value; %d uHz odpm3odpm: Failed to start measurement at probe sample-rate-external-uhzbuck_raillpf_current3odpm: cannot read max refresh time value 3odpm: cannot read node name schematic-namemeasurement_start%s(%s), %llu, %llu, %llu 3odpm: cannot find channels DT node! sample-rate-uhzshunt-res-uohmsCH%d=%x3odpm: cannot capture snapshot for suspend %d.%06d 3odpm: cannot find rails DT node! %sCH%d=%49s6odpm: %s: Starting at timestamp (ms): %llu available_rails3odpm: cannot delete the refresh timer use-regulators-as-rails3odpm: Could not find regulators sub-node odpm_disable_in_sleepchannel-en-byte-offsett=%llu CH%d[%s]:%s odpm: could not allocate memory for rail data %d.%6s3odpm: cannot read external sample rate value 3odpm: tried to refresh registers while sleeping! 3odpm: %s: elapsed time is 0 ms 3odpm: %s: refresh registers took too long; %u ms ext_sampling_rateenabled_railsmeasurement_stop3odpm: s2mpg1%d-odpm: failed to update meter_ctrl1 bit_0 to 1 3odpm: cannot read channel-en-index 3odpm: Could not find rail-name %s 6odpm: Configuring %s...done 3odpm: DT parsing error! 6odpm: %s: init completed 3odpm: sampling rate decimal is not a number 3odpm: s2mpg1%d-odpm: failed to update mt_trim bit_7 to 0 6odpm: Refreshed %s registers! channels3odpm: Could not send blank async when applying sampling rate max-refresh-time-msrail-name3odpm: cannot capture snapshot for resume chip-namerailsregulatorssubsys-namechannel-mux-selection3odpm: meter_sw_reset failed &odpm_info->lock3odpm: cannot parse sample rate value %d 3odpm: cannot reset the refresh timer 3odpm: cannot retrieve energy values t=%lld 3odpm: invalid rail-name value on %s 3odpm: expected %d rails, got %d CONFIG_COMPLETE3odpm: Boot config already applied channel_enabled6odpm: Configuring %s... 6odpm: %s: CH%d=%s 6odpm: %s: Applied new sampling frequency (type %d) in Hz: %s6odpm: %s: init 3odpm: Could not identify driver! 3odpm: wakelock register fail 3odpm: cannot read sample rate value sampling_rate3odpm: cannot refresh to apply new sampling rate 3odpm: DT does not exist! external_rail3odpm: cannot parse external sample rate value %d 3odpm: expected %d channels, got %d 6odpm: Boot config complete! 3odpm: cannot find main DT node! energy_value3odpm: Failed to start measurement 3odpm: Could not get parent data! 3odpm: cannot read channel-mux-selection 3odpm: Cannot refresh %s registers periodically! CH%d(T=%llu)[%s], %llu 3odpm: Could not allocate device! 3odpm: sampling rate is not a number 3odpm: cannot find parent DT node! 3odpm: cannot read shunt-res-uohms wq_odpmlpf_powerCH%d[%s], %lld 3odpm: cannot read channel-en-byte-offset CH%d[%s], %llu 3odpm: s2mpg1%d-odpm: failed to update mt_trim bit_7 to 1 4odpm: cannot apply sampling frequency type: %d %s(%s):%s 3odpm: cannot refresh values to swap rails s2mpg12-odpms2mpg13-odpm  cc }>@   5w(kP@Ysʚ;5w(kP@Ysdescription=IIO ODPM Driverauthor=Stephane Lee license=GPLvermagic=5.10.177-android13-4-gebc441967af0-ab11066595 SMP preempt mod_unload modversions aarch64name=odpmintree=Ydepends=s2mpg12-mfd,s2mpg13-mfd,s2mpg12-powermeter,s2mpg13-powermeteralias=platform:s2mpg12-odpmalias=platform:s2mpg13-odpmscmversion=gebc441967af0$$$$Linuxodpmlumodule_layout`Ϙstrlenv"kstrtointnsscanf*squeue_work_on"H__pm_stay_awake4.w__pm_relaxhmutex_unlockemutex_locko0wakeup_source_unregisteriio_device_unregister zkfree destroy_workqueueiBflush_workqueueicancel_work_syncnSalarm_cancelwJW__mutex_initd{wakeup_source_register__hwasan_store2_noabortTzD__hwasan_load2_noabortYP_dev_errUB__devm_iio_device_register6alarm_start_relativeX6alarm_initalloc_workqueueZ%strcmp.3odevm_kmallocof_find_propertyC60of_property_read_variable_u32_array[_|of_property_read_string|;^3of_find_node_by_nameJof_get_next_child__hwasan_store1_noabort(2devm_iio_device_alloc>t`s2mpg12_write_regYs2mpg13_write_regTus2mpg12_read_regެs2mpg13_read_regktime_get_with_offsetcplatform_driver_unregisterhZ __platform_driver_registerqԜs2mpg12_muxsel_to_power_resolution;/s2mpg12_muxsel_to_current_resolutionpbs2mpg13_muxsel_to_power_resolution/s2mpg13_muxsel_to_current_resolutionDts2mpg12_bulk_read(Fs2mpg13_bulk_read\__hwasan_store8_noabortGusleep_rangeiJms2mpg12_bulk_writev~s2mpg13_bulk_write__stack_chk_failgus2mpg12_meter_onoffs2mpg13_meter_onoff+v*s2mpg12_ext_meter_onoffv>KEs2mpg13_ext_meter_onoffs2mpg12_meter_set_muxsel`s2mpg13_meter_set_muxsels}=F__hwasan_load1_noabortscnprintf$os2mpg12_update_regV#s2mpg13_update_reg__hwasan_store4_noabortt_A__hwasan_load4_noabortprintkh'J__hwasan_load8_noabort1[__sanitizer_cov_trace_pcGNU1PߓFǑ3tcel!GNU8h@iDcLcPjXk`L`dL`phlkikhmhnhhc c j(k8hHlTk`ixkhmhkikcIcIoi c?c? j(h<nLhThXc `c djphhkiiic*c*jkhi$i4kDqLhTi`ipkrhkL`L`hishitL`L`ki k0hDmLh`nhhpkhiuhivkhishhithic$c(jlhxkikcIcIoic?c?jhhhhwPh\ixkpkpphhhhkh4h@hPk\ihL`pL`|khxhyhh hw8h@kdipihmhcchnhm h c  c  h$ n8 {D L`H L`T kh h| m h h n h h c c h c c h c c j hL hX kd ip k } i c c j p h } h p h } h p, h4 }@ hH pT h\ }h hp p| h } h p h } h p h } h p h } h p h$ }0 h8 pD hL }X h` pl ht } h p h } h w h4 kD LH LT kd kt i { k i L` L` k h ~h hHhpk}hhhhw<hDi\kxkhkhkhh k(0h@kHPhXhhkpxhhL`L`k LLk,h@mLhThhnxh}hhhh h,h8h@h\{lh|hhhhhhhhw hXL``L`pkhL`L`khmh h0DhThnphxhhhhhhic~c~j(}4iHiTih}tiil}LpLpl}LLlhii(i4i@iLiX}dkpl|i}ihiiiiii}kli },i8iD}P}\hdpi|iiiiicccccc cc,@kTi`kphkhhhllcc k i,k<h`kphhhllcGcGcccccc$<HhTh`hhhxhhhl}@LhXh`hhhxhhhh LPc[\c[dtkiihhlhcc 0@PhXh`hdclcpj|hg|hcvcc cvcc }}}}}Ih& I'Ih&I'$,kDP}TL\Ldlt}xLLi}}lhhc c jhc4 c4 j hcch c$c(j<hDhHc< Lc< Pjdhhc lc thxc |c hcchhcchhcchhcGcGhcRcRhc"c" h cp cp  h$ c, c4 h@ hD c L c T j\ h` ch cl jt hx c| c j c; c; j h cf cf j h!h !c!c!j$!0!h &c> &h&h&c&c &h$&c (&c ,&jd&w&h&&k&i&k&&i''h 'c $'c ,'h4'<'h@'cD'cL'iX'j`'ih''h'i''i''k'L(hX(d(hh(I'p(I'x((k((p(i((k(i(i )k)$)L`()L`4)kD)hT)h)mp)h))n)h)L`)L`)k)h*~*h$*,*h\*h*k*h*~*h**h**}+}+k +i0+k@+h+h+k+i+p+h,h,h,i,,k<,hH,kx,k,h,k,,h,k,,h,i-}-h$-hh-hl-c)p-c)t-j|-h-c-c-j-h-i-c -c -j-h-i-c,-c,-j-h-h-i-cU-cU.j.h.h .h(.w<.hl.ht.k.h.i.k.i.k/cI/cI$/op/hx/i/k/i/k/h/h/k0h0h$0h`0hh0hl0ct0cx0j0h0c0c00h11h1,1X1hd1hl1h1h1h1h1h1h$2h(2cr,2cr42h82c <2c @2jL2w2h22h2z2h2k2i2k 3h3 3h$3I',3I'43<3kT3\33h3c 3c 3h3c)3c)3j3h3c3c3j3h3c3c3j3h3h 4l4k$4i04L`84L`D4kT4hh4mx4l4k4i4L`4L`4k4h4m4h4n5h5h5c 5h45nD5hL5hX5kd5it5k5cI5cI5o5i5c?5c?5h5k5i5k6cI6cI(6o06i86c?<6c?H6jP6hT6c \6c `6jh6wl6ht6h6h6i6k6i6k6cI6cI7oL7hT7ip7k7i7k7h7h7k7h7h8h<8hD8hH8cP8cT8j8h8i8k8k8h8k8h8h88k9i9k49@9id9hl9hx9i|9c[9c[9o9k9i9i9i9i:i :c :c ,:o<:hL:hX::h:h:h:cQ:cQ:j:h:i;k$;iD;iP;i\;i`;c/ p;c/ |;o;k;h;h;h<h<i,<H<pT<h\<kh<i<i<i<cc<cc<o<h<h<h<`=hh=il=ct=c==cy=cy==k=i >i>(>h8>hD>hP>hd>>k>h>h>>p>>>h>c)>c)>j>h?c?c ?h?I'?I' ?(?k@?H?zP?hX?h\?c`?cd?jl?|p?c t?c x?c |?c ?j??k?i?k@$@iH@hL@c: P@c: X@h`@ht@|@h@c)@c)@j@h@I'@I'@@k@@i@iA} AiAi0A}DAiTAihA}xA}AlAkAiAiAiAc*Ac*AjBkBhBi(Bi 4 7 `H\[ s  ( r L p#Vh& '+ ""d} "T,JP#T ($Q,.(BT.L/.D/@J0IP2,+|6 7@`8X:,;< =\|C8D8FDfH|FID{IX  `n    )W E N (C P`@@*@@.@K@@@@@D@@    T  QbI Q  >   !9  Fs  B (Y D  : 0 wO.?WoH ] _  0zU 8~  04   u9 ~B& U hO~q8 8: `.note.gnu.property.note.Linux.rela.exit.text.rela.init.text.rela.text.comment.init.plt.bss__versions__ksymtab_strings.rela___ksymtab_gpl+odpm_get_lpf_values.rela___kcrctab_gpl+odpm_get_lpf_values.modinfo__ksymtab_gpl__kcrctab_gpl.note.GNU-stack.llvm_addrsig.text.ftrace_trampoline.rela.gnu.linkonce.this_module.note.gnu.build-id.shstrtab.strtab.symtab.rela.rodata.rela.data.rodata.str1.1s2mpg1x_ext_sample_rate_uhzs2mpg1x_int_sample_rate_uhzof_find_propertyodpm_sampling_rate_verifyodpm_probe.__keyof_property_read_variable_u32_array__pm_relaxmeasurement_start_showlpf_current_showavailable_rails_showenabled_rails_showlpf_power_showmeasurement_stop_showenergy_value_showext_sampling_rate_showodpm_write_rawodpm_read_raw__hwasan_store8_noabort__hwasan_load8_noabort__hwasan_store4_noabort__hwasan_load4_noabort__hwasan_store2_noabort__hwasan_load2_noabort__hwasan_store1_noabort__hwasan_load1_noabortiio_dev_attr_measurement_startkstrtointiio_dev_attr_lpf_currentodpm_configure_start_measurement__mutex_initalarm_initktime_get_with_offsetodpm_meter_sw_resets2mpg1x_int_acquisition_time_usodpm_io_update_bucken_enable_bitsodpm_suspend_resume_operations____versionsiio_dev_attr_available_railsiio_dev_attr_enabled_railsodpm_show_lpf_values__kstrtabns_odpm_get_lpf_values__crc_odpm_get_lpf_values__kstrtab_odpm_get_lpf_values__ksymtab_odpm_get_lpf_valuesodpm_custom_attributes_dev_erriio_dev_attr_lpf_powerodpm_driverplatform_driver_unregisterwakeup_source_unregisteriio_device_unregister__platform_driver_registerwakeup_source_register__devm_iio_device_registerodpm_alarm_handlerodpm_groupiio_dev_attr_measurement_stopstrcmpodpm_configure_chipodpm_iio_infos2mpg13_muxsel_to_current_resolutions2mpg12_muxsel_to_current_resolutions2mpg13_muxsel_to_power_resolutions2mpg12_muxsel_to_power_resolutionqueue_work_onstrlenodpm_parse_dt_rail__stack_chk_fails2mpg13_meter_set_muxsels2mpg12_meter_set_muxsels2mpg1x_single_channelalarm_cancelprintkodpm_periodic_refresh_workmutex_unlockmutex_lockof_property_read_strings2mpg1x_meter_set_async_blockings2mpg13_write_regs2mpg12_write_regs2mpg13_update_regs2mpg12_update_regs2mpg13_read_regs2mpg12_read_regscnprintfsscanfs2mpg13_ext_meter_onoffs2mpg12_ext_meter_onoffs2mpg13_meter_onoffs2mpg12_meter_onoffodpm_removealarm_start_relativeiio_dev_attr_energy_valuedestroy_workqueueflush_workqueuealloc_workqueues2mpg13_bulk_writes2mpg12_bulk_writeiio_dev_attr_ext_sampling_rateodpm_set_sampling_rateiio_dev_attr_sampling_ratelpf_current_storeenabled_rails_storelpf_power_storeext_sampling_rate_storeodpm_resumeof_find_node_by_nameinit_module__this_modulecleanup_module__mod_platform__odpm_id_device_table__pm_stay_awakeusleep_rangekfrees2mpg1x_meter_set_modeodpm_probeodpm_suspendof_get_next_childodpm_idodpm_take_snapshot_instant_lockeds2mpg13_bulk_reads2mpg12_bulk_read__sanitizer_cov_trace_pcdevm_kmallocdevm_iio_device_alloccancel_work_syncADDRESS_AT__UNIQUE_ID_alias269__UNIQUE_ID_license309$d.9__UNIQUE_ID_alias268$d.18__UNIQUE_ID_author308$d.8_note_7__UNIQUE_ID_depends267__UNIQUE_ID_description307$d.7__UNIQUE_ID_intree266$x.6__UNIQUE_ID_name265$x.5__UNIQUE_ID_vermagic264$x.4$d.4$d.3$d.12$d.2$d.11$d.1__UNIQUE_ID_scmversion270odpm_get_resolution_milli_iq30$d.10@ LYPTQRETHM@@} @n2M@H5M80@ %M0 @` 2Ng |Zw@`Pc]d@X^0hK0LoF0h0h@+@0clJ@}$h} o!e]g6