ELFr@@%" btsdio?#Ո҈$ȇhVMT(H",T҈$ȇhV@TGX@T( ȓ #T1PU%l@T=ҨL5^ThҨ(\T!HH"T[hT ( ȓ T#?AT#_?#{@9qT{#_ )+ih8J @@*?#{ WO@hnHyA qTh@@Q9h7w" RR{{ `  ) ( *RH )*!H9@9%qL9( ), hnHyq!ThrHyqT"!)R1)7*twOC*WB @{Ĩ#_hrHyWjR kT)R k@T4R kT* }_)@ } Ȫ5?#{O@B@OA{¨#_?#{ O_tRr@*n@(9r@n@}S(9@yn@( 9@9n@( 9`_n@r@@7h_r@* EOI ER`_!R"Rh_ %O) %`_OB @{è#_?#{OHH@@7@*@7P9 qT*R@!RR*@*OA{¨#_?#{ HH`@`@*R`@`@`@ @*{¨#_?#{HH*{#_?#{ (@9HH qT qTqAT<<< @`) bBR@*`  @{¨#_?#{WOCA8aR%C@ 6!RbR@*R`7 @y@9A *Rr 2?kCTR*l@Q @*!)!l @*an@* 7@@9*AO Q qJ *A(Th9@7@* *@!R !O) !@RA8%C@ TOCWB{A#_?#{{#_?#{{#_author=Marcel Holtmann description=Generic Bluetooth SDIO driver ver 0.1version=0.1license=GPLvermagic=5.15.110-android14-11-gcc48824eebe8-ab11075071 SMP preempt mod_unload modversions aarch64name=btsdiointree=Ydepends=bluetoothalias=sdio:c02v*d*alias=sdio:c03v*d*alias=sdio:c09v*d*srcversion=F09D97B3CE32D9A1922B667scmversion=gcc48824eebe8LinuxLinuxbtsdio5module_layoutғ__stack_chk_failתAcpu_hwcap_keys5arm64_const_caps_readyӅ3-system_wqiLz__ubsan_handle_cfi_check_fail_abort!sdio_unregister_driverNKhci_unregister_devicancel_work_sync*squeue_work_on7skb_queue_tail@"skb_queue_purgeBsdio_release_irqؗ__alloc_skb0hci_recv_frameuskb_put]jsdio_readsb`Esdio_readb=T sdio_disable_funcsdio_claim_irqr2sdio_enable_funcphci_alloc_dev_priv=kfree_skb_reason<;sdio_writeb휦gskb_pullUsdio_writesb]քFskb_pushdfcsdio_release_host!E[skb_queue_headskb_dequeueE:sdio_claim_hostSdevm_kmalloc]yhci_free_dev9Dhci_register_devpRsdio_register_driverGNU|9\Frz{2GNU::{a,;0;DkT;X;;;_8`txy`bcf$gHjXhlidebl;;mii,n4edbxitneu$v(|4|8woips$q8plrjid;h;;;;;;;; ;(;,;HYL;P;W;;;;L;;;X;XX 99^;;@};;@~ 99z;;:H:;;Android (10087095, +pgo, +bolt, +lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362)_a !$*,.02468=@AB efPQRSTUVWXY  WXdx eL$XLCXq+L\L(\/X Xq#V)"@-kP-2_ k HOx "  6 b Hwcw }b Q5'w:#)] $$`"dL}d /@>Odrt7 \U@+O.note.gnu.property.note.Linux.rela.exit.text.rela.init.text.hyp.text.comment.init.plt.hyp.bss__versions.rela.data.btsdio_driver.modinfo.rela.text.__cfi_check_fail.note.GNU-stack.llvm_addrsig.text.ftrace_trampoline.rela.gnu.linkonce.this_module.rela__jump_table.note.gnu.build-id.shstrtab.strtab.symtab.hyp.rodata.rela.exit.data.rela.init.data.hyp.data.BTFarm64_const_caps_readyhci_alloc_dev_privhci_unregister_devhci_register_devhci_free_devskb_putsdio_claim_hostsdio_release_host__ubsan_handle_cfi_check_fail_abortbtsdio_interruptbtsdio_interrupt.cfi_jtbtsdio_open.cfi_jtbtsdio_work.cfi_jtbtsdio_flush.cfi_jtbtsdio_remove.cfi_jtbtsdio_close.cfi_jtbtsdio_send_frame.cfi_jtinit_module.cfi_jtcleanup_module.cfi_jtbtsdio_probe.cfi_jtcpu_hwcap_keys____versionssdio_unregister_driversdio_register_driverbtsdio_driversystem_wqsdio_claim_irqsdio_release_irqkfree_skb_reasonqueue_work_onbtsdio_openskb_pullskb_queue_tail__stack_chk_fail__cfi_check_failbtsdio_work__cfi_checkskb_pushbtsdio_flushbtsdio_removeskb_dequeuebtsdio_closehci_recv_framebtsdio_send_frame__cfi_jt_init_module__this_module__cfi_jt_cleanup_modulebtsdio_table__mod_sdio__btsdio_table_device_tableskb_queue_purgebtsdio_probeskb_queue_headdevm_kmalloccancel_work_syncsdio_disable_funcsdio_enable_funcsdio_writesbsdio_readsb__alloc_skbsdio_writebsdio_readb_note_9__UNIQUE_ID_version689$d.29$x.19__UNIQUE_ID_scmversion309$x.9_note_8__UNIQUE_ID_description688$d.28$x.18__UNIQUE_ID_srcversion308$x.8$d.8__UNIQUE_ID_author687$d.27$x.17__UNIQUE_ID_alias307$d.7$d.36$d.26$x.16__UNIQUE_ID_alias306$x.6$d.25$x.15__UNIQUE_ID_alias305$d.5$x.24$x.14__UNIQUE_ID_depends304$x.4$d.4$x.23$x.13__UNIQUE_ID_intree303$x.3$d.3$x.22$x.12__UNIQUE_ID_name302$d.2$x.21$x.11__UNIQUE_ID_vermagic301$x.1$d.1__UNIQUE_ID_license690$d.30$x.20$x.10X}'!'!'!'!'!'!@#7 /qA@IA2nA@[*'!9 (!O(!,(!? ;(!j@I(!O8[(!=@o(!=H(!=P(!X(!R`(!;p(!p(!:E@ * (!(!(!(!)!)!9)!8Aub p@ S]P6/ PA)!9H)!9S)!9_)!90 9`k)!P{`?y)!;X )!@ )!S0E$ R@)!PX)!P`)!PhQ j p)!}0)!Pp)!Px)!P)!}& 4*!P *!S*!P S*!S(*!S6*!P >*!P(N*!P0^*!P8l*!@y*!PH*!SP*!S`*!Pp*!Px*!S*!S*!P+!S+!S'+!S;+!SR+!Sh+!S+!S+!S +!S0+!S@+!SP+!S` ,!Sp,!S),!S7,!SF,!ST,!Sc,!Sq,!S,!P,!P,!S,!S,!S ,!S0,!P@-!PH-!PP#-!PX2-!P`al*@-!SZ-!St-!P-!S-!S-!S-!S-!P-!S -!S0.!P@.!SP%.!S`9.!SpE.!SV.!Sv.!S.!.!S.!S.!SkOS.!*.!S .!S0.!P@/!*`/!*/!*-/!*9/!PB/!SN/!S]/!* n/!*@~/!A`/!P1/!1?p2/!M@2/!`2/!2/!2/!2/!2/!3/! 3/!@3/!`3/!S30!S3 S3 0!S30!p3"0!p4.0!p@490!P4H0!P4E4W0!5;~@5D6e0!~;q0!S<0!<0!A@E0!I0!~M0!~@O~~P0!~@R0!~S0!~@U0!~V0!~@X1!Y1!^%1! @b*1! c01! c61!T d bd?1!@fJ1!*gU1!* g`1!T @gh1!-gq1!-g1!8h1!@l1!=`l1!l1!=l1! l1!~m1!<ouI< o 2!=@o=Ho2!OPo(2!9Xo22!OoA2!oP2!p^2!Cph2!Aru2!Ar2!As(!As2!At2!At2!Au2!Au2!Av2!Av2!Aw2!Aw 3!Ax3!AxMDyV"M@z&3!z.3!zw{\@{eKV@63!C3!EȜL3!PY3!Eg3!Py3!A3!@3!P`3!Sp3!3!3!3!3!* 4!@4!94!=*4!F@F#*FNwF`F@8 ILK:4!MF@C4!OL4!QW4!Uc4!W@%%%%@PPp4!S<Sz4!S 4!S0WDB@P4!(8A4!4!4!4!4!4! (4!*4!* 4!*@4!*`4!*4!*5!* 5!*5!*5!* PG H>J HT L HN HOP H=R HST 9V HX =H"5!;5!P5!l5!5!5!5!5!5!6! =6! ^6! |6! 6! 6!6!6!7![@7!X߫H7|@E~~ ^L7!_R7!bV7!dZ7! Od7!O;Rq7!O ]@z7! 7!O)Oh%O'IO7!OO7!R7!R BO07!@A)!9P`a7!7!7!O7!e7!h7!R7!O7!Oc@7!fg HOR8!ij HORT cm# " 7| W}%8! n28! @8! ñ ߫HL8! rX8! re8! r ߫HycT r8! v8! DISCOVERY_STOPPEDDISCOVERY_STARTINGDISCOVERY_FINDINGDISCOVERY_RESOLVINGDISCOVERY_STOPPINGdiscovery_statelast_adv_addrlast_adv_addr_typelast_adv_rssilast_adv_flagslast_adv_datalast_adv_data_lenreport_invalid_rssiresult_filteringlimitedrssiuuid_countuuidsscan_durationbdaddr_tBT_RUNNINGBT_SUSPEND_DISCONNECTBT_SUSPEND_CONFIGURE_WAKEINTERLEAVE_SCAN_NONEINTERLEAVE_SCAN_NO_FILTERINTERLEAVE_SCAN_ALLOWLISThci_devbdaddrsetup_addrpublic_addrrandom_addradv_addr_typeshort_nameeirappearancemajor_classminor_classmax_pagele_featuresle_accept_list_sizele_resolv_list_sizele_num_of_adv_setsle_stateshci_verhci_revlmp_verlmp_subvervoice_settingnum_iacstored_max_keysstored_num_keysio_capabilityinq_tx_powererr_data_reportingpage_scan_intervalpage_scan_windowpage_scan_typele_adv_channel_maple_adv_min_intervalle_adv_max_intervalle_scan_typele_scan_intervalle_scan_windowle_scan_int_suspendle_scan_window_suspendle_scan_int_discoveryle_scan_window_discoveryle_scan_int_adv_monitorle_scan_window_adv_monitorle_scan_int_connectle_scan_window_connectle_conn_min_intervalle_conn_max_intervalle_conn_latencyle_supv_timeoutle_def_tx_lenle_def_tx_timele_max_tx_lenle_max_tx_timele_max_rx_lenle_max_rx_timele_max_key_sizele_min_key_sizediscov_interleaved_timeoutconn_info_min_ageconn_info_max_ageauth_payload_timeoutmin_enc_key_sizemax_enc_key_sizepairing_optsssp_debug_modehw_error_codeadvmon_allowlist_durationadvmon_no_filter_durationenable_advmon_interleave_scandevid_sourcedevid_vendordevid_productdevid_versiondef_page_scan_typedef_page_scan_intdef_page_scan_windowdef_inq_scan_typedef_inq_scan_intdef_inq_scan_windowdef_br_lstodef_page_timeoutdef_multi_adv_rotation_durationdef_le_autoconnect_timeoutmin_le_tx_powermax_le_tx_poweresco_typelink_policyidle_timeoutsniff_min_intervalsniff_max_intervalamp_statusamp_total_bwamp_max_bwamp_min_latencyamp_max_pduamp_typeamp_pal_capamp_assoc_sizeamp_max_flush_toamp_be_flush_toloc_assocflow_ctl_modeauto_accept_delaycmd_cntacl_cntsco_cntle_cntacl_mtusco_mtule_mtuacl_pktssco_pktsle_pktsblock_lenblock_mtublock_cntacl_last_txsco_last_txle_last_txle_tx_def_physle_rx_def_physreq_workqueueerror_resetdiscov_timeoutdiscov_offservice_cachencmd_timerrx_workcmd_workdiscov_updatebg_scan_updatescan_updateconnectable_updatediscoverable_updatele_scan_disablele_scan_restartrx_qraw_qcmd_qsent_cmdreq_wait_qreq_statusreq_resultreq_skbsmp_datasmp_bredr_datadiscoverydiscovery_old_statediscovery_pausedadvertising_old_stateadvertising_pausedsuspend_notifiersuspend_preparesuspend_state_nextscanning_pausedwake_reasonwake_addrwake_addr_typesuspend_wait_qsuspend_tasksconn_hashmgmt_pendingreject_listaccept_listlink_keyslong_term_keysidentity_resolving_keysremote_oob_datale_accept_listle_resolv_listle_conn_paramspend_le_connspend_le_reportsblocked_keyshw_infofw_infoadv_tx_poweradv_dataadv_data_lenscan_rsp_datascan_rsp_data_lenadv_instancesadv_instance_cntcur_adv_instanceadv_instance_timeoutadv_instance_expireadv_monitors_idradv_monitors_cntirkrpa_timeoutrpa_expiredrpainterleave_scan_stateinterleave_scanhw_errorset_diagset_bdaddrcmd_timeoutprevent_wakeamp_assocrem_lenlen_so_farhci_conn_hashacl_numamp_numsco_numle_numle_num_peripheralhci_dev_statserr_rxerr_txcmd_txevt_rxacl_txacl_rxsco_txsco_rxbyte_rxbyte_txHCI_QUIRK_RESET_ON_CLOSEHCI_QUIRK_RAW_DEVICEHCI_QUIRK_FIXUP_BUFFER_SIZEHCI_QUIRK_FIXUP_INQUIRY_MODEHCI_QUIRK_BROKEN_LOCAL_COMMANDSHCI_QUIRK_BROKEN_STORED_LINK_KEYHCI_QUIRK_EXTERNAL_CONFIGHCI_QUIRK_INVALID_BDADDRHCI_QUIRK_USE_BDADDR_PROPERTYHCI_QUIRK_STRICT_DUPLICATE_FILTERHCI_QUIRK_SIMULTANEOUS_DISCOVERYHCI_QUIRK_NON_PERSISTENT_DIAGHCI_QUIRK_NON_PERSISTENT_SETUPHCI_QUIRK_WIDEBAND_SPEECH_SUPPORTEDHCI_QUIRK_VALID_LE_STATESHCI_QUIRK_BROKEN_ERR_DATA_REPORTINGHCI_QUIRK_NO_SUSPEND_NOTIFIERHCI_QUIRK_BROKEN_READ_TRANSMIT_POWERbtsdio_datal2capscohcibt_skb_cbforce_activeincomingl2cap_ctrlsframesarreqseqtxseqpsml2cap_chansco_ctrlpkt_statusreq_completereq_complete_skbhci_ctrlreq_flagsreq_eventhci_req_complete_thci_req_complete_skb_tbtsdio_probebtsdio_removebtsdio_workbtsdio_openbtsdio_closebtsdio_flushbtsdio_send_framebtsdio_interrupt @ s`G20OD XS@ ] C o @/h!5 $0@07H! @x7!%$ $ @8H!dH _@P8!TP O@h8!X vq@8`!J08Lo93!0"@@90!f&/$/ :;: #W)F~3GyM%0 *H 01 0  `He0  *H 1o0k0F0.1,0*U #Build time autogenerated kernel keyMRF|)0  `He0  *H 2•pi:tń-GPVr{ɺDv"T&Ud8ŏI .4_d@. tVǛ zP6*f7( t)]۟3b$'2(T9J>*iΫcb4XBgBʦb{n_g|emPzoh"g6|EtuZuTT{qiflV"KpOgǗI Upd&~{E 7͡臒Гy0u~J2 P8r9uХBJ\|lQb~Module signature appended~