ELF> @@2/}sHƶo:ę[b;Mt*}U0 UHAWAVAUATSHheH%(HEH,CIIAD#-H=` HHH1 Aƅ HHHLDD 艃DǃHHHHHHH(HHHHHHHHu Ht4ƃYHu\HtRHǀEHHǀHHHpHtHHHHxHtHHHtzHHǃHǃHHHǃHH 1E11HHH=`Mt+IHtH8HtHuƃXXu0ǃH=P H HHAŅtH A|$<HEHEHEHEHEHEHEHEHEHEHDžxHDžpLp LHDEI$HELIHH=)IL(L HH@LHHHHHǃPHLHHLtrAHHtHHtLHIc4AHHtHDEHIceH%(H;EuDHHh[A\A]A^A_].IHDHHf5YUHLMt1AESt .].L_hAx0ESt .].ئUHSHHLAK ESt .HxH{HH[].fD}UHAVSHLLHHL[A^].UHAWAVSHL(LtH(1H'Xt LDLEuǃ`HH1HtHHHHtH1[A^A_].@­UHHHH1].UHAWAVATSHPIHeH%(HE؋aMgLLHaHLH HSZ/DHH iʚ;A)HAG H D )ʍIuQIHIуLHHH߾1yHIL]HEHEHEHEHEHEHEH}H}HEHUHHu1eH%(H;EuHP[A\A^A_].g@UH勇].ff.P-UHHO8~*LG@1 HI`H9tA9pDuA9PHu1I ].@P-UHAWAVATSAAIHHIA8A~-HQ@1 HH`H9tD9bDuD9zHuE1HEA HD[A\A^A_].ffffff.#UHHHHH].D( UHHǸ].D`UHAWAVATSHIYuCM(LAXt LELEqM u/RIHCHCPHi HEиHɚ;HCHH}%H9Hiʚ;HM^`LA ESt .HsHk}H}H IcV(H9HcH9M^HLAESt .HCI1xI~PtYM^XLAxc!ESt .CiC E9;9|5M^PLA]ESt .H[A\A^A_].Hlz-UHHL_pMt1AESt .].L_hAx0ESt .].fff.lz-UHHHF1].P緐UHAWAVATSHIYu;M(Lu[AXt LELEu3ILHAu5ԴESt .[A\A^A_].H̸UHAWAVAUATSHXAeH%(HELIW@AG8@Ht7I1 HI`H9t$E9uDuA9]HuM@9u1ME1AEt9AA9_0w)AtA A9_4@}HUMLADA ׎CESt .pD}LeHEHEHEHEHEHEHEHEAtAuCHEHEHEEHEMHuL1A@TpESt .HEIEDH@HM,IDALDADHHEHEHEHEHEHEHEHEt u7HM EHMMHuL1A@TpESt .EuA]1eH %(H;Mu/HX[A\A]A^A_].HDDfuАUH1].ffffff.OUHAWAVAUATSHHAeH%(HEHEHEHEHEHEHEHEHEHDžHDžHDžLHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžxHDžpHDžhHEHEHDžxHDžpHDžhHDž`HDžXHDžPHDžHHDž@HDž8HDž0HDž(HDž HDžHDžHDžHDžHDžHDžHDžHDžHDž`HDžXA1ہ =@LA=`A=A =A=AA=@: A =8@A=`@SA=`@fA=@CtAA=@C @HHHHH=E1A1 A=@A=PtAA =P EHEHDž|HDžtHDžlHDždHDž\AD$(@AD$,DAD$0HAD$4LAD$H}IeH%(H;Eu&LH8[A\A]A^A_].tH}g@̸UHAWAVATSLMcg8MHELH HhAHDHcH HpHDHH@11HhLIMO@ILLfDHDHHpLHH`H H9uHpHxHǃxHHE1D[A\A^A_].HhHHǃhAHǃpffffff.\CߐUHAWAVAUATSHHHX8HHMHUL>Lp@AHE1K<.HǸLtII`L9uH_EH]HxOLLHu5HH@@Ft(F$(LH}HDDHcHH[A\A]A^A_].@UHAWAVAUATSH HHIeH %(HMLEEHUHMHHIIDp8E~zLmH]M,$HX@E1HLtIH`M9uJELuxAIHIu'ŰMLDAHEMcLD}eH%(H;EuLH [A\A]A^A_].@( UHSHHpHh[].@8&=UHHHFHH9tOHH9tCHH9tH9}H Hiʚ;HuLILLHHS1eH %(H;MuH[A^A_].D5YUHAWAVSHILLu+ILILLHHS1[A^A_].fff.paUHAWAVSHIHGHLA=ESt .uH9}I Liʚ;LvLLu#HHHLL1[A^A_].fff.g򐐐UHAVSIHHu"ILIHL[A^].fffff.%mUHSHeH%(HEHH(HEHEHLHuAx0ESt .HEH}%H9H>H9}H Hiʚ;H]eH%(H;EuHH[].ű6UHAVSHHH=rH[1H1Hy AHH=DHH@H[A^]. g@UHH==H].$$$$$$$$$ptp virtual clocke3driver cannot use function %u and channel %u on pin %u periodmax_phase_adjustmentonly physical clock in use now max_adjustment&ptp->pincfg_mux3ptp: failed to allocate device region %u %lld %u n_vclocks&ptp->tsevq_muxptp%d3ptp: failed to allocate class %s n_programmable_pins%u %u3ptp: physical clock is free running %d &ptp->tsev_wqmemcpy3failed to register pps source ptp%d_virtmax value is %d max_vclocks3failed to create ptp aux_worker %d 6PTP clock support registered %u %dguarantee physical clock free running pps_enable&ptp->n_vclocks_muxn_alarms3failed to create posix clock pps_available%u %u %u %lld %u %lld %u%d%u delete virtual clock ptp%d pinsn_periodic_outputsextts_enablefifon_external_timestamps&vclock->lockclock_namenew virtual clock ptp%d ptpauthor=Richard Cochran description=PTP clocks supportlicense=GPLvermagic=6.6.66-android15-8-g807ce3b4f02f-ab12996908 SMP preempt mod_unload modversions name=ptpintree=Yscmversion=g807ce3b4f02fretpoline=Ydepends=pps_coreptp_find_pin_unlockedptp_clock_eventptp_find_pinptp_clock_indexptp_clock_registerptp_schedule_workerptp_cancel_worker_syncptp_clock_unregisterLinuxLinuxptpwmQEkmalloc_caches&1kmalloc_traceV҉ida_alloc_rangeq__mutex_initT__init_waitqueue_headƌkthread_delayed_work_timer_fnYyinit_timer_key7kthread_create_workerZ%strcmp zkfreenJnesnprintfA8pps_register_sourceLdevice_initialize ždev_set_name uposix_clock_register6iDpps_unregister_sourcekthread_destroy_workerOput_device~_printkBida_free9[__x86_return_thunk__stack_chk_failkO(__x86_indirect_thunk_r11QLkthread_queue_delayed_workg ,mutex_lock_interruptible#Ydevice_for_each_childUmutex_unlockDC__wake_up#H&kthread_cancel_delayed_work_syncposix_clock_unregister 4_raw_spin_lock_irqsavep\_raw_spin_unlock_irqrestorex8ktime_get_snapshotens_to_timespec643pps_event{mutex_lock80kthread_mod_delayed_work_Wclass_create+/alloc_chrdev_regionrclass_destroy3`unregister_chrdev_region ida_destroyc]memdup_userr _copy_to_usere_copy_from_usercapableƞktime_get_real_ts64Hۈ__check_object_sizeuyHinit_wait_entry&prepare_to_wait_eventQscheduleTfinish_waitE:#__kmallocasysfs_emitnsscanfAl;kstrtouints_dev_info@Edevice_for_each_child_reverse_dev_err8߬imemcpyfortify_panicX"timecounter_initd_raw_spin_lock4K_raw_spin_unlock,?timecounter_cyc2time;votimecounter_ready`synchronize_rcu"cmodule_layoutGNUyg&XIm*4GNURoYdh{ p q o o 1 o) U0 o5v l l lP !0 5h +mY a} l  $5=D NIel pt  j5<z p+? lDWh :U!     ] g        9 u  *      L       * Fsz VHtTQuVLs~u z  !5!m!L|!!A"N"^"l""""## 1#^#k#r## # M$ l%U$ l&$ $$Y%%%% |% %N& $S& &&&&''D'P'X'' p' p' p' p' p' p8' pX'' ($(( (  )1)6)z))** %*5*@*W*+ + W+~++&,A, F, {,,,,-  --(----4. 9.m. lp/r..// #/5/ VDO o] +bp u|  &o07 p<Cl l l0 l` (08HXlp'hp xl8lp9l9(l:0l:Android (11368308, +pgo, +bolt, +lto, +mlgo, based on r510928) clang version 18.0.0 (https://android.googlesource.com/toolchain/llvm-project 477610d4d0d988e69dbc3fae4fe86bff3f07f2b5)BUCDEFGHI "h (*+,-./013578 "$&(*,.0R24 789:;<= 7= >?#%&()*+,.qP px(p0pX8p@pHpPpXp8`phpppxppp8l@(lP):lp*&l+(l,0l@-8Hl/Pl00XAhl1xl1vl@2El2l2l03(l38nHl3ll3lx l l l7 ls l l $l (l,l0lD4l8l<l@lDlHlLlTPlsTlx Xl)\lU+`ly,dl1hlh6ll7plK;lll@ llll l l0 $l (l0 ,lp 0l 4l 8l <lP @lDlHlLl0 Pl Tl#Xl$\l%`l 'dl`'hl0(ll@)pl`*tl+xl,|l0-l`/l/l 0lp1l1l02l2l2l 3lp3l3l4l6l 7l7l@8l8l`9l9lp:l:mnlll: lllll l $l (l ,le 0l 4l 8l <l @lJ Dl HlqLlPlTl Xl\#\l$`l%dl'hlV'll'pl'tl (xl"(|l/)lU*l|+l,l&-l/l/l 0lV1l1l2lp2l2l3l`3l3l4l5l7l7l/8l8lO9l9l^:l:l;mnAlgll lll4l l4 ll$l(l,l0l`4l|8l<l@l Dl#Hl4Ll<PlHTldXls\l~`ldlhlllpltlxl|lll*lClVlgllllll ll9lTlllll l l\ l l l l l l l l l lllllU llGllsl lS$lP(l,l0lt4l8l<l@lDlHlLlPlKTlrXl}\l`ldlhl ll!pl4!tl{!xl!|l@"lM"l]"lk"l"l"l"l#l#l0#lj#lq#l#l#l$lX%l%l%l%lR&l&l&l&l&l'lC'lO'l(l5)ly)l)l*l$*l4*l?*l+ l+l%,lE,l,l, l -$l-(l-,l-0l-4l8.8lq.<l.@l"/DlG/HlN/Ll/Pl/Tl0Xlo0\l0`l0dl1hl 1ll11pl\1tlh1xl1|l2lh2l2l3lX3l3l3lA4lh4l4l5l"5l]5ln5lz5l5l5l6l6l6l6l7lM7lg7lr7lz7l7l8l8lc8l8l8l8l8l8l(9 l@9l9l9l%:lI: lQ:$l:(l:,l:0l:4l;8m"<m=@maDmtHmLmPnTn/Xn;ll#l0' l 4lP8$(D,&048& &4 &<@'D&HLP&TXW\&k& 3P[ n    P+PJ M%@ ( (" U  O  $  T  P0 J  ` P c#22>Q %j &$d % p' `'  \  1  7 "8 X ~ @(x 0(P)@) p* `* + +,l,T @-N 0-( p/^" `/z/2t/< 00=6  0%1Rp1151@2602262E26?2036  3h36bp3Y36S3P(i x x    C  E 8 Lxz6 70A T  ~  07dt6  77 8 8< p9J6 `9 9 9k :Re p: : :   !#%Dp%&$%%&"0%\%& %4%&%'%&<> % %&^ H%Wh%&TH%k %&i " +'']YO   *''(*%,0 @ Lh  @ +s  :f O? u F( a \  2R #Ql    _ | [{ ; r 0',U   P8ox   R 0   : 0 p      s  7  j& (tCM@ d  0V ~0    < 7# , ~ '1G 4B pA4E  g ~ y@8.note.gnu.property.data..read_mostly.note.Linux.rela.exit.text.rela.init.text.rela.text.comment.bss__kcfi_traps.rela.kcfi_traps__versions__ksymtab_strings.rela.return_sites.rela.call_sites.rela.cfi_sites.rela.retpoline_sites.rela__patchable_function_entries.rela___ksymtab+ptp_clock_register.modinfo.rela.ibt_endbr_seal.note.GNU-stack.llvm_addrsig.rela.gnu.linkonce.this_module.note.gnu.build-id.shstrtab.strtab__ksymtab.symtab__kcrctab.rela.rodata.rela.exit.data.rela.init.data.rela.data.BTF.rodata.str1.1init_wait_entrymemcpyclass_destroyida_destroyinit_timer_keyptp_vclock_register.__keyptp_clock_register.__key__cfi_ptp_vclock_gettimex__kstrtabns_ptp_clock_index__cfi_ptp_clock_index__crc_ptp_clock_index__kstrtab_ptp_clock_index__ksymtab_ptp_clock_index__cfi_n_per_out_show__cfi_max_phase_adjustment_show__cfi_n_ext_ts_show__cfi_pps_show__cfi_n_pins_show__cfi_max_vclocks_show__cfi_n_vclocks_show__cfi_extts_fifo_show__cfi_ptp_pin_show__cfi_n_alarm_show__cfi_max_adj_show__cfi_clock_name_showsynchronize_rcuptp_devtktime_get_snapshotkstrtouintprepare_to_wait_eventpps_event__kstrtabns_ptp_clock_event__cfi_ptp_clock_event__crc_ptp_clock_event__kstrtab_ptp_clock_event__ksymtab_ptp_clock_eventdev_attr_max_adjustmentdev_attr_max_phase_adjustment__mutex_inittimecounter_initsysfs_emitfinish_waitdev_attr_n_periodic_outputsptp_classptp_attrsptp_groups__cfi_ptp_cleanup_pin_groups__cfi_ptp_populate_pin_groupsptp_clock_opsdev_attr_n_external_timestamps____versionsdev_attr_n_programmable_pinsdev_attr_n_alarmsdev_attr_max_vclocksdev_attr_n_vclocks__cfi_ptp_clock_getreskmalloc_caches_dev_err__cfi_ptp_vclock_unregisterposix_clock_unregister__kstrtabns_ptp_clock_unregister__cfi_ptp_clock_unregister__crc_ptp_clock_unregister__kstrtab_ptp_clock_unregister__ksymtab_ptp_clock_unregister__cfi_ptp_vclock_registerposix_clock_register__kstrtabns_ptp_clock_register__cfi_ptp_clock_register__crc_ptp_clock_register__kstrtab_ptp_clock_register__ksymtab_ptp_clock_registermemdup_user_copy_to_user_copy_from_user__cfi_ptp_aux_kworkerkthread_destroy_workerkthread_create_worker__kstrtabns_ptp_schedule_worker__cfi_ptp_schedule_worker__crc_ptp_schedule_worker__kstrtab_ptp_schedule_worker__ksymtab_ptp_schedule_workerptp_group__wake_upstrcmp__cfi_ptp_vclock_getcrosststampptp_clocks_map_dev_infoptp_vclock_infodev_attr_fifounregister_chrdev_regionalloc_chrdev_region__kstrtabns_ptp_find_pin__cfi_ptp_find_pin__crc_ptp_find_pin__kstrtab_ptp_find_pin__ksymtab_ptp_find_pin__kcfi_typeid_kthread_delayed_work_timer_fn__cfi_ptp_open__kcfi_typeid_ptp_open__cfi_ptp_ioctl__kcfi_typeid_ptp_ioctl__cfi_ptp_poll__kcfi_typeid_ptp_poll__stack_chk_fail_printkkthread_queue_delayed_workkthread_mod_delayed_work__x86_return_thunkmutex_unlock_raw_spin_unlock__cfi_unregister_vclockmutex_lock_raw_spin_lockvclock_hash_lock__cfi_ptp_vclock_refreshvclock_hashsnprintfsscanf__check_object_sizedevice_initialize_raw_spin_lock_irqsaveclass_createdevice_for_each_child_reverse__cfi_ptp_clock_release_raw_spin_unlock_irqrestore__cfi_max_vclocks_store__cfi_n_vclocks_store__cfi_ptp_pin_store__cfi_extts_enable_store__cfi_pps_enable_store__cfi_period_store__cfi_ptp_vclock_adjfine__cfi_ptp_vclock_settime__cfi_ptp_clock_settime__cfi_ptp_vclock_gettime__cfi_ptp_clock_gettime__cfi_ptp_vclock_adjtime__cfi_ptp_clock_adjtimetimecounter_cyc2timedev_set_namedev_attr_clock_name__cfi_init_module__this_module__cfi_cleanup_moduleschedulemutex_lock_interruptible__cfi_ptp_is_attribute_visiblecapabledev_attr_extts_enabledev_attr_pps_enabledev_attr_pps_availableida_alloc_rangekfreeida_freepps_unregister_sourcepps_register_sourceput_devicekmalloc_tracedev_attr_perioddevice_for_each_child__kstrtabns_ptp_find_pin_unlocked__cfi_ptp_find_pin_unlocked__crc_ptp_find_pin_unlocked__kstrtab_ptp_find_pin_unlocked__ksymtab_ptp_find_pin_unlockedtimecounter_read__cfi_ptp_read__kcfi_typeid_ptp_read__cfi_ptp_vclock_read__init_waitqueue_head__kmalloc__kstrtabns_ptp_cancel_worker_sync__cfi_ptp_cancel_worker_sync__crc_ptp_cancel_worker_sync__kstrtab_ptp_cancel_worker_sync__ksymtab_ptp_cancel_worker_synckthread_cancel_delayed_work_sync__cfi_ptp_set_pinfuncfortify_panicptp_vclock_cc__UNIQUE_ID_scmversion259__UNIQUE_ID_author339__UNIQUE_ID_intree258__UNIQUE_ID___addressable_cleanup_module338__UNIQUE_ID_name257__UNIQUE_ID___addressable_init_module337__UNIQUE_ID_vermagic256_note_15ptp_clock_register.__key.5ktime_get_real_ts64__cfi_ptp_getcycles64ns_to_timespec64_note_14ptp_clock_register.__key.3__UNIQUE_ID_depends261__UNIQUE_ID_license341__x86_indirect_thunk_r11ptp_clock_register.__key.1__UNIQUE_ID_retpoline260__UNIQUE_ID_description340'''8'/'/'@//@'$ d @33//_/d '8/n/$ /@'11@0#`'!'-':'H'W'h'x'''/'`;/L@ /%{x&$ &'/@&'&'/&'@''@' '&@'f'e'_x-''6'B'%gL'@Z'ak'aȲ/v'2@'@' `' ' ' F W/'/@'/'/'/'/@'/'/'/'/@'/'/:/'y/@*'//6'`2{$ {@d `/ // // // // /T / /T +~/ /./ /~/ // // /// //C'/͓/N'@^'`m'/w'/' ':~L'e*L@ T ( '`2и h/@L/ / '('  '/@'/'11@`')/Q  (@/ ' 4/$d /'H!'//@/('@R.. ///]J9'/C' $ /@S'b' // //j'@t///d ' P' ' ' @' `F ' ' ' ' d 4> /''d B ۵// K/'@'d B ۵// 3// // D -' ' 0' "' /' I' Z' 0l' y' ' ' ' ' 0' 0' 0' ' 76 '/' 0' 0 :/-*' 0 '/;/C' 0 :/T <' 0M' 0 '/_' 0 //o' 0'   :/~' 0' 0 '//{' #0' #0 /۵T ' &0 :/ ' (0' n ://  ' +0 ' ' ' 0 d:/^2Y5 ' /0> ' 0 W:/V ')o_^ ' 20 '/ g ' 40 '/Ld/{{ ' 60 '/ ' ' 80 '/  ' :0 '/. ' <0 '/۵T ' >0 '/۵T '+~ ' @0 JR.!' B0 '/!' D0 /!'/$!' F0 '/۵~8!' H0 K!'/R!' J0h!' PTP_CLK_REQ_EXTTSPTP_CLK_REQ_PEROUTPTP_CLK_REQ_PPSexttsperoutptp_clock_requestptp_extts_requestptp_perout_requestptp_clock_timeptp_pin_functionPTP_PF_NONEPTP_PF_EXTTSPTP_PF_PEROUTPTP_PF_PHYSYNCptp_clock_eventsPTP_CLOCK_ALARMPTP_CLOCK_EXTTSPTP_CLOCK_PPSPTP_CLOCK_PPSUSRptp_clockpps_sourcedialed_frequencytsevqtsevq_muxpincfg_muxtsev_wqdefunctpin_dev_attrpin_attrpin_attr_grouppin_attr_groupsaux_workmax_vclocksn_vclocksn_vclocks_muxis_virtual_clockhas_cyclesptp_clock_infomax_adjn_alarmn_ext_tsn_per_outn_pinsadjfineadjphasegetmaxphaseadjtimegettime64gettimex64getcrosststampsettime64getcycles64getcyclesx64getcrosscyclesdo_aux_workptp_pin_descpps_deviceassert_sequenceclear_sequenceassert_tuclear_tucurrent_modelast_evlookup_cookiepps_source_infopps_kparamsapi_versionassert_off_tuclear_off_tupps_ktimetimestamp_event_queueptp_extts_eventptp_vclockpclockvclock_hash_nodepps_timesptp_clock_eventpps_event_timets_realptp_sys_offset_preciseptp_clock_capscross_timestampingadjust_phasemax_phase_adjptp_sys_offset_extendedn_samplesptp_sys_offsetclock_name_showextts_enable_storeextts_fifo_showmax_adj_showmax_phase_adjustment_showmax_vclocks_showmax_vclocks_storen_alarm_shown_ext_ts_shown_per_out_shown_pins_shown_vclocks_shown_vclocks_storeperiod_storepps_enable_storepps_showptp_aux_kworkerptpptp_cancel_worker_syncptp_cleanup_pin_groupsptp_clock_adjtimeptp_clock_getresptp_clock_gettimeptp_clock_indexptp_clock_registerptp_clock_releaseptp_clock_settimeptp_clock_unregisterptp_find_pinptp_find_pin_unlockedptp_getcycles64ptp_ioctlptp_is_attribute_visibleptp_openptp_pin_showptp_pin_storeptp_pollptp_populate_pin_groupsrdflagsptp_readptp_schedule_workerptp_set_pinfuncscaled_ppmptp_vclock_adjfineptp_vclock_adjtimeptp_vclock_getcrosststampptp_vclock_gettimestsptp_vclock_gettimexptp_vclock_readptp_vclock_refreshptp_vclock_registerptp_vclock_settimevclockptp_vclock_unregisterunregister_vclock@` lxtX;S@mX#.@`(.y@.H>C@@. 8`?G3@. g??XBH@.2PC/F@0.F@H.6F^0`dLos@8.GOt@ȡ.P@(.P@.Q\@H(.!D,U?@px.#2@U@@.'U0w@V@r@(0.([l$l TXX0(F 0 *H 01 0  `He0  *H 1o0k0F0.1,0*U #Build time autogenerated kernel key*1dTV.k^0  `He0  *H 1̅1lSs}b"2#]ldrTٻgZBw"ZKhM+^5C b(swg30cjrCG[^_<{64jҜ3~wz4 s}`^[ )Ldɡ(M?c_ ^!f [s NtHG+?*!cyR.)X}=Iʤc4GY!g(B-ځvml Q3,p?B\B[U=k-hS@jI.L7WsޮWH61C_;|G1G>B[$gc  M6NM1̝Zӓ-p dPLoi6 560YnˉOpud#Ѡ|E>G*(ۋ`eq"8ٻ_uŹށ-[tib<<ֈ*O ;~Module signature appended~