ELF@@ _  { WORbR(r `BA"#R 7@9 7B  {{" R "&*. B>tN*4*u*N*OCWB @{Ĩ_@{OL@NOA*{¨_{WO @N@R!r"R&7 R** R*OBWA{è_C{_WOC@  )L@ (@9*ԂA*7R*R^*2 ZRRbߖy~ؒ @)@?!TODWC_B{AC_**@{WOL@abbfH@h?@4*'h@ 9?q}h h@ 9?q}h?` T*ҕN@j@(T$RjAb 4RjAr 4RjA$R jtb R*uBhtth:h>6utR ut R*ubhtrtvhh6uvturuv@v6vvt!R R(rR`!R R(rR``*`Au*OBWA{è_{ OL@`jA`Bjbf6i"M(  Ҵ`btV 6iY( `t6i_( `At`AOB @{è_C{ _WOC@!RBRL@6R7hN@RA R*b 9 337_cA67_3*7 @ @RRr @ RRR**BR**BR** _)@?T*OPWO_N{MC_{L@ @*{_C{WO@  (@9L@* 7QAq( T +ih8J @BR*8* 6!RBR**`6*@9tN@(7@ @*6 @W *@6hN@@ @ @W@97"R*6*@96*  BA6uN@R!r"R6* R2*HB2B@qlTAh6@BAH6Ղ R54@9H 7*    *"  _)@? T*ODWC{BC_ R*@@*#{og_WO@ L@ 4C _q**X#3Bc7#57    r$?3@9$7 _)@?(T*OSWR_QgPoO{N_56(A7  )3B*((3(A)57zN@)RHA R*b9    7#7;cgA6;7@7{N@H[RrvARkR>Racv|hy7hN@ R*Ab9(R    7#7;cgA6;7*7{N@R*RRwAhA*R 9'yhj[ay| 7@9@7 4A ROhq(3T*J>qT@" RR*1wN@R!r"R*7 R%*(* R*** $3B   r %F Zw5{ O@97"R    "OB @{è_ 4@@{ O@97*    "OB @{è_ 4@@{og_WOC#@rTR#@@TRN@*uBhA7` @T@@w 4[@9H7@@*;44:R4**6X"@*m*@ 7{q9TZ5RkTR:R3r 3* 7|  9kZ* TR*74* 6    q#**o@|B@.@*v*?qCqTo@m_q T**4`    q#**@Mo@*@7KV 9C:qkT:R "@**7sQ9qZT4*L*6    q#**    q#***OFWE_DgCoB{A_C{_WOC@ L@ (@9AA*7@^ `R(* * ZR'y[RhRy[*4*!R*v @)@?T*ODWC_B{AC_{_WOC@ L@ )@9A** 7^ *2 ZRcy* 6* v @)@?aT*OEWD_C@{A_*@{_WOC )@ L@ I@96A8A** 7^(* `R * ZR??y?N!c6c(*`4*    #vO @)@?aT*OEWD_C@{A_*@{WO(@*!RBRW`7*i*6 Ҥ@@  q #*"R*56* ***OBWA{è_(@QAqTR(%_ R_?q RT*)R(!Ț )  !T(0Q1qT)R(!) R j@T_*_{ L@" B) B) ?T!Ԡ{_#{_{ g_WOC@hN@ B?AT B?TAR*RHR9@9(8  R* 3b37_cA67W3 _)@?TOQWP_OgN{M_{g_WOuyN@( BT(BT8A7AR*R(R9@9!9?'y8:[?y?4*4* *ODWC_BgA{Ũ_{0A{_{<@ M@ A ҿ A B QA 1B !1?!1*{_{g_WO@h@d@vN@BB44UR(rWB)s@9 7"RR7  _)@?TOFWE_DgC{B_s**S@@4*{WOL@B2B@q,TA7bAfA@HfAbA@?*4@9h6* *OBWA{è_@R*{OL@B@R OA*{¨_ >`````v`qcom,wcd-spi-v2ᆳP   $,048<@DLPTX\%s: Missing %s DT entry&wcd_spi->xfer_mutex&wcd_spi->clk_mutexwdsp_spi_initwcd_spi_transfer_split&x->waitwcd_spi_cmd_rdsrwdsp_spi_event_handler__wcd_spi_data_xferqcom,mem-base-addrwdsp_spi_dload_sectionwdsp_spi_read_sectionwcd_spi_dlkmwcd_spi_clk_ctrlwcd_spi_clk_workwcd_spi_write_multiwcd_spi_read_multiwcd_spimsgtx_bufrx_bufsizewcd_spi_bus_gwritewcd_spi_bus_writexfer_writewcd_spi_data_writestateimmediatewcd_spi_wait_for_resumewcd_spi_write_singlewcd_spi_read_singlewcd_spi_clk_disablewcd_spi_clk_enablespi devicewcd_spi_probe%s: Invalid input, reg_len = %zd, val_len = %zdwcd_spi_component_bindwcd_spi_can_suspendwcd_spi_suspenddelayeddisabledenabledunlockedwcd_spi_bus_readxfer_readwcd_spi_debugfs_mem_readwcd_spi_data_readtechpack/audio/asoc/codecs/wcd-spi.cwcd-spi-v2%s: addr = 0x%x, size = 0x%zx %s: mem_base_addr 0x%x %s: Failed to read %zu bytes from addr 0x%x %s addr 0x%x is not aligned to 0x%x %s: remote_addr = 0x%x %s: Invalid request, size = %u, addr = 0x%x %s: remote_addr = 0x%x, val = 0x%x %s: RDSR success, value = 0x%x %s: addr = 0x%x,len = %zu %s: addr = 0x%x, len = %zu %s: Failed debugfs init %s: updated clk_users = %d, request_%s %s %s: Unbalanced clk_users %d for %s 3%s: Invalid %s clk_state = %s clk_users = %d clk_mutex = %s xfer_mutex = %s %s: SPI suspended, cannot perform transfer %s: RDSR status is zero %s: resume successful %s: SPI suspended, cannot enable clk %s: Invalid size %zd %s: addr = 0x%x len = %zd %s: addr 0x%x, len = %zd %s: Failed, addr = 0x%x, len = %zd %s: %s not allocated %s: tx_buf not allocated %s: Unhandled event %d %s: spi_sync failed, err %d %s len 0x%zx is not multiple of %d %s: event type %d %s: clk_req failed %d %s: clk unvote failed %d %s: clk disable failed %d %s: clk enable failed %d %s: cannot suspend, clk_users = %d %s: Failed to disable clk err = %d %s: component_add failed err = %d %s: Failed %s, addr = 0x%x, size = 0x%zx, err = %d %s: Failed to allocate regmap, err = %d %s: Failed to disable clk, err = %d %s: cannot suspend, err = %d %s: Init failed, err = %d %s: register_cmpnt_ops failed, err = %d %s: RDSR failed, err = %d %s: CLK_REQ failed, err = %d %s: failed, err = %d %s: NOP2 failed, err = %d %s: NOP1 failed, err = %d %s: Failed, err = %d %s: failed to resume in %u msec %s: invalid data %s: fail addr (0x%x) size (0x%zx) %s: %s fail iter(%d) max-write addr (0x%x) %s: %s fail iter(%d) end-write addr (0x%x) %s: %s fail iter(%d) start-word addr (0x%x) %s: %s fail write addr (0x%x), size (0x%x) {{_{{_+ description=WCD SPI driverlicense=GPL v2vermagic=4.14.285-g5f00bf266851-ab8874763 SMP preempt mod_unload modversions aarch64name=wcd_spi_dlkmintree=Ydepends=alias=of:N*T*Cqcom,wcd-spi-v2alias=of:N*T*Cqcom,wcd-spi-v2C*L2h%mAndroid (7284624, based on r416183b) clang version 12.0.5 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee)wcd_spi_dlkmx'module_layoutCѯ3simple_open8%single_releaseBrseq_readu:-seq_lseekos63completeݷasimple_read_from_buffer地__kmalloc5[seq_printf %single_open,EE___ratelimitXUprintk uqueue_delayed_work_onӅ3-system_wq Mset_bit*iwait_for_completion_timeoutGgdcancel_delayed_work_syncAregcache_mark_dirty7:regmap_update_bits_base/Rsregmap_writeeEregcache_syncUrS__list_del_entry_validbdebugfs_remove_recursive zkfreekmalloc_order_traceh__list_add_validdebugfs_create_u32:`debugfs_create_filedebugfs_create_dirR-N__devm_regmap_init__stack_chk_failaUspi_sync~)Hmemcpydmemsetg__stack_chk_guard>լJmutex_unlock|clear_bite8^mutex_lockr*-component_del$__dynamic_dev_dbgtdevm_kfreesdev_err1_zcomponent_add __init_waitqueue_headkdelayed_work_timer_fn" ^init_timer_key __mutex_init,Ԡof_property_read_variable_u32_array4adevm_kmallocVdriver_unregistertL__spi_register_driverGNUH+h0  D!(:Ndu `DH\D((D p1 < Jcq<d  l((L(d"d"(G(j,|<P(x(((0( (/C(bvp @(h((#$#T@$p'*$=d&8N',a't`(H*,X(+H ' ' ' p' '(  .*UE'X m 'z     4 $5BQg} -@Tgx8@J`gt $xwcd_spi_driverwcd_spi_probewcd_spi_probe.descriptorwcd_spi_probe.__keywcd_spi_probe.__key.7wcd_spi_clk_work__init_completion.__keywcd_spi_component_opswcd_spi_removewcd_spi_write_singlewcd_spi_write_single.descriptorwcd_spi_component_bindwdsp_spi_opswcd_spi_regmap_cfgwcd_spi_regmap_busstate_fopsmem_read_fopswcd_spi_component_unbindwdsp_spi_initwcd_spi_clk_ctrlwdsp_spi_deinitwdsp_spi_event_handlerwdsp_spi_event_handler.descriptorwdsp_spi_dload_section.descriptor__wcd_spi_data_xferwdsp_spi_read_section.descriptorwdsp_spi_event_handler.descriptor.39wcd_spi_wait_for_resume.descriptorwcd_spi_data_readwcd_spi_data_writewcd_spi_clk_ctrl.descriptorwcd_spi_cmd_rdsr.descriptorwcd_spi_data_read.descriptorwcd_spi_data_read._rswcd_spi_data_write.descriptorwcd_spi_data_write._rswcd_spi_read_single__wcd_spi_data_xfer.descriptorwcd_spi_write_multiwcd_spi_read_multiwcd_spi_read_single.descriptorwcd_spi_write_multi.descriptorwcd_spi_read_multi.descriptorwcd_spi_is_readable_regwcd_spi_is_volatile_regwcd_spi_bus_write$dwcd_spi_bus_gwritewcd_spi_bus_readwcd_spi_state_openwcd_spi_state_showwcd_spi_debugfs_mem_readwcd_spi_suspendwcd_spi_suspend.descriptorwcd_spi_resumewcd_spi_of_match__UNIQUE_ID_description85__UNIQUE_ID_license86wcd_spi_pm_opswcd_spi_defaults.L21__UNIQUE_ID_vermagic61__UNIQUE_ID_name62__UNIQUE_ID_intree63____versions__module_depends__UNIQUE_ID_alias64__UNIQUE_ID_alias65init_module__this_module__spi_register_drivercleanup_moduledriver_unregisterdevm_kmallocof_property_read_variable_u32_array__mutex_initinit_timer_keydelayed_work_timer_fn__init_waitqueue_headcomponent_adddev_errdevm_kfree__dynamic_dev_dbgcomponent_delmutex_lockclear_bitmutex_unlock__stack_chk_guardmemsetmemcpyspi_sync__stack_chk_fail__devm_regmap_initdebugfs_create_dirdebugfs_create_filedebugfs_create_u32__list_add_validkmalloc_order_tracedebugfs_remove_recursive__list_del_entry_validregcache_syncregmap_writeregmap_update_bits_baseregcache_mark_dirtycancel_delayed_work_syncwait_for_completion_timeoutset_bitsystem_wqqueue_delayed_work_onprintk___ratelimitsingle_openseq_printf__kmallocsimple_read_from_buffercompleteseq_lseekseq_readsingle_releasesimple_open__mod_of__wcd_spi_of_match_device_tableJJD I,HIIJJd J J#J#8IpJ@$J$Jd&$f,I8 I< ID IXg`K"d K"h K"l K"xI-|G I- G I- G I- GhIG I G I G I GhJ J J Jij IfG j If G  j$ If( G, j4 If8 GHkLI`P I`T I`X I`hltIs xI&| Is  I& Is  I& Is  I&mII& I I& I I& I I&mnK IVI& K IV I&  K$ IV( I&, K0 IV4 I&<oPI`X I`\ I`` I`hptnqrI I I  I I  I I  ImrI I   I $ I ( I , I 0 I 4 I @mHsttx t| t tKJ KJ KJ KJuvvwt  t$ t( tXK(\I `Id K(h I l Ip K(t I x I| K( I  IoxH H H HIQ Id IQ  Id IQ  Id  IQ H H H  H(H, H0 HP H|yI Id I  Id I  Id I  IdmIA IA IA IAzII  I I  I I  I  I { I$ I( I0 I8|@I[D I[H I[P I[X|`IdIh Il Ip It Ix I| I{I Id I  Id I  Id I  Idmu}u@}l}~~8Tt|t t t t@ uh } w    I6 IA I6  IA I6 IA I6  IA m$ t( t, t0 t` xt  t t t t K K K K I I I I I I$ I ( I, I 0 I4 I T I X I\ I ` Id I h Il I p I| m K K K K IH I IH I IH I IH I K$ K( K, KP IHT IX IH\ I` IHd Ih IHl I| m K K K K K IY I K IY I K IY I K IY I o  q I  I I I$ I ( I0 I 4 I< mH rT sh q I+ I{ I+ I{ I+ I{ I+ I{ m q s  q K K K Ks J,$J<( J,, J<0 J,4 J<8 J,< J<PI6TIX I6\ I` I6d Ih I6l Itm|t t t tII I I I I I ImKI I K I  I K I  I  K I  I o0K4I78I< K@ I7D IH KL I7P IT KX I7\ IdolKpI7tIx K| I7 I K I7 I K I7 IoKI} I K I}  I K I}  I K I}  Ioxt t t t$I(I, I8 I< I@ IL IP Ihq|II I II I I I I  I I I I  I I  ImKr Kr Kr Krst t t tHsPXqu}wHvdwu} wLudwlKp Kt Kx KI I I  I I  I I  Im   <rDI HIL I P IT I X I` I hI lIp I t Ix I | I I  ImrIO I IO  I IO  I IO  II I I  I I  I I I I I  I I  I I  ImIz Io  Iz $ Io( Iz , Io4 Iz 8 Io@mDId HIL Id P IT Id X I\ Id ` IhIlIpIxKP| I II  II I I I KP I  I I I I KP I  I KP I  IoKxI) Io Kx I)  Io Kx I)  Io  Kx I)  Ioo(xLK*P K*T K*X K*xI|II I III I I II I  I I II I  I I  IIH I H I H I H KII  K II  K  II $ K( II 4o\KR` KRd KRh KRIII I III I I II I  I I II I  I I  IIH  I H  I H  I H  K0 Id $ K0( Id , K00 Id 4 K08 Id Do|II I I I I I ImI I I  I I  I I  Imqq@K:D K:H K:L K:<I@ID IH ILIkPIOT IX I\ Ik` IOd Ih Ip Ikt IO| Ik IOmII I II IO I I I IO  I$ I, I0 IO8 I< IOLmII I IIIO I I I IO I I  I IO I IO0I4I8 I< I@IDIOH IL IP IT IOX I\ Id Ih IOp It IOmssKI8 I K I8  I K I8  I K I8  Iot t t  t(Kb, Kb0 Kb< KbvwIq I Iq  I Iq  I Iq  ImvK@II K@  I$ I( K@, I0 I4 K@8 I< IHoPI? TIX I? \ I` I? d Ih I? l Itm|t t t txt t t tK K K KPv`vxwI I I  I I  I I  ImI? I I?  I I?  I I?  Imt t t t$ Kh( I , I0 Kh4 I 8 I< Kh@ I D IH KhL I P I` ol x t t t t K K K K!v4!w@!I D!I.H! I L! I.P! I T! I.X! I \! I.h!mp!IMt!ITx! IM|! IT!I) !I.! IM! IT! I) ! I.! IM! IT! I) ! I.! I) ! I.!m!v!t! t! t! t"K"I "I.$" K(" I ," I.0" K4" I 8" I.<" K@" I D" I.T"o`"x"I"I"I " I" I"I" I" I" I " I" I" I" I " I" I # I #m$#I (#I,# I 0# I4# I 8# I@# I D# IP#I T#IX# I \# I`# I d# Ih# I l# Ix#m#I #I# I # I# I # I# I # I#md$I h$Isl$ I p$ Ist$ I x$ Is|$ I $ Is$m$t$ t$ t$ t0%uT%v%u%}%w%I4%I`% I4% I`& I4& I`& I4 & I`&m$&t(& t,& t0& t`&x&u'w 'Iq 'I' Iq ' I' Iq ' I$' Iq (' I4'm<'I4@'ID' I4H' IL' I4P' IT' I4X' Id'm'v'J'' J'' J'' J'''I'I' I' I' I' I' I' I'I(I( I( I( I ( I((I ,( I0( I8( I D( I L( I P(|(t( t( t( t((K*( K*) K*) K*8)D)L)IP)IT) IX) I\) I`) Id) Ih) Ip)mx)t|) t) t) t)I )I)I) I ) I) I) I ) I) I) I ) I) I)*In*I* In * I* In* I* In* I,*m4*@*ID*HH* IL* HP* IT* HX* I\* Hd*l*Kp*II t* Kx* II |* K* II * K* II *o*x*q+s+q$+Kz(+ Kz,+ Kz0+ Kz<+KX@+I D+IH+ KXL+ I P+ IT+ KXX+ I \+ I`+ KXd+ I h+ It+o|+I+ +I{+ I+ + I{+ I+ + I{+ I+ + I{+m+s++q+r,,sJ*J+`JhJ(0J' J`(pb H b H b H b$ H(cH H  H  H eJ$FII&IIV(I0I8I@I PIXI`IhI xIIoII) IIII IIIIY IIII7I I(I0I8 @IHIPIXIhIpIxII II.II IIII7IIII} III II 0I8I@IHId XI`IhIpI Pad.symtab.strtab.shstrtab.init.plt.text.ftrace_trampoline.bss.rela.data.rela.text.rela.rodata.rela.init.text.rela.exit.text.rela__bug_table.modinfo.rela__verbose.comment.rela.gnu.linkonce.this_module__versions.note.gnu.build-id.note.GNU-stack @A%B=CGHHB@jPR,M@`kl]2.X@8 j=4e@( z>$u@x $> @x00>?@0AB@0F RRR(a a