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 @{è_{ WOC@!RBRL@6R 7hN@R RA* 94Ab37_c67[3*7 @ @RRr @ RRR**BR**BR*z* _)@?T*OOWN{M_{L@ @*{_C{WO@  (@9L@*( 7QAq T +ih8J @BR*4*6!RBR&*6*@9tN@7@ @*6 @W*6hN@@  @  @WH@97"Rz*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@9H"7 _)@?'T*OSWR_QgPoO{N_u6(A7  )3B*((3(A)57zN@ R*HA9(R#6Ab7;cg6;7`7{N@H[RrvARkR>Racv|hy7hN@ R*A9(R#6Ab7;cg6;7*7{N@R*RRwAhA*R 9'yhj[ay| 7@9@7 4A R]hq(3T*XLqT@" RR*?wN@R!r"R*7 R3*(* 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"@**@ 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@ 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(@*!RBRe`7*i*6 Ҥ@@  q #*"R*C6* ***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*4Ab37_c67W3 _)@?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"RY7  _)@?TOFWE_DgC{B_s**S@@4*{WOL@B2B@q,TA7bAfA@HfAbA@?*4@9h6* *OBWA{è_@R*{OL@B@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_dlkmo=module_layout_psimple_open_single_release%_jseq_readڛseq_lseekos63completeݷasimple_read_from_buffer地__kmallocD{seq_printfsingle_open,EE___ratelimitXUprintk uqueue_delayed_work_onӅ3-system_wq Mset_bit*iwait_for_completion_timeoutGgdcancel_delayed_work_sync]cregcache_mark_dirtygoregmap_update_bits_baseDregmap_write[regcache_syncUrS__list_del_entry_validv\debugfs_remove_recursive zkfreekmalloc_order_traceh__list_add_validBdebugfs_create_u32,debugfs_create_fileCdebugfs_create_dir?__devm_regmap_init__stack_chk_failTjspi_sync~)Hmemcpydmemsetg__stack_chk_guard>լJmutex_unlock|clear_bite8^mutex_lock_Jcomponent_del}__dynamic_dev_dbgdevm_kfree$Z=dev_errcomponent_add __init_waitqueue_headkdelayed_work_timer_fn" ^init_timer_key __mutex_initFaof_property_read_variable_u32_arrayR0devm_kmallocedriver_unregisteroG__spi_register_driverGNU> -  D!(:Ndu `DH\D((D p1 < Jcq@ ` \(((!d"(G(j|P(x(((0( (/C(bPv @(h((\#$#T#p'*D$=%8N',a@'t'H *,X(L+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,HIIJJ@ J` J\#J#8IpJ#JD$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 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 }d wt    I6 IA I6 IA I6 IA I6 IA m t t t t< xP t tx t| t t K K K K I I I I I I I  I I I I 0 I 4 I8 I < I@ I D IH I L IX m` Kd Kh Kl K IH I IH I IH I IH I K K K K IH I$ IH( I, IH0 I4 IH8 IH mP KT KX K\ Kh Kl IY p It Kx IY | I K IY I K IY I o  q I I I I I I I I m r s4 qP I+ T I{X I+ \ I{` I+ d I{h I+ l I{p m q s  q K K K K s J J J J J J J JI6 I$ I6( I, I60 I4 I68 I@mHtL tP tT tII I I I I I ImKI I K I  I K I  I K I  IoKI7I K  I7 I K I7 I  K$ I7( I0o8K<I7@ID KH I7L IP KT I7X I\ K` I7d Ito|KI} I K I}  I K I}  I K I}  Ioxt t t tII I I I  I I I4qHILIP IT IXI \I` Id Ih I l Ip It I| I  I I  ImKr Kr Kr Krst t t ts$qu}wvwTu}wuwK K K  K(DI HIL I P IT I X I\ I ` Ihm|   rI I I  I I  I I I I I  I  I  I I  I$m0r4IO 8I< IO @ ID IO H IL IO P IXI \I` I d Ih I l It I |I I I  I I  I I  ImIz Io Iz  Io Iz  Io Iz  IomId I Id  I Id  I Id  IIII KP I II  I I$ I( I, I0 KP4 I 8 I@ ID IH IL KPP I T I` KPd I h IpoxKx|I) Io Kx I)  Io Kx I)  Io Kx I)  IooxK* K* K* K* III I III I$ I( II, I 0 I4 I8 II@ I D IL I P ITlIpHt Ix H| I H I HKII  K II  K II  K II oKR KR KR KRI II$ I( II,I 0I4 I8 II< I @ ID IH IIP I T I\ I ` Id|IH  I H  I H  I H K0Id  K0 Id  K0 Id  K0 Id oII I I  I$ I( I, I8mTI XI\ I ` Id I h Il I p I|mqqK: K: K: K:II I IIkIO I I Ik IO I I Ik IO Ik IO$mII I IIIO I I I IO I I I IO I IOmlIpIt Ix I|IIO I I I IO I I I IO I IOII I IIIO I I I IO I I I IO I IOm s(sPKTI8 XI\ K` I8 d Ih Kl I8 p It Kx I8 | Iot t t tKb Kb Kb Kb0vTw`Iq dIh Iq l Ip Iq t Ix Iq | ImvK@II K@ I I K@ I I K@ I IoI? I I?  I I?  I I?  Imt t t tLxltp tt tx tK K K Kvv wI I  I $ I( I , I0 I 4 IDmLI? PIT I? X I\ I? ` Id I? h Ipmxt| t t tKhI I Kh I  I Kh I  I Kh I  Io x t$ t( t, t4 K8 K< KH K v w I I. I I. I I. I I. m!IM!IT ! IM! IT!I) !I.! IM ! IT$! I) (! I.,! IM0! IT8! I) @(0AB@(0E @RXRXXR(a `