ELF(@@ _N N { WORlR(r `rA"#R@ 7@9H 7B  {{  R 26:> R"Nt^*`4*w*^*OCWB @{Ĩ_@{O\@B ^OA*{¨_{WO @@^@R!r"R&7b R**b R*OBWA{è_C{_WOC@  )\@ (@9*ԪA*7R*R^*2 ZRRbߖy~ؒ @)@?!TODWC_B{AC_**@{WO\@abH@h?@4*'h@ 9?q}h h@ 9?q}h?` T*ҕ^@@(T$RAb 4RAr 4RA$R tb R*uBhtth:h>6utR ut R*ubhtrtvhh6uvturuv@v6vvt!R R(rR`!R R(rR``*`Au*OBWA{è_{ O\@`A`B6i"M(  Ҵ`btV 6iY( `t6i_( `At`AOB @{è_{ WOC@!RBR\@6R 7h^@R RA* 94Ab37_c67[3*7 @ @RRr @ RRR**BR**BR*z* _)@?T*OOWN{M_{\@ @*{_C{WO@  (@9\@*( 7QAq T +ih8J @BR*4*6!RBR&*6*@9t^@7@ @*6 @W*6h^@@  @  @WH@97"Rz*6*@96*  B.A6u^@R!r"R6*b RR*HBRB@qlT.Ah6@B.AH6Ղ "R54@9H 7*    *"  _)@? T*ODWC{BC_ R*@@*#{og_WO@ \@ 4C _q**X#SBc7#57    r$?S@9H"7 _)@?'T*OSWR_QgPoO{N_u6(/A7 )SB*((S(/A)57z^@ R*HA9(R#6Ab7;cg6;7`7{^@H[RrvARkR>Racv|hy7h^@ R*A9(R#6Ab7;cg6;7*7{^@R*RRwAhA*R 9'yhj[ay| 7@9@7 4Ac R]hq(ST*XLqT@" RR*?w^@R!r"R*7b R3*(*b R*** $SB   r %F Zw5{ O@97"R    "OB @{è_ 4@@{ O@97*    "OB @{è_ 4@@{og_WOC#@rTR#@@TR^@*uBh.A7` @T@@w 4[@9H7@@*;44:R4**6X"@**@ 7{q9TZ5RkTR:R3r 3* 7|  9kZ* TR*74* 6    q#**o@|B@I@*v*?qCqTo@m_q T**4`    q#**@Mo@*@7KV 9C:qkT:R "@* *7sQ9qZT4*L*6    q#**    q#***OFWE_DgCoB{A_C{_WOC@ \@ (@9AA*7@^ `R(* * ZR'y[RhRy[*4*!R*v @)@?T*ODWC_B{AC_{_WOC@ \@ )@9A** 7^ *2 ZRcy* 6* v @)@?aT*OEWD_C@{A_*@{_WOC )@ \@ I@96A8A** 7^(* `R * ZR??y?N!c6c(*`4*    #vO @)@?aT*OEWD_C@{A_*@{WO(@*!RBRe`7*i*6 Ҥ@@  q #*"R*C6* ***OBWA{è_(@QAqTR(%_ R_?q RT*)R(!Ț )  !T(0Q1qT)R(!) R j@T_*_{ \@" B) B) ?T!Ԡ{_#{_{ g_WOC@!h^@ B?aT B?TAR*RHR9@9(8  R*4Ab37_c67W3 _)@?TOQWP_OgN{M_{g_WOuy^@( BT(BT8A7AR*R(R9@9!9?'y8:[?y?4*4* *ODWC_BgA{Ũ_{lA{_{L@ ]@ -A ҿ A B aA QB !1?!1*{_{g_WO@h@@v^@CC44UR(rWC)s@9 7"RY7  _)@?TOFWE_DgC{B_s**S@@4*{WO\@BRB@q,T.A7ȂAȆA@HȆAA@?*4@9h6* *OBWA{è_b @R*{O\@Bb @R OA*{¨_ <\\\\\r\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.290-g5893d2fa9ec8-ab9086278 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_dlkm.;/module_layoutrsimple_open L&single_releaseVP\seq_readWxseq_lseekxmcompleteݷasimple_read_from_buffer地__kmallocseq_printfsingle_openX___ratelimitXUprintk uqueue_delayed_work_onӅ3-system_wq Mset_bit{Cwait_for_completion_timeoutGgdcancel_delayed_work_syncƿyregcache_mark_dirty:zregmap_update_bits_baseCHregmap_write)regcache_syncUrS__list_del_entry_validn??debugfs_remove_recursive zkfreekmalloc_order_traceh__list_add_valid.debugfs_create_u32HI0debugfs_create_file Fdebugfs_create_dirj__devm_regmap_init__stack_chk_fail,spi_sync~)Hmemcpydmemsetg__stack_chk_guardQmutex_unlock|clear_bitSLLmutex_lockC[:component_del~__dynamic_dev_dbgRv͠devm_kfree ~mutex_destroykudev_errvcomponent_add#\__init_waitqueue_headkdelayed_work_timer_fn" ^init_timer_keyf\__mutex_init!of_property_read_variable_u32_arrayZ devm_kmalloc Tdriver_unregisterDX__spi_register_driverGNU]s  \!(:Ndu `\XD((D p1 < J cqh  \((( "d"(G(j|P(x((80(08/C(bxv, @(h((#$#T#p'*l$=&8N<',ah't(HH*,X(t+H ' ' ' p' '(  .*UE'X m 'z     4 $5BQg}(;Nbu*FNXnu $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_errmutex_destroydevm_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_tableJJ\ I,HIIJJh J J#J#8IpJ#Jl$J&$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 J ijIfG j  If$ G( j, If0 G4 j< If@ GPkTI`X I`\ I`` I`pl|Is I& Is  I& Is  I& Is  I&mnnII& I I& I I& I I&mo K$IV(I&, K0 IV4 I&8 K< IV@ I&D KH IVL I&TphI`p I`t I`x I`qnnorsI I  I  I I  I  I $ I0m<s@I DI H I L I P I T I X I \ I hmptu u u uKJ KJ KJ KJvw(w@xDuH uL uP uK(I I K( I  I K( I  I K( I  IpyH H H HIQ Id  IQ $ Id( IQ 0 Id4 IQ <H@ HD HH HPHT HX Hx HzI Id I  Id I  Id I  IdmIA IA IA IA{II   I$ I ( I, I 0 I4 I @|HIL IP IX I`}hI[l I[p I[x I[}II I I I I I I|I Id I  Id I  Id I  Idmv~@vh~~$8`|u u u uD vp ~ x    I6  IA I6 IA I6  IA I6  IA( m, u0 u4 u8 ud yx  u u u u K K K K I I I I I $ I( I , I0 I 4 I8 I X I \ I` I d Ih I l Ip I t I m K K K K IH I IH I IH I IH I K K K KD IHH IL IHP IT IHX I\ IH` Ip mx K| K K K K IY I K IY I K IY I K IY I p  r I I I  I I  I$ I ( I0 m< sH t\ rx I+ | I{ I+ I{ I+ I{ I+ I{ m r t  r K K K KtJJ J  J$ J( J, J0 JDI6HIL I6P IT I6X I\ I6` Ihmput ux u| uII I I I I I ImKI I K I  I K I  I K I  Ip$K(I7,I0 K4 I78 I< K@ I7D IH KL I7P IXp`KdI7hIl Kp I7t Ix K| I7 I K I7 IpKI} I K I}  I K I}  I K I}  Ipyu u  u uII  I, I0 I4 I@ ID I\rpItIx I| II I I I I  I I I I  I I  ImKr Kr Kr Krtu u u u<tDLrv~x w<x|v~xv x(K, K0 K4 KPlI pIt I x I| I  I I  Im   sI I I  I I  I I $I (I, I 0 I4 I 8 I< I @ ILmXs\IO `Id IO h Il IO p It IO x II I I  I I  I I I I I  I I  I I  ImIz Io Iz  Io Iz  Io Iz  IomId I Id  I Id  I Id  I$I(I,I4KP8 I< I@I D IHIL IP IT IX KP\ I ` Ih Il Ip It KPx I | I KP I  IpKxI) Io Kx I)  Io Kx I)  Io Kx I)  IopyK*  K* K* K*4I8II< I@ IIDI HIL IP IIT I X I\ I` IIh I l It I x I|IH I H I H I HKII  K II  K II  K II pKR KR  KR$ KRDIHIIL IP IITI XI\ I` IId I h Il Ip IIx I | I I  IIH0 I H0 I H0 I H0K0Id  K0 Id  K0 Id  K0 Id p8I<I@ ID IH IL IP IT I`m|I I I  I I  I I  ImrrK: K: K: K:II I IIk IO I I Ik IO  I$ I, Ik0 IO8 Ik< IOLmII I IIIO I I I IO I I I IO I IOmII I IIIO I I I IO I I I IO I IOII I IIIO I I  I IO I I  I$ IO, I0 IO@mHtPtxK|I8 I K I8  I K I8  I K I8  Ipu u u uKb Kb Kb KbXw|xIq I Iq  I Iq  I Iq  ImwK@II K@ I I K@ I I K@ I Ip I? I I?  I I?  I$ I? ( I0m8u< u@ uD utyu u u uK K K K ww4x@I DIH I L IP I T IX I \ IlmtI? xI| I?  I I?  I I?  Imu u u uKhI I Kh I  I Kh I I Kh I I p( yH uL uP uT u\ K` Kd Kp K w x I !I.! I ! I. ! I ! I.! I ! I.$!m,!IM0!IT4! IM8! IT@0XAB@0E RR R@a `